Запуск PHP сервера в VS Code
Доброй ночи! Только начал изучать PHP, простите за тупой вопрос! Использую VS Code, установил данную модификацию сервера для PHP.
?> Name:
При запуске данного кода возникает ошибка.
Server error: Error: spawn php ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19) at onErrorNT (internal/child_process.js:456:16) at processTicksAndRejections (internal/process/task_queues.js:84:9)
Как настроить VS Code для разработки на PHP

Так может выглядеть интерфейс редактора после установки расширений
- Основные возможности
- EditorConfig for VS Code
- PHP Intelephense
- PHP Debug
- PHP Sniffer
- Semicolon Insertion Shortcut
- Extra
Основные возможности
- отладчик кода
- встроенный терминал
- удобные инструменты для работы с Git
- подсветка синтаксиса для множества популярных языков и файловых форматов
- удобная навигация
- встроенный предпросмотр Markdown
- умное автодополнение
- встроенный пакетный менеджер
VS Code имеет большое количество расширений для разработчика. Для установки нового пакета зайдите во вкладку «Extensions», введите название пакета в строке поиска, нажмите кнопку «Install».

EditorConfig for VS Code
EditorConfig — это конфигурационный файл и набор расширений к большому количеству редакторов кода. Он подхватывает настройки из файла .editorconfig , который, как правило, размещается в корне проекта. Расширение автоматически настроит отступы и перевод строк единообразно для всех разработчиков, использующих его. PHP код чаще всего выполняется на *nix системах, поэтому необходимо использовать стандарт.
Ниже приводится пример файла .editorconfig , который используется в Laravel:
root = true # Глобальные настройки, которые будут записаны для всех файлов. [*] charset = utf-8 # На Unix системах используется lf для перевода строки. # Это также требование стандарта PSR. end_of_line = lf insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true # Можно задать индивидуальные настройки как для типов файлов, # так и отдельных файлов по имени. [*.md] trim_trailing_whitespace = false [*. ] indent_size = 2 [ ] indent_style = space indent_size = 2 [lib/**.js] indent_style = space indent_size = 2
PHP Intelephense
В редакторе уже есть поддержка синтаксиса и подсказок стандартных функций языка. Но без специального дополнения редактор не будет подсказывать пользовательские функции из других частей проекта. Поэтому для поддержки автодополнения, анализа кода, перехода к месту, где создана функция/класс/переменная (с помощью шортката Alt+Click ), используется дополнение PHP Intelephense
Чтобы подсказки не дублировались необходимо отключить встроенную в редактор поддержку кода для PHP: Extensions -> Search @builtin php -> PHP Language Features -> Disable
PHP Debug
При разработке может возникнуть ситуация, когда простых функций отладки и логирования становится недостаточно. Тогда может помочь специальный инструмент — Дебаггер. Для PHP есть расширение xdebug, которое позволяет расставить точки останова и посмотреть окружение в предполагаемом месте ошибки, выполняя код поэтапно либо до следующей точки.
Чтобы воспользоваться PHP Debug, необходимо установить сам XDebug, без него расширение для редактора работать не будет. Установив расширение, необходимо добавить конфигурацию для PHP в разделе Debug . После выбора языка в корне проекта будет создан файл .vscode/launch.json с задачами для Дебаггера. Расширение создаст файл со стандартными параметрами.
Для того, чтобы XDebug общался с нашим дебаггером, необходимо добавить настройки в файл конфигурации php. Чтобы найти этот файл выполните в терминале команду php —ini или запустите веб-сервер с кодом phpinfo() .
В Linux PHP подгружает не только основной файл, но и файл из этой директории. Например, на Ubuntu путь к директории конфигурационных файлов для PHP может быть таким — /etc/php/7.3/cli/conf.d/ . В ней создаём файл с необходимыми правами (требуются root права):
$ sudo touch /etc/php/7.3/cli/conf.d/99-local.ini $ sudo chmod 777 /etc/php/7.3/cli/conf.d/99-local.ini
xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Порт, который мы указали в launch.json xdebug.idekey=code xdebug.remote_autostart=1
Это настройки для локальной разработки, когда проект разрабатывается и запускается на одном компьютере, например на вашей рабочей машине
PHP Sniffer
В языках программирования есть понятие стиль кодирования. Но не все разработчики знают об этом. Программа, которая отвечает за проверку на соответствие стандартам, называется линтер. В PHP приняты стандарты под названием PSR. Нас интересуют стандарты PSR-1 и PSR-12. Именно эти два стандарта касаются кодирования и правил оформления.
В PHP в качестве линтера используется PHP_CodeSniffer. Для его работы необходимо установить глобально сам линтер composer global require «squizlabs/php_codesniffer=*» и расширение PHP Sniffer.
Проверьте, что линтер установился:
$ phpcs --version PHP_CodeSniffer version 3.4.2 (stable ) by Squiz (https://www.squiz.net )
Выполнить проверку кода в терминале можно с помощью команды phpcs , явно указав стандарт, который мы хотим использовать, и путь для проверки:
$ phpcs --standard =PSR12 dirname >

Semicolon Insertion Shortcut
PHP требует разделять инструкции с помощью точки запятой. Расширение Semicolon Insertion Shortcut добавляет необходимый символ в конец строки с помощью шортката. Если при нажатии [Ctrl] + ; символ не вставляется, то необходимо проверить список горячих клавиш и при необходимости назначить комбинацию вручную: File -> Preferences -> Keyboard Shortcuts

Extra
Список расширений, которые могут быть использованы не только для PHP:
- GitLens — в VS Code уже встроена поддержка Git. Но когда базовых возможностей становится недостаточно, на помощь может придти Gitlens. Например, одна из полезных фич — git blame на текущей строке.

- Indent Rainbow — разноцветные отступы в коде. Подсвечивает некорректный отступ. Можно вместо радуги установить оттенки серого.

- Settings Sync — плагин, позволяющий синхронизировать настройки редактора между разными компьютерами. В качестве облачного хранилища используется Github Gists. Все настройки можно скачать, указав нужный файл синхронизации.
- Fira Code — моноширинный шрифт, в котором используются лигатуры (объединяет несколько символов в один) для общих комбинаций символов в программировании. Визуальная надстройка для более удобного чтения кода.
Отладка php в Visual Studio Code (Xdebug, Windows)
В некоторых случаях может возникнуть необходимость отладки приложений на php. Visual Studio code предоставляет такую возможность при условии установки дополнительного расширения PHP Debug (marketplace, github).
Установка PHP Debug
Для установки нажмите Ctrl+p и введите команду ext install php-debug . Нажмите на кнопку «включить», в итоге вы должны увидеть примерно следующее:

Установка и настройка Xdebug
PHP Debug использует для отладки Xdebug. Для настройки Xdebug пройдите по ссылке. Предполагается, что на локальной машине уже установлен и настроен сервер apache. Здесь и далее действия указаны для Windows. Можно создать файл, например, test.php содержащий:
Открыть его в браузере и скопировать содержимое страницы в диалоговое окно. Другой способ:
- win+R ;
- cmd + Enter ;
- php -i > phpinfo.text ;
- открыть любым удобным редактором phpinfo.txt и все его содержимое вставить в диалоговое окно.

Далее следуйте инструкциям по установке: скачайте .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.2 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"
Как вы уже, возможно догадались, в данном примере на локальной машине установлен XAMPP.
Обратите внимание на строку xdebug.remote_host=127.0.0.2 . По умолчанию Xdebug «слушает» порт 127.0.0.1. Укажите здесь, адрес отлаживаемого сайта.
Примечание: С версией Xdebug 2.5 и выше Visual Studio code не работает. Поэтому выбирайте соответствующий вашей версии php файл *.dll.
Настройка Visual Studio code
Вызовите панель отладки (1) и нажмите на иконку с маленькой шестеренкой (2).

В появившемся списке выберите PHP . Автоматически сформируется файл launch.json .
< "version": "0.2.0", "configurations": [ < "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000 >, < "name": "Launch currently open script", "type": "php", "request": "launch", "program": "$", "cwd": "$", "port": 9000 > ] >
Настройка PHP Debug на этом окончена.
Отладка php в Visual Studio code
Откройте в браузере ваше приложение\сайт. Откройте папку с приложением в Visual Studio code. Установите в нужных файлах и строках точки остановки. Откройте панель отладки и выберите для запуска отладки команду Listen for Xdebug (1). Нажмите кнопку запуска (2).

Обновите страницу в браузере и наслаждайтесь.
Настройка редактора Visual Studio Code для разработки на PHP

Пора перейти от слов к действиям и познакомиться с Visual Studio Code поближе. В этом посте представлена поэтапная настройка VS Code для разработки на PHP.
- Скачать и установить Visual Studio Code.
- Настройть статистический анализ кода на PHP в параметрах пользователя.
- Скачать и установить расширение PHP Debug с портала Visual Studio Marketplace.
- Настройть расширение PHP Debug для использования XDebug.
Скачайте и установите Visual Studio Code
- Бесплатный: да, VS Code полностью бесплатен, никаких приписок мелким шрифтом.
- Кроссплатформенный: доступны версии VS Code для Windows, Linux и OS X.
- Легковесный: VS Code, в отличие от Visual Studio, — не полнофункциональная среда IDE, а редактор кода. Он поддерживает ряд мощных функций, характерных для IDE, например, IntelliSense, отладку и интеграцию с системой управления исходным кодом Git.
После загрузки установите редактор на своем компьютере. Подробные инструкции по установке доступны здесь. Теперь можно открыть окно командной строки, запустить Visual Studio Code и начать редактировать файлы в папке.

Если вы откроете файл с расширением .php, Code поймет, что это файл на языке PHP. Тип файла можно изменить и вручную: щелкните кнопку Language Mode в правом нижнем углу окна редактора или последовательно нажмите клавиши Ctrl+K и M.

Встроенные функции работы с PHP
VS Code поддерживает множество языков, в том числе PHP. На портале Visual Studio Marketplace доступны расширения VS Code, обеспечивающие поддержку дополнительных языков. Для PHP работает подсветка синтаксиса, определение парных скобок и фрагменты кода.
Когда вы начнете набирать код в файле PHP, то заметите автоматическое срабатывание цветового выделения синтаксиса, определения парных скобок и функции IntelliSense.

Настройка статического анализа PHP
По умолчанию VS Code будет проводить статический анализ кода на PHP в ходе проверки при сохранении файла. Для этого используется исполняемый файл php. Если вы работаете с VS Code впервые, то получите сообщение об ошибке, в котором сказано, что исполняемый PHP файл не обнаружен.

Необходимо указать путь к исполняемому файлу PHP на вашем компьютере. Для этого следует изменить файл настроек (в VS Code существуют различные уровни файлов настроек, подробнее см. в документации). В нашем примере мы настроим параметры PHP глобально для пользователя.
Откройте пользовательские настройки с помощью панели команд: нажмите F1, введите «user» и нажмите Enter.

Откроется два документа JSON. В документе слева содержатся настройки по умолчанию, в документе справа — пользовательские настройки. В пользовательских настройках можно переопределить настройки по умолчанию. Чтобы включить статический анализ кода PHP, необходимо изменить значения трех параметров.

Чтобы настроить путь к исполняемому файлу PHP, укажите его в файле пользовательских настроек:

После этого функция проверки будет включена для всех файлов PHP. Некорректный код PHP будет подчеркнут красным (в примере ниже пропущена точка с запятой).

Настройка отладки
Расширение PHP Debug (спасибо Феликсу Беккеру!) добавляет в VS Code поддержку отладчика XDebug. Установите расширение через панель команд VS Code: нажмите F1, введите «install ext», нажмите Enter, введите «PHP Debug» и вновь нажмите Enter. После установки расширения может потребоваться перезапуск VS Code.

Обратите внимание: это расширение использует отладчик XDebug. Поэтому для его работы необходимо установить XDebug. Скачать XDebug можно здесь (для Windows выбирайте 32-разрядную non-thread-safe версию).
Затем внесите в файл php.ini следующие настройки. Я установил XDebug в подкаталог ext установочной папки PHP. Если вы выбрали для XDebug другой каталог установки, убедитесь, что параметр zend_extension содержит правильное значение.

Убедитесь, что корневой раздел веб-сервера соответствует вашему проекту. Тогда при каждом запросе файла PHP XDebug будет предпринимать попытку подключения к порту 9000 для отладки.
Чтобы начать отладку, откройте вкладку Debugging в VS Code.

Щелкните значок шестеренки, чтобы сформировать файл launch.json, который позволит VS Code начать сеанс отладки XDebug.

Чтобы начать отладку, нажмите F5 или щелкните зеленую стрелку на вкладке Debugging. Чтобы задать точку останова в исходном коде, выберите строку и нажмите F9.

Теперь, когда вы откроете определенную веб-страницу, VS Code остановит выполнение исходного кода в заданной точке. В области слева отобразится информация о переменных, стеке вызовов и т. п.

Заключение
Visual Studio Code обладает отличной встроенной поддержкой PHP, а расширение PHP Debug добавляет возможность отладки кода на PHP. Все эти инструменты являются бесплатными и кроссплатформенными.
На портале Visual Studio Marketplace доступны и другие расширения для работы с PHP.
Полезные ссылки
- Visual Studio 2015: бесплатные предложения для разработчиков
- Дополнительные и бесплатные инструменты и службы в программе Visual Studio Dev Essentials
- Лабораторные работы по разработке, тестированию и управлению жизненым циклом ПО для Visual Studio 2015
- visual studio
- visual studio code
- php
- веб-разработка
