我正在使用linux和php 5.2.12
我遇到执行proc_open
的问题如果我使用
proc_open('php script.php', $descriptorspec, $pipes);
它会显示错误
sh: /php: No such file or directory
如果我使用
proc_open('/usr/bin/php script.php', $descriptorspec, $pipes);
或
proc_open('php script.php', $descriptorspec, $pipes, '/usr/bin/');
它仍然显示我同样的错误。
我不知道为什么它总是在命令面前附加斜线。
有什么帮助吗?
谢谢!
答案 0 :(得分:2)
如果您不想完全关闭安全模式,只需在php.ini文件中设置
即可safe_mode_exec_dir = "/usr/bin"
答案 1 :(得分:1)
尝试做:
$php = trim(shell_exec('type -P php'));
if (empty($php) !== true)
{
proc_open($php . ' /path/to/your/script.php', $descriptorspec, $pipes);
}
else
{
die('Install php-cli!');
}