php – 如何调试exec()问题?
发布时间:2020-12-13 16:24:29 所属栏目:PHP教程 来源:网络整理
导读:exec命令在我的服务器上不起作用,它没有做任何事情,我已经关闭了safe_mode,并验证了所有的控制台命令是否正常工作,我已经尝试了绝对路径.我检查了应用程序的权限,我需要的所有应用程序都具有执行权限.我不知道还有什么要做,下面是我试过的代码的不足之处. ec
exec命令在我的服务器上不起作用,它没有做任何事情,我已经关闭了safe_mode,并验证了所有的控制台命令是否正常工作,我已经尝试了绝对路径.我检查了应用程序的权限,我需要的所有应用程序都具有执行权限.我不知道还有什么要做,下面是我试过的代码的不足之处.
echo exec('/usr/bin/whoami'); echo exec('whoami'); exec('whoami 2>&1',$output,$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); } exec('/usr/bin/whoami 2>&1',$return_val); if($return_val !== 0) { echo 'Error<br>'; print_r($output); } 最后两个代码显示: Error Array ( ) 我已经联系了服务器服务,他们不能帮助我,他们不知道为什么exec命令不工作.
看看/etc/php.ini,下面有:
; This directive allows you to disable certain functions for security reasons. ; It receives a comma-delimited list of function names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.disable-functions disable_functions = 确保exec不会像这样列出: disable_functions=exec 如果是这样,请将其删除并重新启动apache. 为了方便调试,我通常喜欢手动执行php文件(可以请求更多的错误,而不需要在主文件中设置).这样做添加标题: #!/usr/bin/php ini_set("display_errors",1); ini_set("track_errors",1); ini_set("html_errors",1); error_reporting(E_ALL); 到文件的开头,使用chmod x myscript.php给它权限并执行它./myscript.php.这是非常注意,特别是在一个繁忙的服务器上写了很多日志文件. 编辑 听起来像一个权限问题.创建一个bash脚本,做一些简单的回声“helo world”,并尝试运行它.确保您拥有该文件和包含该文件的文件夹的权限.你只需要做chmod 755进行测试. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |