session_start 使用 php7.0-fpm 导致 503 错误

session_start cause 503 error with php7.0-fpm

我有旧的应用程序(PHP 5.3,Apache 2.2)我必须迁移到 PHP7.0-FPMApache 2.4(Docker)。

所有应用程序似乎都可以工作,只有一个除外。此应用程序使用 Prototype 1.6.0.3,当调用 Ajax.Request 时,会显示 503 error(在 this.transport.send(this.body); 行之后)。

我真的不懂...

这里是 PHP-FPM 日志:

[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

这是 Apache 日志:

[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

编辑:我有与生产服务器相同的rewrite rules

在调用Ajax.Request的JS文件中,请求的URL是/appli/myappli/ctrl/mymodule/IndexCtrl.php,但是在文件系统上,文件是IndexCtrl.class.php,不是IndexCtrl.php。 我记得我是这样设置 ProxyPassMatch 的:ProxyPassMatch "^/(.*\.php(/.*)?)$" "unix:/run/php/php7.0-fpm.sock|fcgi://localhost/var/www/html/intranet" 我认为我的配置有错误,但我不知道在哪里。

编辑:我认为 session_start 导致了这个错误。有什么想法吗?

没关系!问题是由于未设置会话变量和隐藏错误的 @ 前缀......非常难看!由于 session_error_handler

,我看到了这个错误