proc_open()路径问题

时间:2010-01-25 04:35:13

标签: php

我正在使用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/');

它仍然显示我同样的错误。

我不知道为什么它总是在命令面前附加斜线。

有什么帮助吗?

谢谢!

2 个答案:

答案 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!');
}