Как настроить интерпретатор php в phpstorm
Перейти к содержимому

Как настроить интерпретатор php в phpstorm

  • автор:

Configure local PHP interpreters

A local PHP interpreter is a PHP engine installed on your computer as opposed to a remote PHP interpreter that is installed on a remote host, in a Docker container, or in a Vagrant virtual environment.

Before you start configuration of a local PHP interpreter in PhpStorm, make sure that the PHP engine is installed on your local machine.

Configure a local PHP interpreter

  1. Press Control+Alt+S to open the IDE settings and then select PHP .
  2. On the PHP page that opens, click next to the CLI Interpreter list. Open the CLI Interpreter dialog
  3. In the CLI Interpreters dialog that opens, click in the left-hand pane, then choose Local from the popup menu. If you already have a local interpreter configured in PhpStorm, then it is shown in the menu list, and the menu item changes to Other Local .
  4. In the right-hand pane of the dialog, specify the name and general settings for the new PHP interpreter. PHP interpreter
    • Name : type the interpreter name to distinguish it from others, for example, php_installation_ .
    • PHP executable : specify the path to the PHP engine installation directory. Type it manually or click and select the relevant folder in the dialog that opens.
    • Configuration file : specify the path to a custom php.ini configuration file. Use this field if you want to specify a php.ini file different from that autodetected by the IDE and displayed in the non-editable Configuration file field below. Type it manually or click and select the relevant file in the dialog that opens.

PhpStorm displays the version of the PHP engine detected in the specified folder, the debugger associated with this PHP engine in the php.ini file, and an action link to open the specified php.ini file in PhpStorm’s editor.

Clicking next to the PHP executable field opens a separate information window with the installation details and the list of loaded extensions and configured options.

  • Debugger extension : specify the path to the Xdebug executable file for debugging in On-Demand Mode. This way, PhpStorm can activate Xdebug even if it has been disabled in the php.ini file.
  • Configuration options : compose a string of configuration directives to be passed through the -d command line option and thus add new entries to the php.ini file. The directives specified in this field override the default directives generated by PhpStorm, such as:

-dxdebug.mode=debug, -dxdebug.client_host=127.0.0.1, -dxdebug.client_port=9003, -dxdebug.start_upon_error=default

For example, if you specify the -dxdebug.start_upon_error=yes directive, it will override the default -dxdebug.start_upon_error=default directive and thus switch Xdebug to the Just-In-Time (JIT) mode. For more information, refer to Debug in the Just-In-Time mode.

-dxdebug.remote_enable=1, -dxdebug.remote_host=127.0.0.1, -dxdebug.remote_port=9000, -dxdebug.remote_mode=req

For example, if you specify the -dxdebug.remote_mode=jit directive, it will override the default -dxdebug.remote_mode=req directive and thus switch Xdebug to the Just-In-Time (JIT) mode. For more information, refer to Debug in the Just-In-Time mode.

  • To add a new entry, click . In the new line, that is added to the list, specify the name of the new entry and its value in the Name and Value fields respectively. You can add as many entries as you need, just keep in mind that they will be transformed into a command line with its length limited to 256 characters.
  • To delete an entry, select it in the list and click .
  • To change the order of entries, click or .

Upon clicking OK , you return to the CLI Interpreters dialog, where the entries are transformed into a command line.

Switch between configured PHP interpreters on the fly

  1. Press Control+Shift+A and start typing Change PHP interpreter . In the suggestion list, select the Change PHP interpreter action. If necessary, you can assign a keyboard shortcut for this action either directly in the suggestions list by pressing Alt+Enter , or at a later point as described in Keyboard shortcuts.
  2. In the popup menu that opens, select one of the configured local or remote PHP interpreters.

The selected interpreter will be set as the default project interpreter on the PHP page of the Settings dialog ( Control+Alt+S ). This will also affect configurations that use the default project interpreter (test frameworks’, quality tools’, and run/debug configurations) and commands run in the PhpStorm terminal.

