Есть ли простая php-оболочка для окон?

Есть ли доступная для Windows оболочка php командной строки? Я ищу что-то похожее на оболочку python, что позволит мне открыться и сразу начать выполнение кода.

Ответ 1

Посмотрите на запущенный php.exe с аргументом -a или, возможно, на проект phpsh.

Ответ 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".

Ответ 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.