我已经设置了 Xdebug。它有效。我可以调试代码。但是我在调试外部 php 代码时遇到了一个问题,它确实达到了我设置的断点。
这里有更多细节。
从表单的操作调用外部代码。
<form name="htmlform" method="post" action="contact_form_send.php">
我在contact_form_send.php中有一些代码,例如以下
<?php
if(isset($_POST['email'])) {
$email_to = "xxx@xxx.com";
$email_subject = "test";
我在第一行设置断点。它从未击中它。但是,如果我将代码嵌入到与表单相同的文件中。我可以设置断点,单步执行代码。我知道 xdebug 正在工作,因为我看到状态栏说
我是 netbeans 和 php 的新手。如何调试外部 php 代码?
谢谢你的帮助。
这是我的 Xdebug 配置。
[X调试]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
xdebug.profiler_output_dir = "C:\xampp\tmp"
xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.trace_output_dir = "C:\xampp\tmp"
xdebug.remote_port = 9080
更新: 刚刚让它工作。我正在调试的索引文件是 htm 文件而不是 php.ini 文件。它在操作中调用了外部 php 文件。XDebug因此无法连接到服务器,卡在“等待连接”。我将索引文件的扩展名更改为 php。现在一切正常。但是我不知道这是否有意义。php 代码确实从 htm 文件中调用并运行。为什么我必须将索引文件的扩展名更改为php才能调试外部代码?我错过了配置中的某些内容吗?
谢谢。