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?
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