Как настроить интерпретатор php в phpstorm

PhpStorm – как подключить интерпретатор PHP и отладчик Xdebug

На данный момент, PhpStorm – одна из лучших IDE для разработки на языке PHP, которая предоставляет множество возможностей для разработчика, такие как запуск PHP-скриптов, благодаря возможности подключения внешнего интерпретатора PHP и отладку через расширение Xdebug.

В этой статье мы рассмотрим возможность подключения интерпретатора PHP, отладчика Xdebug к PhpStorm и использование встроенного в IDE web-сервера.

Начнем с установки отладчика Xdebug в PHP.

Установка Xdebug

Первым делом скачаем и установим сам интерпретатор PHP по ссылке: http://php.net/downloads.php

Далее нужно произвести начальную настройку PHP и прописать в переменную окружения PATH путь к интерпретатору. Чтобы не повторяться, весь необходимый порядок действий мной описан в этой статье: Установка Composer и снятие ограничения количества обращений к GitHub

Теперь можно перейти к установке отладчика Xdebug, для которого существует специальный помощник, значительно упрощающий процедуру установки. Для его использования перейдем по ссылке: https://xdebug.org/wizard.php

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

Или, введя в консоль команду php -i, которая генерирует информацию о PHP.

Копируем полученную информацию, нажимаем кнопку Analyse my phpinfo() output и получаем инструкцию по установке Xdebug.

В зависимости от вашей версии PHP и пути установки инструкция может отличаться от моей:

  • Скачиваем библиотеку Xdebug для PHP версии 5.6.19 по ссылке: php_xdebug-2.4.0-5.6-vc11-nts.dll
  • Перемещаем её в папку C:\php\ext
  • В файл C:\php\php.ini находим секцию Dynamic Extensions и добавляем следующую строку:

zend_extension = C:\php\ext\php_xdebug-2.4.0-5.6-vc11-nts.dll

Подключение интерпретатора PHP к PhpStorm

Теперь перейдем в PhpStorm и откроем настройки комбинацией клавиш Ctrl+Alt+S.

Далее, в секции Languages & Frameworks выберем пункт PHP. В этой секции необходимо назначить интерпретатор для IDE в пункте Interpreter нажав на кнопку

phpstorm-xdebug-1

В открывшемся окне, в поле Name вводим любое имя для удобства дальнейшей идентификации, например: PHP 5.6.11.

В поле PHP executable указываем путь до интерпретатора, например: C:\php\php.exe. Обратите внимание на появившуюся версию PHP и дебагера, что свидетельствует о правильности установки.

phpstorm-xdebug-2

Чтобы убедиться в том, что правильно отрабатывает подключенный интерпретатор PHP, создадим в PhpStorm новый проект, добавим к нему файл index.php и запишем в этот файл, например, функцию var_dump([ 1, 2, 3 ]) с переданным в неё массивом.

Нажав правой кнопкой мыши на этом файле, выберем Open in Browser -> Default.

На странице мы видим характерный вывод var_dump(), который генерируется с помощью Xdebug. И, если посмотреть на заголовки ответа через консоль разработчика, то мы увидим, что всё работает верно:

server:PhpStorm 2016.1 X-Powered-By:PHP/5.6.19

phpstorm-xdebug-3

Начальная настройка Xdebug и установка его под линукс описана в статье Установка модуля Xdebug для PHP под Ubuntu Linux

Работа с отладчиком Xdebug в PhpStorm

Прежде чем приступит к отладке PHP-скриптов с помощью Xdebug произведем необходимую настройку в файле php.ini. В секции Dynamic Extensions после подключения расширения Xdebug добавим следующие настройки:

xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.profiler_enable=1 xdebug.profiler_output_dir="c:\php\tmp"

Теперь зайдем в PhpStorm и откроем настройки. Перейдем в Languages & Frameworks -> PHP -> Debug. В секции Xdebug убедимся, что установлены следующие настройки:

