Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 020 769 раз!

Форум

Добро пожаловать, Гость!

Выполнение php в командной строке

Обсуждение общих вопросов связанных с программой
Аватара пользователя
hudson
Сообщения: 50
C нами: 4 года 6 мес

Непрочитанное сообщение hudson » 06 июн 2012, 12:16

Ребята, подскажите, есть ли более цивилизованный способ выполнять php-скрипты из консоли? Сейчас приходится так делать:

..\..\..\server\php\PHP-5.3.13\php app\console


Чую что надо копать в сторону PATH, но не понимаю сути настроек.

Аватара пользователя
Asmodey
Сообщения: 299
C нами: 4 года 7 мес

Непрочитанное сообщение Asmodey » 06 июн 2012, 20:33

Кошерней создать где надо файл php.cmd

..\..\..\server\php\PHP-5.3.13\php %1 %2 %3 %4

Если будет раздражать повторение строки запуска, то добавить @ в начале строки.

Аватара пользователя
DelphinPRO
Сообщения: 637
C нами: 4 года 10 мес
Откуда: Самара
Контакты:

Непрочитанное сообщение DelphinPRO » 07 июн 2012, 08:10

добавить в переменную окружения PATH путь до php.exe
тогда достаточно будет писать
php app\console

Аватара пользователя
Asmodey
Сообщения: 299
C нами: 4 года 7 мес

Непрочитанное сообщение Asmodey » 07 июн 2012, 09:40

Тогда всё (кто не пишет полный путь) будет сидеть на одной версии

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4876
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 07 июн 2012, 10:52

Дождитесь новой версии. Так можно будет так:

Создаете закладку на консоль. Запускаете через закладку консоль и пишете в консоли
php.exe C:\app\лалалала\ваш.php

Аватара пользователя
hudson
Сообщения: 50
C нами: 4 года 6 мес

Непрочитанное сообщение hudson » 07 июн 2012, 19:46

Максим писал(а):Дождитесь новой версии. Так можно будет так:

Создаете закладку на консоль. Запускаете через закладку консоль и пишете в консоли
php.exe C:\app\лалалала\ваш.php


О, стоит потерпеть ) Спасибо

Asmodey писал(а):Кошерней создать где надо файл php.cmd

..\..\..\server\php\PHP-5.3.13\php %1 %2 %3 %4

Если будет раздражать повторение строки запуска, то добавить @ в начале строки.


Батник тоже вариант, голова моя дурная )

Аватара пользователя
DelphinPRO
Сообщения: 637
C нами: 4 года 10 мес
Откуда: Самара
Контакты:

Непрочитанное сообщение DelphinPRO » 07 июн 2012, 21:33

Максим писал(а):Создаете закладку на консоль. Запускаете через закладку консоль

и какой currentdir будет в этой консоли?

мне удобнее открывать консоль из папки со скриптами, и currentdir становится равным этой папке.
плюсы
- не надо выполнять линюю команду типа
cd w:\domains\site\papka\

- или же не надо писать полные пути к скриптам типа
php w:\domains\site\papka\file.php

пишем просто
php file.php


но я работаю с одной версией и путь к php.exe прописан в PATH

Если принципиально нужно несколько версий - создайте батники в системной папке
php52.cmd
@path\to\php5.2\php.exe %1 %2 %3 %4

и php53.cmd
@path\to\php5.3\php.exe %1 %2 %3 %4


потом открываете консоль из папки со скриптом и пишете
php53 file.php

Аватара пользователя
hudson
Сообщения: 50
C нами: 4 года 6 мес

Непрочитанное сообщение hudson » 08 июн 2012, 07:54

DelphinPRO писал(а):
Максим писал(а):но я работаю с одной версией и путь к php.exe прописан в PATH

Если принципиально нужно несколько версий - создайте батники в системной папке
php52.cmd
@path\to\php5.2\php.exe %1 %2 %3 %4

и php53.cmd
@path\to\php5.3\php.exe %1 %2 %3 %4


потом открываете консоль из папки со скриптом и пишете
php53 file.php


Ну как сказать, принципиально. Основные проекты пока запускаю на 5.3.13, есть пара экспериментальных на 5.4 для обучения. Не принципиально, но нужно. У меня в PATH вообще php 5.4.2 от денвера остался )

Аватара пользователя
hudson
Сообщения: 50
C нами: 4 года 6 мес

Непрочитанное сообщение hudson » 20 июн 2012, 11:11

Похоже с приходом 4.5.6 началась свистопляска с Pear.

При установке подсовываем правильный ini, всё пока нормально:

d:\openserver\modules\php\PHP-5.3.13>php -c ..\..\..\userdata\temp\config\php.ini go-pear.phar

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : local
Please confirm local copy by typing 'yes' : yes

Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.

1. Installation base ($prefix) : D:\openserver\modules\php\PHP-5.3.13
2. Temporary directory for processing : D:\openserver\modules\php\PHP-5.3.13\tmp
3. Temporary directory for downloads : D:\openserver\modules\php\PHP-5.3.13\tmp
4. Binaries directory : D:\openserver\modules\php\PHP-5.3.13
5. PHP code directory ($php_dir) : D:\openserver\modules\php\PHP-5.3.13\pear
6. Documentation directory : D:\openserver\modules\php\PHP-5.3.13\docs
7. Data directory : D:\openserver\modules\php\PHP-5.3.13\data
8. User-modifiable configuration files directory : D:\openserver\modules\php\PHP-5.3.13\cfg
9. Public Web Files directory : D:\openserver\modules\php\PHP-5.3.13\www
10. Tests directory : D:\openserver\modules\php\PHP-5.3.13\tests
11. Name of configuration file : D:\openserver\modules\php\PHP-5.3.13\pear.ini
12. Path to CLI php.exe : D:\openserver\modules\php\PHP-5.3.13

1-12, 'all' or Enter to continue:


А вот после начала установки похоже параметр -c не пробрасывается - вылетают ошибки о невозможности подгрузить расширения:

Failed loading D:/openserver/server/php/PHP-5.3.13/ext/php_ioncube.dll
Failed loading D:/openserver/server/php/PHP-5.3.13/ext/php_xdebug.dll
PHP Warning: PHP Startup: Unable to load dynamic library 'D:/openserver/server/php/PHP-5.3.13/ext/php_apc.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№.
in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'D:/openserver/server/php/PHP-5.3.13/ext/php_apc.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№.
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'D:/openserver/server/php/PHP-5.3.13/ext/php_mbstring.dll' - ═х эрщфхэ єърчрээ√щ ьюфєы№.
in Unknown on line 0


Pear при этом вполне себе ставится.

Но это пол беды, pear.bat (и прочие батники типа phpcs, phpunit) также будут без -c стартовать.

Пока решил таким костылём: в pear.bat

:RUN
"%PHP_PEAR_PHP_BIN%" -c "%PHP_PEAR_INSTALL_DIR%\..\..\..\..\userdata\temp\config\php.ini" -C -d date.timezone=UTC -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d register_argc_argv="On" -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END


Сейчас буду тестировать phpcs и phpunit

Аватара пользователя
Максим
Cейчас: в сети
Сообщения: 4876
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 20 июн 2012, 12:12

1) запускайте все консоли из openserver через закладки
2) скопируйте php.ini в папку с php на время установки модуля pear а потом удалите


Вернуться в «Обсуждение Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость