解决lnmp配置xdebug后总是502 Bad Gateway问题


以前本地开发环境总是使用phpstudy,确实很方便,但是,在macos中始终没有找到一款合适的开发环境,有傻瓜式的mamp但是无奈囊中羞涩。一开始还打算使用laradock搭建开发环境,但是php最低只能用5.6,无奈公司里还有些项目最高只能在5.3上跑。而且不能同时运行多个php版本。思来想去还是在虚拟机中运行lnmp是最完美的方案。经过一些测试后发现lnmp可以无缝运行xdebug(lnmp多版本php共存配置及xdebug安装配置)

在使用一段时间后发现在调试过程中如果停留时间稍长,xdebug过程就会终端同事浏览器中就会显示502 bad gateway错误。非常困惑,在使用phpstudy调试的时候没有遇到这种问题。而且调试过程时间长也是不可避免的,观察变量值的变化的时候,总会不经意的延长时间。一开始以为是xdebug的配置原因,观察了xdebug的所有参数发现并没有对上号的。突然想到有可能是nginx或php-fpm的配置问题。经过一番观察终于找到解决办法。

修改nginx.conf以下四项:

keepalive_timeout 3600;

fastcgi_connect_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_read_timeout 3600;

修改php.ini:
max_execution_time = 3600

修改php-fpm.conf:
request_terminate_timeout = 3600

然后就可以愉快的debug世界上最好语言了。

Archives