【问题标题】:Spawn a process with php doesn't work使用 php 生成进程不起作用
【发布时间】:2010-07-19 18:45:15
【问题描述】:

我尝试使用 php 启动后台进程,为此,我在 exec 函数的底部添加了一个 &,但几天后它停止工作。

基本上

如果我有文件 1.php:

<?php var_dump(exec('/home/2.php > /home/2.output 2>&1 &'));

文件 2.php 包含:

<?php sleep(5); echo "Fill\n";

运行文件 1.php,它返回一个空字符串,不是 -1 或其他东西,但使用控制台并调用 1.php 可以正常工作:

php-cgi -eq -f /home/1.php

我正在使用 ubuntu 9.04 和 2.6.18-164.10.1.el5.028stab067.4

【问题讨论】:

    标签: php exec fork spawn ubuntu-9.04


    【解决方案1】:

    好吧,经过一场噩梦试图解决问题,最后我将 ubuntu 从 9 更新到 10,这解决了问题,我认为一些 linux 的更新会破坏 php,如果它再次发生,我可能会开始重新启动副总裁。

    【讨论】:

      【解决方案2】:

      检查/var/log/kern.log 以获取“审核”级别的错误消息。由于某种原因,该 exec 可能被禁止。

      也很有可能禁止写入 /home。尝试写入 /tmp 吗?

      【讨论】:

      • 谢谢查尔斯,事实是我对这种情况有点迷茫。内核日志为空,服务器也出错。使用临时目录没有任何变化,从服务器工作的唯一方法是不启动子进程。 /home/2.output 2>&1');我不知道在哪里可以检查调试。
      猜你喜欢
      • 2022-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-20
      • 1970-01-01
      相关资源
      最近更新 更多