Search code examples
phpajaxprototypejshttp-status-code-503fpm

session_start cause 503 error with php7.0-fpm


I have olds applications (PHP 5.3, Apache 2.2) that I must migrate to PHP7.0-FPM and Apache 2.4 (with Docker).

All applications seem to work except one. This application use Prototype 1.6.0.3 and when Ajax.Request is called, a 503 error is displayed (after the line this.transport.send(this.body);).

I really don't understand...

Here is PHP-FPM logs :

[29-Dec-2017 09:34:24] WARNING: [pool www] child 848 exited on signal 11 (SIGSEGV) after 372.307974 seconds from start [29-Dec-2017 09:34:24] NOTICE: [pool www] child 858 started

Here is Apache logs :

[Fri Dec 29 09:34:24.865850 2017] [proxy_fcgi:error] [pid 429:tid 139741154125568] [client 192.168.99.1:64899] AH01067: Failed to read FastCGI header, referer: http://test.doc/test/rubriques.php?logindata=4672d5ddafae848456b93bcb02da4df1 [Fri Dec 29 09:34:24.867796 2017] [proxy_fcgi:error] [pid 429:tid 139741154125568] (104)Connection reset by peer: [client 192.168.99.1:64899] AH01075: Error dispatching request to : , referer: http://test.doc/test/rubriques.php?logindata=4672d5ddafae848456b93bcb02da4df1

EDIT : I have the same rewrite rules as the production server.

In the JS file who calls Ajax.Request, the URL of request is /appli/myappli/ctrl/mymodule/IndexCtrl.php but, on the file system, the file is IndexCtrl.class.php, not IndexCtrl.php. I remember I set my ProxyPassMatch like this : ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/html/intranet" I think there is a mistake on my config, but I don't know where.

EDIT : I think session_start cause this error. Any idea?


Solution

  • It's OK ! The problem was due to a not set session variable and a @ prefix hiding the error... It's very ugly ! I saw this error thanks to session_error_handler