I have a problem setting up a supervisor to run a php script. Running the supervisor in debug mode gives me the following:
2015-03-09 08:53:06,342 INFO supervisord started with pid 2030 2015-03-09 08:53:06,358 INFO spawned: 'worker1' with pid 2031 2015-03-09 08:53:06,423 INFO exited: worker1 (exit status 1; not expected) 2015-03-09 08:53:06,424 INFO received SIGCLD indicating a child quit 2015-03-09 08:53:07,440 INFO spawned: 'worker1' with pid 2032 2015-03-09 08:53:07,587 INFO exited: worker1 (exit status 1; not expected) 2015-03-09 08:53:07,589 INFO received SIGCLD indicating a child quit 2015-03-09 08:53:09,604 INFO spawned: 'worker1' with pid 2033 2015-03-09 08:53:09,756 INFO exited: worker1 (exit status 1; not expected) 2015-03-09 08:53:09,758 INFO received SIGCLD indicating a child quit 2015-03-09 08:53:12,775 INFO spawned: 'worker1' with pid 2034 2015-03-09 08:53:12,973 INFO exited: worker1 (exit status 1; not expected) 2015-03-09 08:53:12,974 INFO received SIGCLD indicating a child quit 2015-03-09 08:53:13,976 INFO gave up: worker1 entered FATAL state, too many start retries too quickly
Supervisor Configuration:
[program:worker1] command=php myScript.php directory=/home/path/to/script/ user=root autostart=true autorestart=true stderr_logfile=/var/log/worker1.err.log stdout_logfile=/var/log/worker1.out.log redirect_stderr=true environment=PATH="/usr/bin"
For this test, myScript.php just print echo "test".PHP_EOL;
Logs do not report errors from php, and if I run thru cli script, it works as expected. The supervisor log just reports the same output as debuggin.
I also tried using absolute paths like /usr/bin/php /home/path/to/script/myScript.php but nothing changes.
File permissions for myScript.php are set to -rwxrwxr-x 1 root apache
I donβt really know what else I could check. Thanks for the support!
UPDATE_1
I also tried to control another program like / bin / cat, or bash script and it works like a charm. The problem is apparently limited to php.
UPDATE_2
As NB in ββthe comments, I modified the test script to look more like a long run:
while(true){ echo "test".PHP_EOL; sleep(10); }
As before, it enters the FATAL state.