我需要一些帮助,以便使用特定的开发配置来配置PhpStorm调试器。 在我的PC(192.168.1.23)上,我有一个PHP项目的源代码,一个dbms和一个nginx实例作为反向代理。配置Nginx以便将所有流量发送到Docker容器:
server {
listen 80;
listen [::]:80;
server_name www.mysite.local;
root /usr/share/nginx/html/;
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location / {
index index.html index.php;
}
}
upstream backend {
# configuration in order to use apache inside docker container
server 172.17.0.2:80;
}
docker容器(172.17.0.2)已创建为:
docker run -dP --add-host=db.local:172.17.0.1 \
-e remote_connect_back_xdbg=1 \
-e remote_host_xdbg='192.168.1.23' \
-v /opt/live:/opt/live \
--name local_php_apache_container local_php_apache_image
因此Docker将我的项目(位于/ opt / live)安装在容器的/ opt / live内。容器是带有PHP 5.3 + Apache2的Debian 9。 并使用以下命令在计算机启动时自动启动:
docker exec -it local_php_apache_container /bin/bash
在docker容器中,php.ini中的xdebug配置为:
[xdebug]
xdebug.remote_connect_back=${remote_connect_back_xdbg}
xdebug.remote_enable=1
xdebug.remote_port=10123
xdebug.remote_handler=dbgp
xdebug.remote_log=/stackdriver/log/xdebug.log
xdebug.remote_mode=req
xdebug.remote_autostart=1
xdebug.remote_host=${remote_host_xdbg}
xdebug.idekey="netbeans-xdebug"
idkey是netbeans-xdebug,因为使用netbeans,调试器可以正常工作(https://www.mysite.local/index.php?XDEBUG_SESSION_START=netbeans-xdebug,带有本地不受信任证书的https)
但是我在PHPStorm和PHP解释器的位置上都有很多问题,无论是PHP内置Web服务器还是PHP远程调试配置... 有什么建议吗?