PHP:语法错误,意外'&'在第107行的/etc/php5/cli/php.ini中

时间:2013-02-12 05:52:54

标签: php

我试图在我的php脚本中使用proc_open()来调用并执行另一个php脚本。以下是代码:

$descriptors = array(
 0 => array("pipe","r"),
 1 => array("pipe","w"),
 2 => array("file","./error_log.txt","a")
) ;
$cwd="./";
$process=proc_open('php reversegame.php &', $descriptors,$pipes,$cwd); 
if (is_resource($process)) {
  $return_value = proc_close($process);
}

这会在error_log.txt

中写入以下错误
  

PHP:语法错误,意外'&'在第107行的/etc/php5/cli/php.ini中

我是proc_open的新手,并且仍然试图掌握这个函数的用法。我实际上是在运行另一个脚本的同时尝试同时执行这个PHP脚本!

4 个答案:

答案 0 :(得分:1)

从此行中删除&

$process=proc_open('php reversegame.php ', $descriptors,$pipes,$cwd); 

答案 1 :(得分:0)

您可能已停用proc_open

搜索disable_functions,您会看到disable_functions = show_source,system,shell_exec,passthru,exec,phpinfo,proc_open

现在将其更改为disable_functions =

然后重启所有服务并尝试。

答案 2 :(得分:0)

我也遇到了这个错误。但是这个错误不应该阻止你的脚本工作。此错误是由于使用& INI文件中的运算符(如使用error_reporting E_ALL& ~E_NOTICE)。

答案 3 :(得分:0)

您需要使用pcntl_fork()

查看分叉过程

我不知道这是否会让你将其他脚本放在后台,但你应该能够分叉当前线程,然后在新的分叉线程仍在运行的情况下结束当前线程。