Работаю с zend framework, периодически требуется запускать из консоли разные команды вроде: php bootstrap.php clear-cache итд.
Поначалу (пока не знал о встроенной в OpenServer консоли), я пытался запускать php с указанием полного пути до php.exe — естественно, ничего не работало и выводило кучу ошибок.
Работая в версии OpenServer 4.9 и используя модуль php 5.4 (с apache 2.2), я не ведал горя и проблем — все работало как часы.
Установил OpenServer 5.1.1 и возникла необходимость в использовании php 5.5 (с apache 2.4). И тут консоль мне показала следующее:
C:OpenServer>php
Thu Oct 16 10:12:03 2014 (5812): Fatal Error Unable to open base address file
Захожу в настройки, переключаю модули на apache 2.2 и php 5.4 — все работает. Google ничего интересного по этой ошибке не рассказал.
Как решить эту проблему?
[upd=1413415898][/upd]
Пока приноровился менять модули на более старые и так работать в консоли. но ведь это не дело.
Судя по информации в интернете возможно вы криво активировали расширение OpCache, либо у вас конфликт с предыдущей установкой PHP (или сборки типа WAMP) на компьютере.
Composer: Как установить и использовать
Заодно убедитесь что вы правильно работаете с консолью, т.е. закрываете и открываете её снова из меню при каждом изменении настроек или модулей.
Предыдущий OpenServer снес подчистую, проекты переносил ручками. Других WAMP не использую вообще (привет Денверу с его вечным ожиданием 4-й версии).
Консоль открываю непосредственно после запуска сервера и переоткрываю после измененения модулей, читал об этом в руководстве.
В общем, Вы оказались правы — проблема в некорректной активации модуля opcache.
Как было в настройке php.ini:
[opcache]
zend_extension=»%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll»
opcache.enable=1
opcache.enable_cli=1
Как сделал сейчас:
[opcache]
zend_extension=»%sprogdir%/modules/php/%phpdriver%/ext/php_opcache.dll»
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
Теперь все прекрасно работает.
Максим, спасибо за помощь
Возникла еще одна проблема.
Если выполняется в консоли скрипт, в котором есть команда git, то возникает ошибка — команда не найдена. Хотя в стандартной командной строке cmd команды git работают, т к git установлен.
Как решить эту проблему?
По поводу переменных, есать проблемы так как не могу разширить свою конфигурацию для Nginx;
Скопировал файл Nginx-1.7_vhost.conf в корень нужного домена.
Нигде в доке нету упоминания о переменной для PHP
есть: %httpport%, %httpsport%, %httpbackport%, %redispost% etc.
единственное место где используеться это значение, это настройки стрима, ну и тут меня ожидал облом
#———————————————#
# FastCGI PHP
#———————————————#
Open не является внутренней или внешней командой исполняемой программой #22
Как я могу изменить %streams% и получить значение поля из настроек для ПХП порта %phpport% не работает
Соглядатай писал(а): Возникла еще одна проблема.
Если выполняется в консоли скрипт, в котором есть команда git, то возникает ошибка — команда не найдена. Хотя в стандартной командной строке cmd команды git работают, т к git установлен.
Как решить эту проблему?
Поменяйте в настройках Open Server PATH на «Свой PATH + Win PATH», потому что встроенная консоль знать не знает про ваш git в системе.
Максим, может поставить в сборке по дефолту выбранный пункт «Свой PATH + Win PATH» что б таких вопросов не возникало?
AVATOR писал(а): Максим, может поставить в сборке по дефолту выбранный пункт «Свой PATH + Win PATH» что б таких вопросов не возникало?
Подобная настройка вызовет моментальный шквал проблем из-за огромного числа конфликтов со стационарно установленным софтом. Так что эта настройка неспроста имеет другое дефолтное значение.
Максим писал(а): Поменяйте в настройках Open Server PATH на «Свой PATH + Win PATH», потому что встроенная консоль знать не знает про ваш git в системе.
Максим, спасибо! Теперь можно полноценно работать из этой консоли.
Еще один вопрос — а как быть, например, с пакетами, которые требуют выбрать установленный php.exe в системе?
Например, Composer:
https://getcomposer.org/download/
При установке на windows-машине он запрашивает php, который я указываю в папке modulesphpPHP-5.5 OpenServer’а и выдает ошибку:
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with —with-openssl
Строка с openssl раскомментирована. Некоторую информацию нашел здесь:
http://stackoverflow.com/questions/1806 . l-composer
Но пока не получается что-либо сделать. Возможно, это связано с portable-установкой всех модулей.
[upd=1417224350][/upd]
Как оказалось, composer уже установлен и надо просто уметь им пользоваться. Нашел необходимую информацию тут:
/viewtopic.php?f=6start=20
http://open-server.ru/docs/#rabota-s-composer
И снова столкнулся с переменными средами. сейчас, например, для Laravel требуется запуск команды homestead, a homestead — это пакет, поставляемый через composer.
Собственно, при запуске команды происходит следующее:
C:Usersuser>homestead «php» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Через консоль OpenServer все, естественно, работает. Однако каждый раз приходится запускать сначала его, а потом консоль, чтобы вызвать пару команд.
Возможно ли как-то включить использование php, composer и иных модулей для работы в системе? Без запуска OpenServer, например, через батник или exe-шник.
P.s. Никогда не ковырялся во внутренностях модуля php, чтобы понять что ему нужно для работы. Однако могу сказать, что простого указания php.exe для системы явно недостаточно =)
Источник: ospanel.io
PHP. От простого с сложному
Данная ошибка возникает, если попытаться вызвать из консоли Windows bat-файл phpcs.bat:
Если заглянуть в файл phpcs.bat, то там можно увидеть следующее:
Причина ошибки в том, что система не может найти путь к интерпретатору php у вас на компьютере. Для устранения данной ошибки можно решить задачу «в лоб» — просто указать прямые пути к интерпретатору php и самому файлу phpcs.
Напишем в файле phpcs.bat:
«C:wampbinphpphp5.5.12php.exe» -d auto_append_file=»» -d auto_prepend_file=»» -d include_path=»‘C:wampbinphpphp5.5.12php.exe'» -f «C:toolsPHP_CodeSniffer-masterscriptsphpcs» — %*
Как видно, здесь мы указали:
— путь к интерпретатору php: C:wampbinphpphp5.5.12php.exe
— путь к файлу Code Sniffer — phpcs: C:toolsPHP_CodeSniffer-masterscriptsphpcs
После этого запуск bat-файла из консоли не будет вызывать ошибок. Это позволит нам настроить Code Sniffer в PHP Storm.
Источник: phpsimplest.blogspot.com
Как устранить ошибку «php» не является внутренней или внешней командой, исполняемой программой или пакетным файлом в терминале phpstorm?
При запуске команды php artisan serve в терминале phpstorm выдается ошибка
«php» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Что нужно сделать чтобы оно работало?
- Вопрос задан более трёх лет назад
- 7660 просмотров
Источник: qna.habr.com