PHP脚本不会在后台运行

Ric*_*h06 4 php macos command-line-interface

我试图在后台运行一个php CLI脚本,它只是不会运行 - 它的状态为Stopped SIGTOU(试图写输出) - 这是详细信息

  • Mac OS X Lion 10.7.2
  • PHP 5.3.6与Suhosin-Patch(cli)(内置:2011年9月8日19:34:00)

我创建了一个基本脚本test.php

<?php echo 'Hello world'.PHP_EOL; ?>
Run Code Online (Sandbox Code Playgroud)

以下是各种测试的结果: -

  • php -f test.php (Hello world显示)
  • php -f test.php >test.log 2>&1 (Hello world进入test.log)
  • php -f test.php >test.log 2>&1 &---我得到了[1]+ Stopped(SIGTTOU) php -f test.php > test.log 2>&1- 而且工作只是坐在那里什么都不做,但是lsof显示日志文件是打开的

这与PHP有关吗?类似的shell脚本在后台执行没有问题.

Mat*_*haw 6

如果在构建php时启用了readline,只需传递/ dev/null作为输入.

在上面的示例中,它将是:

php -f test.php </dev/null >test.log 2>&1
Run Code Online (Sandbox Code Playgroud)