WebStorm和PHPStorm同时调试php和js

时间:2013-08-22 15:41:15

标签: php javascript jquery phpstorm webstorm

想象一下,我有一个test.html文件,其中包含一个调用test.php文件的jQuery行,如下例所示:

<html>
    <head>
        <title>Debug test</title>
        <script src="jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready( function()
            {
                jQuery('#testdiv').load('test.php' );
            });
        </script>
    </head>

    <body>
        <div id="testdiv">
        </div>
    </body>
</html>

现在假设php文件test.php返回如下例所示的结果:

<?php
test();

function test()
{
    echo "Ok called me!";
}
?>

这两个文件当然在Apache等服务器下运行。

我想要完成的工作将类似于NetBeans Java EE调试:在test.php fun()函数中放置调试断点,在test.html中的jquery调用中放置一个调试断点,然后调用localhost / test.html并看到jquery调用中的第一个断点被击中,然后test.php中的第二个断点被击中。

如何使用jetBrains Intellidea WebStorm和PHPStorm获取(如果可能)? 谢谢

1 个答案:

答案 0 :(得分:2)

<强>解决方案

正如LazyOne建议我应该在PhpStorm中使用“零配置”选项,在jetbrains/...完成说明

以下是步骤说明:

  1. 安装Xdebug(sudo apt-get install php5-xdebug)
  2. 在/etc/php5/apache2/php.ini中添加以下行:

      

    [Xdebug的]
      的zend_extension = / usr / lib中/ PHP5 / 20100525 + LFS / xdebug.so
          xdebug.remote_enable = 1
          xdebug.remote_host =本地主机
          xdebug.remote_port = 9000

  3. 重启apache:“service apache2 restart”

  4. 检查Xdebug已启用“php --version”应显示“with xDebug vx.x”
  5. 切换“监听调试器连接”按钮。listen debug connections,这将侦听test.php脚本的传入连接
  6. 在test.php源代码中设置断点
  7. 激活xdebug调试器,为此我们需要设置一个特殊的GET / POST或COOKIE参数。您可以手动执行此操作,但使用特殊的在线工具bookmerklets generator

    会更方便

    enter image description here

  8. 打开localhost / test.php,您将看到在test.php行开始调试的请求。