【问题标题】:Mysterious Eclipse behavior with php xdebugphp xdebug 的神秘 Eclipse 行为
【发布时间】:2012-11-24 14:23:11
【问题描述】:

昨天,我遇到了一些 xdebug 问题,这个网站上的人们非常慷慨地帮助我解决了问题。一切正常,但突然间,它无缘无故停止工作。

我所拥有的是运行 Zend PHP 调试器的 Eclipse。我正在阅读 David Powers 的书:PHP 解决方案,并使用他的在线代码,所以我没有做任何异国情调的事情。当我尝试运行我的 PHP 网页时,我收到一条消息:“调试器错误”“找不到指定的脚本”。这告诉我调试器找不到 PHP.exe 程序(对吗?)。知道这一点后,我转到 Run Configurations 对话框,我注意到 PHP Executable 表单框已从 XDebug Defaut(它工作时的样子)更改为 xdebug (C:\xampp\php\php.exe) .

我没有改变它。我只是在编辑一个文件以进行更改,这本书在更改时建议进行更改,并且该死的东西停止了工作。我不太确定如何将 PHP 可执行首选项更改回工作值或防止这种情况再次发生。

【问题讨论】:

  • 更多信息:当它不工作并且我转到运行配置页面时,我看到一个带有 x 的红球和消息“PHP 文件不存在”。但是,如果我转到 PHP 可执行文件指向的位置(见上文),我可以看到 php.exe 文件在那里。
  • 我有一个解决办法。我只是简单地创建了一个新的工作空间,将源文件复制到新的工作空间并创建了一个新的运行配置。工作正常。我想知道我可能如何破坏了我的旧工作区????
  • 更多有趣的事实。当我添加以下代码 sn-p 时,问题又回来了:
     

标签: php eclipse xdebug


【解决方案1】:

好的。我有一个修复。这很奇怪,但它确实有效。首先是我在上面遗漏的一些背景(在我完全理解问题之前写的):

问题再次出现,实际上我认为它是在我将以下代码 sn-p 添加到错误位置后第一次发生的:

            <pre>
            <?php if($_POST) {print_r($_POST);?>
            </pre>  

这已添加到以下代码(由 David Powers 从 PHP Solutions 复制)到

之前的位置
        </from> 

标记而不是在它之后:

    <?php include('./includes/title.inc.php'); ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset=utf-8">
    <title>Japan Journey<?php echo "&#8212;{$title}"; ?></title>
    <link href="styles/journey.css" rel="stylesheet" type="text/css" media="screen">
    </head>

    <body>
    <div id="header">
    <h1>Japan Journey</h1>
    </div>
    <div id="wrapper">
    <?php include('./includes/menu.inc.php'); ?>
    <div id="maincontent">
    <h2>Contact Us </h2>
     <p>Ut enim ad minim veniam, quis nostrud exercitation consectetur adipisicing
      elit.       Velit esse cillum dolore ullamco laboris nisi in reprehenderit in 
      voluptate. Mollit anim id est laborum. Sunt in culpa duis aute irure dolor   
      excepteur sint occaecat.</p>
      <form id="feedback" method="post" action="">
        <p>
            <label for="name">Name:</label>
            <input name="name" id="name" type="text" class="formbox">
        </p>
        <p>
            <label for="email">Email:</label>
            <input name="email" id="email" type="text" class="formbox">
        </p>
        <p>
            <label for="comments">Comments:</label>
            <textarea name="comments" id="comments" cols="60" rows="8"></textarea>
        </p>
        <p>
            <input name="send" id="send" type="submit" value="Send message">

    </form> 

    </body>
    </html>

这导致运行配置从 PHP 网页更改为 PHP 脚本。椭圆然后找不到虚构的脚本。

这个问题的解决方法如下:

1) 修复代码 2)进入运行->运行配置 3)删除PHP Script下的虚假配置,重新选择正确的配置。 4)打开或关闭自动生成,然后按应用,然后再次执行以将其恢复为原始配置。

问题应该会消失。

【讨论】:

    【解决方案2】:

    时间到了 :)

    我也遇到了关于“找不到脚本”的错误。就我而言,我只是打开了一个单独的 PHP 文件,尝试调试它并收到此错误消息。通过为此文件创建工作区(项目)来管理摆脱它。创建工作区后,它会定义项目的 URL 和该项目中文件的相对路径。

    固定。

    【讨论】: