【问题标题】:VSCode: php-debug setupVSCode:php调试设置
【发布时间】:2016-09-21 09:29:57
【问题描述】:

按照here 的指示,我被困在最愚蠢的步骤中..

制作一个简单的test.php文件,放一个phpinfo();里面的声明, 然后复制输出并将其粘贴到 XDebug 安装向导中。

我已经创建了 test.php 文件(以 phpinfo(); 作为唯一的语句),但我无法运行它...

我做了什么:

我已经安装了 XAMPP,并在端口 8080 上启动了 Apache。http://localhost:8080/ 为我提供了 XAMPP 仪表板,所以我知道这没问题

我的 settings.json 中有 "php.validate.executablePath": "C:/xampp/php/php.exe"

我有一个tasks.json构建任务如下

{
 "version": "0.1.0",
 "command": "php",
 "args": [
  "-S", "127.0.0.1:8080",
  "-t", "${workspaceRoot}"
 ]
}

但是当我尝试运行它时,我得到一个错误

Failed to launch external program php -S 127.0.0.1:8080 -t ${workspaceRoot}.
spawn php ENOENT

我的整个方法(从网络上的各种指南中收集)是否存在某种错误,或者我错过了什么? (我是一名 20 多年的 MS 开发人员,但我对 php 的了解为零,如果这是一个非常愚蠢的问题,请见谅)

【问题讨论】:

    标签: php xampp visual-studio-code


    【解决方案1】:

    好的,所以我设法解决了,至少显示 test.php 文件。

    按照here 的说明进行操作,但我发现拥有多个可以工作的站点的唯一方法是使用单独的端口。于是我加了C:\xampp\apache\conf\extra\httpd-vhosts.conf

    <VirtualHost *:8080>
        DocumentRoot "C:/xampp/htdocs/"
        ServerName localhost:8080
    </VirtualHost>
    
    
    <VirtualHost *:8081>
        DocumentRoot "C:/mydir/myrootfolder/"
        ServerName localhost:8081
    </VirtualHost>
    

    我添加到C:\xampp\apache\conf\httpd.conf

    <Directory />
        AllowOverride none
        Require all granted
    </Directory>
    

    Listen 8080
    Listen 8081
    

    我的test.php 文件修改为:

    <?php
      phpinfo();
    ?>
    

    然后我可以导航到http://localhost:8081/test.php 并查看输出!

    我希望这对其他人有所帮助,至少在流程的这个阶段是这样。如果在实际设置 php-debugx-debug 本身中有任何额外内容,我会更新。

    【讨论】:

      【解决方案2】:

      在控制台php -iphp -i &gt; phpinfo.txt 中运行。 将内容输出或内容phpinfo.txt复制到Xdebug Wizard

      从此页面下载 .dll 文件。并遵照指示。 添加到php.ini,例如

      [XDebug]
      zend_extension = C:\xampp\php\ext\php_xdebug-2.4.1-5.6-vc11.dll
      xdebug.remote_enable=1
      xdebug.remote_host=127.0.0.1
      xdebug.remote_port=9000
      xdebug.remote_autostart=on
      xdebug.remote_handler=dbgp
      xdebug.profiler_enable=1
      xdebug.profiler_output_dir="C:\xampp\tmp"
      xdebug.remote_log ="C:\xampp\tmp\xdebug.log"
      

      重新启动您的 Apache 服务器。在 phpinfo() 的浏览器中,您会看到带有 Xdebug 设置的部分。 否则你有什么问题。 在 gebug 面板中的 Visual Studio 代码中,按下齿轮图标并选择 php

      创建launch.json。 在 gebug 面板中选择了Listen for Xdebug。运行调试。

      在应用程序中标记断点。在浏览器中导航并重新加载应用程序。

      mysite.local/test.php 的设置

      创建文件夹“c:/[path-to-xampp]/htdocs/mysite.local” 在此文件夹中创建文件test.php

      <?php
        phpinfo();
      ?>
      

      创建新的虚拟主机

      <VirtualHost *:80>
      ServerName mysite.local
      DocumentRoot "c:/[path-to-xampp]/htdocs/mysite.local"
      <Directory />
         Options Indexes FollowSymLinks Includes ExecCGI
         AllowOverride All
         Require all granted
         Allow from all
      </Directory>
      </VirtualHost>
      

      在文件C:/windows/system32/drivers/etc/hosts 中添加

      127.0.0.1 mysite.local
      

      重启你的 apache 服务器。 在浏览器中导航您的应用:http://mysite.local

      【讨论】:

      • 我稍后会添加这个 - 因为我已经完成了这个过程(不成功) - 但是,只是为了确保我提供正确的信息......如果我遵循你的虚拟主机/主机说明,从浏览器访问网站的网址应该是什么?
      猜你喜欢
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-17
      • 2019-03-22
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多