Debug port: 9000 Установлен флажок Can accept external connections

phpstorm-xdebug-4

Чтобы проверить, что все действия были проведены верно, добавим в уже имеющийся в проекте файл index.php следующий код:

И поставим точку остановки на переменной $arr.

Теперь запустим отладку этого скрипта, нажав правую кнопку мыши и выбрав пункт Debug ‘index.php’. Если все было сделано правильно, то в PhpStorm появится вывод дебага, как показано на скриншоте.

phpstorm-xdebug-5

В итоге, мы получили мощный и удобный инструмент для отладки PHP-скриптов с подключенным интерпретатором PHP, а также возможность запускать скрипты через встроенный в PhpStorm локальный web-сервер.

PhpStorm 2021.1: превью PHP- и HTML-файлов, 20+ новых инспекций и парное программирование с Code With Me

Roman Pronskiy

Рады представить вам первый мажорный релиз PhpStorm в этом году! Ниже подробный разбор всех изменений и новых возможностей.

PHP

  • Превью PHP- и HTML-файлов прямо в редакторе с помощью встроенного браузера и локального интерпретатора PHP.
  • Более 20 новых инспекций для PHP.
  • Основные конфигурации, относящиеся к PHP, теперь находятся на верхнем уровне — в Settings / Preferences.
  • Версия PHP может быть отвязана от требований в composer.json.
  • Автоматическая подсветка синтаксиса в строках SQL, RegExp и т. п. на основе использования переменных.
  • Поддержка динамических имен таблиц с префиксами в SQL-запросах улучшает интеграцию с инструментами базы данных для популярных платформ и CMS.
  • Синтетический скоуп в циклах для улучшения рефакторингов.

IDE

  • Раскрытие вкладок в режиме Split по двойному клику по вкладке.
  • Поддержка JSONPath для улучшенного поиска по большим JSON-документам.
  • Поддержка формата JSON Lines.
  • Настройки типографики в Preferences | Editor | Font.

Docker

  • Автодополнение для образов в Dockerfile.
  • Сворачивание многоступенчатых файлов Dockerfile.

Version Control

  • Мы улучшили поддержку пул-реквестов GitHub — создавать их из IDE стало проще.

Code With Me

  • Новый инструмент JetBrains для парного программирования доступен для пользователей PhpStorm бесплатно. Code With Me предлагает совместное программирование в реальном времени, встроенные аудио- и видеозвонки и мессенджер.

Это вкратце, а теперь подробнее обо всем.

Выбор версии PHP через статусбар

В предыдущем релизе мы добавили индикатор версии PHP в строке состояния. В 2021.1 версию можно менять независимо от той, которая указана в composer.json . Это позволит, к примеру, быстро проверять совместимость кода с более новыми версиями PHP.

Легкий поиск настроек PHP

Большинство настроек, связанных с PHP, теперь доступны в Settings / Preferences | PHP.

Просмотр PHP- и HTML-файлов в редакторе

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

Теперь здесь также появилась иконка PhpStorm. При нажатии на нее файл откроется для предварительного просмотра прямо в редакторе.

Превью работает с HTML- и PHP-файлами, а также со всеми связанными CSS- и JavaScript-файлами.

Откройте файл и начните печатать — во вкладке предварительного просмотра мгновенно отобразятся все изменения.

PhpStorm использует локальный интерпретатор PHP, который можно указать для проекта в Settings/Preferences | PHP. Docker и другие нелокальные интерпретаторы пока не поддерживаются.

Если иконок в редакторе нет, необходимо убедиться, что в разделе Preferences | Tools | Web Browsers выбран хотя бы один браузер и отмечен чекбокс For HTML files.

Также открыть вкладку превью можно комбинацией Alt+F2 .

Использование префикса таблиц в SQL-запросах

Многие CMS и фреймворки позволяют задавать префикс для таблиц. Это может быть полезно при использовании одной и той же базы данных для нескольких приложений.

Раньше при этом терялась интеграция с инструментами БД, потому что имена таблиц формировались динамически.

Теперь вы можете указать префикс в файле .phpstorm.meta.php. Подробнее о метафайлах и о том, как указывать префиксы таблиц, можно прочитать на странице хелпа.

Допустим, у нас есть следующий запрос в приложении на Drupal:


Как видите, PhpStorm не может зарезолвить ни имя таблицы, ни имена столбцов. Это происходит потому, что мы указали префикс таблицы в конфигурации Drupal.

Чтобы исправить это, добавим в проект файл .phpstorm.meta.php с вот таким содержимым:

namespace PHPSTORM_META override(
// Виртуальная функция для указания замен в SQL-запросах
sql_injectionsubst(),
map([
‘ «PS2021
«, // все < в строках SQL будут заменены на префикс
‘>’ => ”, // все символы > будут заменены пустой строкой
]));
>

Теперь PhpStorm сможет связать SQL-запросы с источниками данных и предоставить вам такие возможности, как автодополнение, переход к просмотру данных и прочее.

Кстати, если запрос формируется через конкатенацию, то это тоже сработает:

const DBPREFIX = «mydatabase«;
$sql = «SELECT * FROM » . DB_PREFIX . ‘table_name’;

Инспекции и квик-фиксы

В этом релизе мы добавили более 20 различных проверок и квик-фиксов, которые помогут предотвратить ошибки на ранних стадиях разработки. Посмотреть полный список инспекций и настроить их можно в Settings / Preferences | Editor | Inspections.

При возникновении проблемы, наведите на нее курсор, нажмите Alt+Enter и выберите предлагаемый быстрый фикс.

А теперь подробнее о некоторых новых инспекциях.

Упрощение блоков if с одинаковыми телами

Некоторые блоки if и else могут оказаться избыточными. Например, вы могли их изменять, в результате чего их тела оказались полностью или частично одинаковыми.

PhpStorm обнаружит такие лишние блоки и предложит их устранить:

Причем, если повторяется только часть тела, PhpStorm предложит извлечь только ее:

Инверсия if

Если нажать Alt+Enter для любого if , вам будет предложена команда “Invert if statement”. Она изменяет условие на противоположное и вносит необходимые коррективы для сохранения логики.

Если вы любите использовать ранний return, то эта инспекция очень пригодится вам при рефакторинге кода.

В циклах это тоже работает:

Замена isset на ??

Код isset($a) ? $a : $b; идентичен $a ?? $b , поэтому PhpStorm подсветит его и предложит квик-фикс для замены.

Кстати, инспекции можно запускать для всего проекта — так вы сможете применить исправление сразу везде, а не только в открытых файлах.

Для этого выберите в меню Code | Run Inspection by Name… и укажите нужную инспекцию, например isset can be replaced with coalesce. Все найденные использования можно будет поправить непосредственно в результатах поиска.

Замена isset на !== null

Использование isset() имеет смысл только для массивов и переменных. Во всех остальных случаях лучше проверить операнд на null .

PhpStorm подсветит такие места и позволит вам с помощью Alt+Enter заменить isset() на сравнение с null .

Переменная в foreach затирает уже объявленную переменную

Переменные для ключа и значения в цикле foreach могут конфликтовать с именами других переменных или параметров.

Проблема в том, что PHP не имеет для них отдельной области видимости. То есть значение будет переопределено — вероятно, вопреки ожиданиям.

PhpStorm подсветит такие места, потому что это потенциальные источники багов.

Ненужные фигурные скобки для переменных внутри строк

PhpStorm подсвечивает избыточные фигурные скобки в контексте строковой интерполяции, предлагая вам удалить их и сделать код чище.

Упрощение булевых выражений

Если булево выражение содержит литералы true или false , то его наверняка можно упростить и сделать более читаемым.

PhpStorm подсветит такие выражения и позволит вам упростить их, используя Alt+Enter .

Строгое сравнение с несовместимыми типами

Оператор === всегда вернет false , если операнды не совпадают по типу.

Теперь PhpStorm подсвечивает такие места, потому что они могут быть источниками багов. При этом PhpStorm учтет все выведенные типы и поможет найти проблемы в не самых очевидных случаях.

Небезопасные ссылки http://

Использование протокола http:// в строках теперь подсвечивается. IDE предлагает квик-фикс для быстрой замены http:// на https:// (по Alt-Enter ). Также с его помощью можно добавить URL в список игнорируемых ссылок.

Подозрительные комбинации имен

PhpStorm подсвечивает некоторые типичные ошибки именования параметров или возвращаемых значений, например $needle и $haystack или $x и $y .

Обычно такие ошибки являются признаком бага либо, как минимум, очень путают.

Замена define на const

PhpStorm выявляет случаи, когда объявление константы через define можно заменить на более легкочитаемый синтаксис const . C помощью Alt+Enter можно сделать замену.

Конфигурация инспекций перед коммитом

Теперь вы можете выбрать профиль инспекций, который будет использован для анализа кода перед коммитом в Git.

Нажмите на значок шестеренки, отметьте чекбокс Analyze code, нажмите Configure и выберите нужный профиль.

Создать свои профили можно в Settings / Preferences | Editor | Inspections.

Прочее

Искусственный скоуп для рефакторинга

Циклы foreach , for , while и блоки catch в PHP не имеют изолированной области видимости. Это довольно неудобно, когда вы переименовываете переменные, потому что при этом также переименовываются переменные и за пределами нужного блока.

В PhpStorm 2021.1 мы добавили искусственный скоуп для всех подобных блоков. Теперь при вызове рефакторинга Rename ( Shift+F6 ) переименование будет более интуитивным.

Улучшение автоматической инъекции языка

Прошлые версии PhpStorm умели определять язык только для аргументов. Например, если вы передавали строку в функцию preg_* , она подсвечивалась как регулярное выражение.

Но вот если вы использовали переменную, то ее значение никак не подсвечивалось.

PhpStorm 2021.1 анализирует использование переменных и умеет автоматически внедрять нужный синтаксис.

Использование расширений из блока suggest в composer.json

В кодовой базе могут быть классы из расширений PHP. До сих пор PhpStorm проверял, добавлены ли эти расширения в секции require в файле composer.json .

PhpStorm 2021.1 учитывает указание расширений не только в секции require , но и в секции suggest .

Еще важнее то, что PhpStorm теперь предупреждает в случае, если расширение было добавлено в suggest в composer.json , но при этом используется без проверок типа extension_loaded() или function_exists() .

Специальный квик-фикс позволит добавить расширение в require/require-dev.

Важные исправления

Мы исправили более 2400 тикетов, открытых нашими пользователями и командой JetBrains в трекере PhpStorm. Вот некоторые из самых интересных:

  • Теперь можно отлаживать проекты в WSL 2 через Docker (WI-53396).
  • Quality tools теперь правильно используют пути с docker-compose в exec-режиме (WI-55840).
  • Большие файлы PHP (5000 строк кода и больше) стали обрабатываться корректно (WI-31569).
  • Значительно улучшена производительность для проектов с алиасами (WI-58306).

Code With Me

Code With Me — это новый инструмент JetBrains для совместной разработки и парного программирования. Изначально мы представили его в PhpStorm 2020.3. В этом релизе инструмент был во многом улучшен.

Во-первых, появилась возможность гибко устанавливать права доступа для соучастников.

Во-вторых, теперь гостям даже не понадобится устанавливать IDE — достаточно выполнить консольную команду, и бесплатный клиент скачается автоматически.

В-третьих, добавлены встроенные голосовые и видеозвонки, а также мессенджер.

