Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有适用于windows的简单php shell?_Php_Windows_Command Line - Fatal编程技术网

是否有适用于windows的简单php shell?

是否有适用于windows的简单php shell?,php,windows,command-line,Php,Windows,Command Line,是否有适用于windows的命令行php shell?我正在寻找类似于python shell的东西,它将允许我打开并立即开始执行代码。有用于PHP的windows命令行:看看是否使用-a参数运行PHP.exe,或者可能是项目。有-这不太好,但是仍然比php-a好得多。(另外,安装非常简单,只需运行pear安装即可http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz)也有,但我还没有试过。试试这个: <?php $fh =

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

有用于PHP的windows命令行:

看看是否使用
-a
参数运行PHP.exe,或者可能是项目。

有-这不太好,但是仍然比php-a好得多。(另外,安装非常简单,只需运行
pear安装即可http://jan.kneschke.de/assets/2007/2/17/PHP_Shell-0.3.1.tgz
)也有,但我还没有试过。

试试这个:

<?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 = '';
}

按CTRL+C键退出。

可能已应答-请阅读此处: 我想我找到了最简单的方法,因为我对使用自己很感兴趣:)


我从这里和其他一些论坛/页面尝试所有选项。。。Windows无法使用readline。

我在github上也找到了这两个:

  • ubermuda/PHPInteractiveShell

  • d11wtq/boris·非窗户


    • 是我最近见过的最好的REPL shell。选项卡完成、phpdoc支持、正确的命名空间处理、交互式调试、插件支持等等。它是纯PHP,并且具有composer支持,因此应该很容易在Windows上安装。我只在Linux上试过,但看看代码,它似乎甚至在没有readline的操作系统上有一些历史支持。

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

      @echo off
      :loop
      php.exe -r "while (true) { eval (fgets (STDIN) ); echo PHP_EOL; }"
      goto loop
      
      立即执行,Ctrl+C表示退出。在“php.exe”之前插入正确的路径。

      @Pavle Predic的答案()在Windows上适用于我

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

    • 新建并将
      shell.php
      保存在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%
      


    • 它在windows下的行为如何类似于python shell?我认为与OP要求的交互(键入)方式相比,它的支持方式确实有所不同。我尝试运行
      php-a
      ,但它没有按我预期的方式运行。我没有收到任何类型的提示(除了说明“Interactive mode enabled”(已启用交互模式),并且简单的
      回显“hello world”
      不会产生任何类型的输出。请参见此处的第一个用户提供的说明,以获取示例:python shell在
      ENTER
      not on
      CTRL+Z
      上执行IIRC,然后按
      ENTER
      。您可能可以使用自动热键之类的工具(例如,在
      SHIFT+ENTER
      )创建一个键盘makro,然后重新启动
      php-a
      @hakre,是的。它不会完全像python,但至少它是交互式的。很好的说明。我想这是最接近本机PHP的。phpsh似乎是我想要的,但我似乎无法在windows上运行它。当我运行
      python setup.py build
      时,我得到了
      名称错误:名称“\uuu init\uuuuu”没有定义
      @ewok,我也很难让phpsh在windows上工作。我已经对python代码进行了黑客攻击,试图让它正常工作,它肯定是为linux编写的。使用了很多linux/unix特定的操作系统方法。由于我了解python,我正在考虑分叉项目以使其对windows友好。@jlafay如果/当您启动并运行该项目时,请告诉我。@ewok,我很可能不记得回到这里并发表评论让您知道,因此最好在github上“观看”分叉,以便您可以收到通知。你找到解决方法了吗?请在这里发布答案,而不是答案的链接。你的意思是制造口是心非吗?链接不再有效。如果你使用Linux,boris是一个很好的shell。我不得不评论“重启电脑”--你真的需要这么做是非常罕见的。
      @echo off
      :loop
      php.exe -r "while (true) { eval (fgets (STDIN) ); echo PHP_EOL; }"
      goto loop