如何PHP在VS代码中调试单个网站

时间:2017-12-04 16:12:22

标签: php visual-studio-code xdebug

设置;

  1. Windows操作系统(好吧,我必须)
  2. WAMP as server
  3. IDE的VS代码
  4. 浏览器Google Chrome
  5. 一切正常,除了......如果我正在调试我的网站,我将标签(在Chrome中)翻转到我的phpMyAdmin来检查数据库值,VS Code / Xdebug将开始调试phpMyAdmin(同样处理其他“localhost”网站)

    此时,一切似乎只是锁定并退出工作。我理解这是因为xdebug正在“其他”网站上捕获警告/错误等。单击“调用堆栈”并单击“继续”按钮并不总是(很少)保持移动。

    如何设置vs code / xdebug以仅监控单个网站?

    我的主要网络应用程序[{1}}在[本地]提供 我的phpMyAdmin是http://reqapp.dev
    和其他网站位于http://wamp/phpmyadmin/

    我从来没有在Aptana Studio中做同样的事情(实际上是相同的开发环境),但它会“启动”网站进行调试,我认为它使用了一个特殊的端口。我不知道如何使用VS Code复制它。

    编辑:
    大多数站点都被定义为虚拟主机

    httpd-vhosts.conf

    http://localhost/path/to/website/

    和php.ini

    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot c:/Users/chadmeyers/Sites
        <Directory  "c:/Users/chadmeyers/Sites">
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName wamp
        DocumentRoot "c:/wamp64/www"
        <Directory  "c:/wamp64/www/">
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName reqApp.dev
        DocumentRoot "c:/users/chadmeyers/sites/aaappdev/public_html"
        <Directory  "c:/users/chadmeyers/sites/aaappdev/public_html/">
            Options +Indexes +Includes +FollowSymLinks +MultiViews
            AllowOverride All
            Require local
        </Directory>
    </VirtualHost>
    

    在VS Code PHP Debug中我有这些设置,但是我使用的“配置文件”没有区别

    [xdebug]
    zend_extension ="c:\wamp64\bin\php\php7.0.10\ext\php_xdebug-2.5.5-7.0-vc14-x86_64.dll"
    
    xdebug.remote_enable = On
    xdebug.remote_autostart = On
    xdebug.profiler_enable = On
    xdebug.profiler_enable_trigger = On
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir ="c:/wamp64/tmp"
    xdebug.show_local_vars=0
    xdebug.var_display_max_depth = 5
    xdebug.var_display_max_children = 256
    xdebug.var_display_max_data = 1024 
    

1 个答案:

答案 0 :(得分:1)

基于xdebug.remote_autostart的一些提示我做了一些搜索并遇到this article,这让我更了解。我关闭了xdebug.remote_autostart正如所建议的,the Chrome Xdebug helper也是一个很大的帮助,可以自动启动调试会话。

现在,如果我想启动Xdebug,我只需将XDEBUG_SESSION_START和随机字符串附加到我的网址即可,或使用扩展程序。

我还有很多东西可以让这项工作变得更好,但现在这样做会很好。

相关问题