Энтерпрайз-команды и другие команды с повышенными требованиями по безопасности теперь могут запустить свой сервер Code With Me в приватной сети.

Подробнее о Code With Me читайте на сайте JetBrains.

IDE

Раскрытие вкладок в режиме Split

Открыть одновременно несколько вкладок в режиме Split можно просто перетянув вкладку в нужный угол экрана.

Теперь вы также можете дважды кликнуть по вкладке, чтобы полностью раскрыть ее. Вернуть вкладку в прежнее состояние можно также двойным кликом.

Поддержка JSONPath

Теперь можно использовать запросы JSONPath для быстрого поиска по большим JSON-документам. Возможность доступна в разделе Edit | Find | Evaluate JSONPath.

Поддержка формата JSON Lines

Теперь PhpStorm поддерживает формат JSON Lines для работы со структурированными данными и логами. IDE распознает файлы .jsonl, .jslines, .ldjson и .ndjson.

Настройки типографики

Вы можете варьировать основной и запасной шрифты. Новые опции доступны в разделе Typography Settings в Settings / Preferences | Editor | Fonts.

Docker

Автодополнение имен образов в Dockerfile

Начните печатать имя образа, и PhpStorm предложит вам список образов, доступных на Docker Hub:

Сворачивание в многоступенчатых файлах Dockerfile

При использовании в Dockerfile нескольких секций FROM вы можете свернуть любую из них, и они будут разделены линией для лучшей читаемости.

Cancel Docker run

Вы можете легко остановить исполнение запущенного Dockerfile из окна Services. Выберите Stop Deploy в контекстном меню для запущенного элемента.

Улучшения для пул-реквестов GitHub

Чтобы создать пул-реквест, просто нажмите на значок «+» в окне Pull Requests или перейдите в меню ‎Git | GitHub | Create Pull Request.

В обновленном диалоге можно:

  • Выбирать базовые и head-ветки из списка доступных веток.
  • Просматривать измененные файлы на вкладке Files.
  • Редактировать названия и описания пул-реквестов, назначать ревьюеров и исполнителей, добавлять теги.
  • Создавать черновики пул-реквестов.

PhpStorm 2021.1 также поддерживает шаблоны пул-реквестов. Добавьте файл pull_requst_template.md в проект и укажите в нем текст шаблона — и каждый раз, когда вы создаете новый пул-реквест, это описание будет заполняться автоматически.

Поддержка шаблона для Git-коммитов

При создании сообщения для коммита PhpStorm теперь учитывает шаблон, указанный в параметре commit.template вашей конфигурации Git.

HTTP-клиент

Поддержка SSL

Теперь вы можете указать настройки SSL в HTTP-клиенте. Нажмите кнопку Add environment file и выберите Private. Будет создан файл, в котором вы сможете указать настройки SSL: clientCertificate , hasCertificatePassphrase , clientCertificateKey , verifyHostCertificate .

Улучшения для OpenAPI / Swagger

В PhpStorm есть поддержка спецификаций OpenAPI и встроенный Swagger UI.

Теперь же Swagger UI поддерживает спецификации с внешними файлами, подключенными через $ref .

Инструменты БД

PhpStorm включает встроенные возможности DataGrip: интерфейс для работы с правами доступа, контекстные шаблоны Live Templates, упрощенную навигацию и многое другое. Подробнее об этих возможностях читайте в обзоре релиза DataGrip 2021.1 от наших коллег.

Веб

И как всегда, в PhpStorm вошли все обновления из WebStorm 2021.1: более умное автодополнение для JavaScript и TypeScript, расширенная поддержка Stylelint и другое.

А вот видеоролик (на английском), где мы демонстрируем главные фичи этого релиза:

На этом пока все. Будем рады вашей обратной связи — вопросам, пожеланиям, баг-репортам и просто мыслям. Оставляйте их в комментариях ниже.

Ваша команда PhpStorm
The Drive to Develop

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.028 секунд. Запросов: 23.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *