есть ли простая оболочка php для windows? - PullRequest
11 голосов
/ 13 декабря 2011

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

Ответы [ 9 ]

5 голосов
/ 01 апреля 2013

Попробуйте это:

<?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, чтобы выйти.

5 голосов
/ 13 декабря 2011

Для PHP есть командная строка windows: http://php.net/manual/en/install.windows.commandline.php

3 голосов
/ 13 декабря 2011

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

1 голос
/ 12 апреля 2016

Еще один простой вариант, под влиянием других ответов. Создайте и запустите следующий cmd-скрипт:

@echo off
:loop
php.exe -r "while (true) { eval (fgets (STDIN) ); echo PHP_EOL; }"
goto loop

Немедленное выполнение, Ctrl + C для выхода. Вставьте правильный путь перед "php.exe".

1 голос
/ 10 июля 2012

Есть php-shell - это не здорово, но все же намного лучше, чем php -a. (Кроме того, его очень просто установить, просто запустите pear install http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz.) Есть также phpa-norl , но я не пробовал.

0 голосов
/ 22 апреля 2016

@ Ответ Павла Предича (https://stackoverflow.com/a/15742101/2752670) работает для меня в Windows.

Но я хочу использовать файл shell.php где угодно, поэтому мое решение:

  1. new и сохраните shell.php в установленном php-каталоге (или в другом месте), например, C:\Program Files\php-5.6.12-Win32-VC11-x64\shell.php

  2. new a Переменная среды Windows , ключ: shell.php, значение: "C:\Program Files\php-5.6.12-Win32-VC11-x64"

  3. перезагрузить компьютер

  4. использовать в любом месте системы:

    php %shell.php%

0 голосов
/ 16 марта 2015

PsySH - лучшая оболочка REPL, которую я когда-либо видел.Завершение табуляции, поддержка phpdoc, правильная обработка пространства имен, интерактивная отладка, поддержка плагинов и многое другое.Это чистый PHP и имеет поддержку композитора, поэтому его должно быть легко установить на Windows.Я только попробовал это на Linux, но, глядя на код, кажется, что даже есть некоторая поддержка истории на ОС без readline.

0 голосов
/ 17 октября 2013

Я нашел эти два также на github:

0 голосов
/ 30 сентября 2013

Может быть ответили - Читайте здесь: https://stackoverflow.com/a/19085620/2480481 Я думаю, что нашел самый простой способ сделать это, потому что мне так интересно использовать себя :)

Я пробую все варианты отсюда и с некоторых других форумов / страниц ... Windows не может использовать readline.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...