我使用最新版本的PHP (7.0.2)
和xdebug (2.4.0RC3)
与phpstorm 9.0.2
,当我开始debugging,我立即得到
error "502 Bad Gateway"
有时我设法通过几行代码,但是无论如何我得到了错误。
当我有以前的版本的PHP (5.6)
和xdebug
一切都很好。
PS的PHP,Nginx和XDEBUG与自制软件一起安装。
你可以试试这个:打开你的php.ini,对不起,我不知道它放在MacOS上,在Ubuntu上
/etc/php/7.0/fpm/php.ini
用你最喜欢的文本编辑器打开它,具有所需的权限来保存配置文件。 转到xdebug部分,并检查您是否正确设置它。 在我的情况下,它看起来像下面。 请注意,在您的情况下,xdebug.so的路径可能会有所不同。
[Xdebug] zend_extension="/usr/lib/php/20151012/xdebug.so" xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.profiler_enable=1 xdebug.profiler_output_dir="\tmp" xdebug.idekey="PHPSTORM" xdebug.remote_autostart=1 xdebug.remote_host=192.168.10.10 xdebug.remote_mode=req xdebug.remote_connect_back=1 xdebug.max_nesting_level=200 xdebug.var_display_max_depth=1000 xdebug.var_display_max_children=256 xdebug.var_display_max_data=4096 ;this line below to prevent debug stop timeout request_terminate_timeout=600s
另一件事在php.ini检查是
max_execution_time = 600
我已经在上面设置了秒,以防止默认停止调试会话,它被设置为30秒
接下来你需要检查的是nginx配置,我已经添加到主要的nginx.conf http段这些行
http { proxy_connect_timeout 600s; proxy_send_timeout 600s; fastcgi_read_timeout 600s; proxy_read_timeout 600s; fastcgi_buffers 8 16k; fastcgi_send_timeout 600s; fastcgi_buffer_size 32k; #other standard settings below...
我已经添加了它们给我更多的时间来调试会话,所以它不会在600秒内停止。
全部编辑完毕。 重新启动php7.0-fpm和nginx。 我不确定在Ubuntu的MacOS中它是如何完成的:
sudo service php7.0-fpm reload sudo service php7.0-fpm restart sudo service nginx reload sudo service nginx restart
也许是重新装满,然后重新启动,但被保险:)
另外看看你的nginx的error.log文件在Ubuntu中,它们被放置在/ var / logs / nginx /有error.yourdomain.log转到最后一行,看看发生了什么。 希望它会有所帮助。