我的服务器中的shell_exec选项有问题。我正在运行带有CPanel和PHP的CentOS 5.7。
在我们的编码中,我们使用shell_exec将参数传递给php文件。我们的示例代码如下所示。我们从phpfile(后台进程)
调用它vi test.php
<?php
shell_exec("php -f /home/nikesh/public_html/createtestfile.php 666 >/dev/null &");
?>
其中666是传递给php文件的参数..
这在我们的测试服务器和实时服务器中工作正常,但它无法正常工作。
此外,当我使用Linux终端执行此操作时,它正常工作并且正在生成输出。
即:php -f test.php - 工作正常。
但是当我尝试通过浏览器运行同一个文件时它无法运行..
http://example.com/test.php
我的日志文件中没有错误消息,我设置的权限是正确的。
如果有人在遇到同样的问题,请告诉我。请帮我解决这个问题。
谢谢,
尼科什
我已获得该文件夹的完全权限,但该文件夹无效。我们的服务器禁用安全模式。
基本的Shell_exec函数在我的服务器上运行。但是当我们给php文件提供参数时,它无法通过浏览器工作。但是从Linux终端开始工作并生成输出。
它与文件夹权限无关,该文件夹具有写入权限。但有些如何通过浏览器无法正常工作。如果有什么需要启用,请告诉我..?或需要更改任何服务器/ PHP设置?
答案 0 :(得分:0)
您的网络服务器的php.ini可能已启用安全模式,或者在disabled_functions ini设置中启用此功能。
运行
<?php
phpinfo();
?>
从页面到您的网络服务器检查这些变量(假设未被禁用)
答案 1 :(得分:0)
使用chmod -R 777
尝试那样
<?php
shell_exec("php -f /home/nikesh/public_html/createtestfile.php 666 >/dev/null 2>&1");
?>