如何用Caddy和PHP-FPM配置Xdebug和PhpStorm

问题描述:

我有Xdebug作为安装在OSX上的PHP5.6的一部分与Homebrew一起运行。我可以运行PHP-FPM并为我的网站提供服务,但是使用X-debug进行调试似乎不起作用。如何用Caddy和PHP-FPM配置Xdebug和PhpStorm

这里是我的EXT-xdebug.ini

[xdebug] 
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so" 
xdebug.remote_enable = On 
xdebug.remote_port="9000" 
xdebug.profiler_enable=1 
xdebug.profiler_output_dir="/tmp" 
xdebug.idekey=PHPSTORM 
+1

最低限度更改xdebug端口不是'9000',因为php-fpm默认使用它。例如使用'9001'(需要在php.ini以及PhpStorm设置中更改):http://stackoverflow.com/a/33816324/783119; http://stackoverflow.com/a/38644688/783119 – LazyOne

PHP-FPM通常在端口9000 运行这也是XDebug的默认端口。

调整在PHP-FPM你的XDebug设置为使用端口9001 如果使用BREW安装,他们在这里找到:

/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini 

以下内容添加到您的分机,xdebug.ini

[xdebug] 
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so" 
xdebug.remote_enable=On 
xdebug.remote_connect_back=On 
xdebug.remote_port=9001 

Docs for those xdebug settings.

调整phpStorm使用端口9001进行调试。 它在首选项 - >语言&框架 - > php调试中找到。

只是为了完整性,这里是我的Caddyfile

:80 
log ./caddy.log 

root ./html 

fastcgi/127.0.0.1:9000 php { 
env WHEREAMI dev 
} 

rewrite { 
    if {path} not_match ^\/wp-admin 
    to {path} {path}/ /index.php?_url={uri} 
} 

重启球童,PHP-FPM和phpstorm和你应该是好干什么去了。