xampp — VSCode: настройка php-отладки

Следуя инструкциям Вот, и я застрял на самых глупых шагах ..

создайте простой файл test.php, поместите phpinfo (); заявление там,
затем скопируйте вывод и вставьте его в мастер установки XDebug.

Я создал файл test.php (с phpinfo(); как единственное утверждение), но я не могу запустить его …

Что я сделал:

Я установил XAMPP и запустил Apache на порт 8080. http://localhost:8080/ дает мне панель управления XAMPP, так что я знаю, что все в порядке

я имею "php.validate.executablePath": "C:/xampp/php/php.exe" в моем settings.json

У меня есть задача task.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

Является ли весь мой подход (взятый из различных руководств в Интернете) каким-то образом неправильным или я что-то упустил? (Я разработчик MS с 20-летним стажем, но я ничего не знаю о php, поэтому извините, если это действительно глупый вопрос)

3

Решение

Итак, я решил обходной путь, чтобы хотя бы отобразить файл test.php.

Следовал инструкциям Вот, но единственный способ заставить работать несколько сайтов — использовать отдельные порты. Поэтому я добавил к 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-отладка или же х-отладка сам.

1

Другие решения

Запустить в консоли php -i или же php -i > 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.
Иначе ты что-то не так.
В коде Visual Studio на панели gebug нажмите значок с шестеренкой и выберите 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

1

По вопросам рекламы [email protected]