问题复杂了还是需要一个强大的调试工具。
安装 PHP 插件
点击菜单 File > Setting… 打开全局设置。
进入插件页面(Plugins),点击 Install JetBrains plugin… 按钮。
在出现的窗口里搜索php
关键词,安装 PHP、PHP Remote Interpretor 和 WordPress Surpport 插件。下载插件可能要使用代理,点击 HTTP Proxy Settings… 按钮设置代理。
新建 PHP 项目
点击菜单 File > New Project… ,在 New Project 窗口中选择 PHP > New Empty Project,然后点击 Next 按钮。
填写项目的名称,选择 PHP 的版本。
在项目的右键菜单里选择 New > PHP File,新建一个 index.php 文件。
index.php 文件内容如下:
<html>
<head>
<title>debug php</title>
</head>
<body>
<p>3+5=</p>
<?php
$a = 1;
$b = 2;
echo $a + $b;
?>
</body>
</html>
配置运行与调试环境
添加 PHP Web Application 运行调试信息。
填空 Name,点击 Server 后面的“…”按钮。
验证远程环境
下载 Chrome 下的 JetBrains IDE Support 插件
如果在Chrome 浏览器里调试,就要在 Chrome 浏览器里搜索并安装 JetBrains IDE Support 插件。
查看谁占用了 9000 端口
PHP 调试要使用 9000 端口,如果被占用可使用一下命令查看被那个进程占用:
C:\Users\Administrator>netstat -aon|findstr 9000
TCP 0.0.0.0:9000 0.0.0.0:0 LISTENING 6796
TCP 127.0.0.1:9000 127.0.0.1:39940 CLOSE_WAIT 6796
TCP 127.0.0.1:9000 127.0.0.1:43671 CLOSE_WAIT 6796
其中 6796 就是进程 ID。
502 Bad Gateway
PHP 调试配置
[Xdebug]
zend_extension=php_xdebug.dll
xdebug.auto_trace=0
xdebug.collect_params=0
xdebug.collect_return=0
xdebug.trace_output_dir = "F:\upupw\xdebug\trace"
xdebug.profiler_enable=0
xdebug.profiler_output_dir = "F:\upupw\xdebug\profiler"
xdebug.max_nesting_level=100
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
特别注意 xdebug.remote_enable 要设置为 1 。