Есть ли доступная для Windows оболочка php командной строки? Я ищу что-то похожее на оболочку python, что позволит мне открыться и сразу же начать выполнение кода.
Посмотрите, как работает php.exe с аргументом -a
, или, возможно, с проектом phpsh .
Для PHP есть командная строка Windows: http://php.net/manual/en/install.windows.commandline.php
Попробуй это:
<?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, чтобы выйти.
Другой простой вариант, под влиянием других ответов. Создайте и запустите следующий cmd-скрипт:
@echo off :loop php.exe -r "while (true) { eval (fgets (STDIN) ); echo PHP_EOL; }" goto loop
Немедленное выполнение, Ctrl + C для выхода. Вставьте правильный путь до «php.exe».
Существует php-оболочка – она не велика, но все же лучше, чем php -a
. (Кроме того, он прост в установке, просто запустите pear install http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz
.) Существует также phpa-norl , но я не пробовал.
Я нашел эти два на github:
ubermuda / PHPInteractiveShell https://github.com/ubermuda/PHPInteractiveShell
d11wtq / boris · не окна https://github.com/d11wtq/boris
PsySH – лучшая оболочка REPL, которую я недавно видел. Tab-завершение, поддержка phpdoc, правильная обработка пространства имен, интерактивная отладка, поддержка плагинов и многое другое. Это чистый PHP и поддержка композитора, поэтому его легко установить в Windows. Я только пробовал это на Linux, но, глядя на код, кажется, даже имеет некоторую поддержку истории в ОС без readline.
Ответ @Pavle Predic ( https://stackoverflow.com/a/15742101/2752670 ) работает для меня в Windows.
Но я хочу использовать файл shell.php
любом месте, поэтому мое решение:
новый и сохранить shell.php
в установленном C:\Program Files\php-5.6.12-Win32-VC11-x64\shell.php
(или где вам больше нравится), например C:\Program Files\php-5.6.12-Win32-VC11-x64\shell.php
новая переменная среды Windows , ключ: shell.php
, значение: "C:\Program Files\php-5.6.12-Win32-VC11-x64"
Перезапустить компьютер
использовать в любом месте системы:
php %shell.php%
Может быть, ответ – Читайте здесь: https://stackoverflow.com/a/19085620/2480481 Я думаю, что я нашел самый простой способ сделать это, потому что мне так интересно использовать себя 🙂
Я пробую все варианты отсюда и от некоторых других форумов / страниц … Windows не может использовать readline.