1
以下代码在运行“php test.php”(PHP 5)的Windows 7中从命令提示符执行时有效 - 输出只是“测试”。但是,当php(v5)运行在本地主机apache服务器(v2.2)上运行的浏览器时,它不起作用 - 即没有输出(同时使用直接回显,刷新和使用AJAX方法)。该过程已成功启动(使用proc_get_status进行验证)(意味着对我来说许可问题也可以)。似乎是与管道有关。有任何想法吗?是否有一件我错过的知名品?PHP proc_open管道异常(Win7/Apache2.2)
<?php
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
$process = proc_open("java Test", $descriptorspec, $pipes, null, null,array('bypass_shell'=>true));
fclose($pipes[0]);
echo stream_get_contents($pipes[1]);
fclose($pipes[1]);
proc_close($process);
?>
也许是这样。我刚刚在JSP中用等效的活动(在Apache Tomcat上)重新实现。它达到了最初的目标。谢谢。 – 2013-03-08 15:53:39