是否有可用于Windows的命令行php shell?我正在寻找类似于python shell的东西,这将允许我打开并立即开始执行代码。
答案 0 :(得分:5)
PHP的Windows命令行:http://php.net/manual/en/install.windows.commandline.php
答案 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上发现了这两个:
ubermuda / PHPInteractiveShell https://github.com/ubermuda/PHPInteractiveShell
d11wtq / boris·非窗口 https://github.com/d11wtq/boris
答案 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
文件,所以我的解决方案是:
在php安装的dir(或其他你喜欢的地方)中新建并保存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%
答案 8 :(得分:-1)
也许回答 - 请在此处阅读:https://stackoverflow.com/a/19085620/2480481 我想我找到了最简单的方法,因为我很有兴趣使用自己:)
我尝试了这里以及其他一些论坛/页面的所有选项... Windows无法使用readline。