Windows有一个简单的PHP shell吗?

时间:2011-12-12 21:03:46

标签: php windows command-line

是否有可用于Windows的命令行php shell?我正在寻找类似于python shell的东西,这将允许我打开并立即开始执行代码。

9 个答案:

答案 0 :(得分:5)

答案 1 :(得分:5)

试试这个:

<?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退出。

答案 2 :(得分:3)

查看运行带有-a参数的php.exe,或者phpsh项目。

答案 3 :(得分:1)

php-shell - 它不是很好,但仍然比php -a更好。 (另外,安装起来很简单,只需运行pear install http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz。)还有phpa-norl,但我还没试过。

答案 4 :(得分:1)

另一个简单的变体,受到其他答案的影响。创建并运行以下cmd脚本:

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

立即执行,Ctrl + C退出。在&#34; php.exe&#34;。

之前插入正确的路径

答案 5 :(得分:0)

我在github上发现了这两个:

答案 6 :(得分:0)

PsySH是我最近见过的最好的REPL shell。 Tab-completion,phpdoc支持,正确的命名空间处理,交互式调试,插件支持等等。它是纯PHP并且具有作曲家支持,因此它应该易于在Windows上安装。我只是在Linux上尝试过,但是看一下代码,它似乎甚至在没有readline的操作系统上有一些历史支持。

答案 7 :(得分:0)

@Pavle Predic的答案(https://stackoverflow.com/a/15742101/2752670)适用于Windows。

但是我想在任何地方使用shell.php文件,所以我的解决方案是:

  1. 在php安装的dir(或其他你喜欢的地方)中新建并保存shell.php,例如C:\Program Files\php-5.6.12-Win32-VC11-x64\shell.php

  2. 新增 Windows环境变量,键:shell.php,值:"C:\Program Files\php-5.6.12-Win32-VC11-x64"

  3. 重新启动计算机

  4. 在系统中的任何位置使用:

    php %shell.php%

答案 8 :(得分:-1)

也许回答 - 请在此处阅读:https://stackoverflow.com/a/19085620/2480481 我想我找到了最简单的方法,因为我很有兴趣使用自己:)

我尝试了这里以及其他一些论坛/页面的所有选项... Windows无法使用readline。