【发布时间】:2012-07-13 13:45:22
【问题描述】:
当我尝试使用 shell_exec() 执行 PHP 脚本时,它不起作用。
在error_log文件中显示:
PHP 警告:shell_exec() [function.shell-exec]:无法执行 'php /home/snabbsam/public_html/.....
系统
Centos
shell_exec 适用于 clamscanshell_exec() 适用于 clamav 的 clamscan() 函数。
但它没有执行 PHP 脚本
我检查过的内容:
- PHP
safe_mode已关闭 -
shell_exec()在 php.ini 中的disable_functions中不存在 - 尝试按照https://stackoverflow.com/a/8668666/402089 中的建议授予文件和父文件夹的可执行权限
【问题讨论】:
-
您是否尝试过为 php 可执行文件添加完整路径?我怀疑它会有所作为,但它肯定不会受到伤害。
-
最初我使用 $seoutput = shell_exec('php /home/...');根据您的建议,我使用了 $seoutput = shell_exec('/usr/local/lib/php /home/s..');现在 error_log 中没有条目,$seoutput 为空白且没有输出。目标脚本也没有被执行
-
不,我的意思是添加可以找到
php的路径。 -
你需要找到 php 可执行文件,而不是配置文件
-
嗯。你会认为 PHP 会知道它自己的可执行文件在哪里。在我今天喝第二杯咖啡之前,文件权限和环境变量的奥秘显然对我来说太复杂了。
标签: php shell-exec