是否有可用于Windows的命令行php shell?我寻找类似于python shell的东西,这将允许我打开并立即开始执行代码。
是否有可用于Windows的命令行php shell?我寻找类似于python shell的东西,这将允许我打开并立即开始执行代码。
看看运行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 shell。 Tab-completion,phpdoc支持,正确的命名空间处理,交互式调试,插件支持等等。它是纯PHP并且具有作曲家支持,因此它应该易于在Windows上安装。我只是在Linux上尝试过,但是看一下代码,它似乎甚至在没有readline的操作系统上有一些历史支持。
@Pavle Predic的回答(https://stackoverflow.com/a/15742101/2752670)在Windows上为我工作。
但我想用 shell.php
文件位置,所以我的解决方案是:
新的和保存 shell.php
在php安装的dir(或你喜欢的其他地方),例如 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。