I'm trying to debug a PHP application that is running from the command line. I want to use a cronjob later on to invoke the module every hour.
For debugging I execute the PHP script like this:
php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12 &
(forget about the „12“ - it's a parameter for the script)
Now basically I get this output via SSH:
[2] 10181
[1] Done php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12
I have no idea what I have changed but a few weeks ago I got the actual php errors directly on the screen. That's what I expect. But I don't know how to force PHP to output me the result directly.
When you use & at the end, command is started in background. You can see background processes by command jobs
. When you try it, you can see php process in 'stopped' state.
Problem is that php is waiting for input. It is caused by this php extension:
Run it this way:
php -c /etc/php5/apache2/php.ini /var/www/module/test/autostart/start.php 12 < /dev/null &
or disable that extension.