четверг, 7 августа 2014 г.

@php_bin@ не является внутренней или внешней командой, исполняемой программой или пакетным файлом

При настройке инструмента проверки кода Code Sniffer в IDE PHP Storm возникла ошибка:
@php_bin@ не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Данная ошибка возникает, если попытаться вызвать из консоли Windows bat-файл phpcs.bat:


Если заглянуть в файл phpcs.bat, то там можно увидеть следующее:
"@php_bin@" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'@php_dir@'" -f "@bin_dir@\phpcs" -- %*

Причина ошибки в том, что система не может найти путь к интерпретатору php у вас на компьютере. Для устранения данной ошибки можно решить задачу "в лоб" - просто указать прямые пути к интерпретатору php и самому файлу phpcs.
Напишем в файле phpcs.bat:
"C:\wamp\bin\php\php5.5.12\php.exe" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'C:\wamp\bin\php\php5.5.12\php.exe'" -f "C:\tools\PHP_CodeSniffer-master\scripts\phpcs" -- %*

Как видно, здесь мы указали:
- путь к интерпретатору php: C:\wamp\bin\php\php5.5.12\php.exe
- путь к файлу Code Sniffer - phpcs: C:\tools\PHP_CodeSniffer-master\scripts\phpcs

После этого запуск bat-файла из консоли не будет вызывать ошибок. Это позволит нам настроить Code Sniffer в PHP Storm.

2 комментария:

  1. после этого возникает ошибка Can not determine tool version, got '

    ОтветитьУдалить
  2. помогло, надо было в конец файла добавить, то что советует автор, а не перетирать его

    ОтветитьУдалить