Есть ли доступная для Windows оболочка php командной строки? Я ищу что-то похожее на оболочку python, что позволит мне открыться и сразу начать выполнение кода.
Есть ли простая php-оболочка для окон?
Ответ 1
Посмотрите на запущенный php.exe с аргументом -a
или, возможно, на проект phpsh.
Ответ 2
Для PHP существует командная строка Windows: http://php.net/manual/en/install.windows.commandline.php
Ответ 3
Попробуйте следующее:
<?php
$fh = fopen('php://stdin', 'r');
$cmd = '';
$bcLvl = 0;
while (true)
{
$line = rtrim(fgets($fh));
$bcLvl += substr_count($line, '{') - substr_count($line, '}');
$cmd.= $line;
if ($bcLvl > 0 or substr($cmd, -1) !== ';')
continue;
eval($cmd);
$cmd = '';
}
Сохраните этот код в файле (например, shell.php), а затем запустите его с консоли:
php shell.php
Нажмите CTRL + C для выхода.
Ответ 4
Существует php-shell - это не очень удобно, но все же лучше, чем php -a
. (Кроме того, он прост в установке, просто запустите pear install http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz
.) Существует также phpa-norl, но я не пробовал.
Ответ 5
Другой простой вариант, под влиянием других ответов. Создайте и запустите следующий cmd- script:
@echo off
:loop
php.exe -r "while (true) { eval (fgets (STDIN) ); echo PHP_EOL; }"
goto loop
Немедленное выполнение, Ctrl + C для выхода. Вставьте правильный путь до "php.exe".
Ответ 6
Я нашел эти два и в github:
-
ubermuda/PHPInteractiveShell https://github.com/ubermuda/PHPInteractiveShell
-
d11wtq/boris · не окна https://github.com/d11wtq/boris
Ответ 7
PsySH - лучшая оболочка REPL, которую я недавно видел. Tab-завершение, поддержка phpdoc, правильная обработка пространства имен, интерактивная отладка, поддержка плагинов и многое другое. Это чистый PHP и поддержка композитора, поэтому его легко установить в Windows. Я только пробовал это на Linux, но, глядя на код, кажется, даже имеет некоторую поддержку истории в ОС без readline.
Ответ 8
@Pavle Predic answer (fooobar.com/questions/476674/...) работает для меня в Windows.
Но я хочу использовать файл shell.php
в любом месте, поэтому мое решение:
-
new и сохраните
shell.php
в установленном php каталоге (или где вам больше нравится), например.C:\Program Files\php-5.6.12-Win32-VC11-x64\shell.php
-
new a переменная среды Windows, ключ:
shell.php
, значение:"C:\Program Files\php-5.6.12-Win32-VC11-x64"
-
перезагрузить компьютер
-
использовать в любом месте системы:
php %shell.php%
Ответ 9
Может быть, ответил - читайте здесь: fooobar.com/info/90230/... Я думаю, что я нашел самый простой способ сделать это, потому что мне так интересно использовать себя:)
Я пробую все варианты отсюда и от некоторых других форумов/страниц... Windows не может использовать readline.