交互式 Shell 和交互模式并不相同,尽管名称和功能相似。
如果您键入“php -a”并得到“交互式 Shell”响应,后跟“php>”提示符,则表示您具有交互式 shell(PHP 使用 readline 支持编译)。如果改为得到“已启用交互模式”的响应,则表示您没有交互式 shell,本文不适用于您。
您还可以检查“php -m”,查看 readline 是否列在输出中 - 如果没有,则表示您没有交互式 shell。
交互模式基本上就像使用 stdin 作为文件输入运行 php 一样。您只需键入代码,完成后(Ctrl-D),php 将执行您键入的任何内容,就像它是一个普通的 PHP (PHTML) 文件一样 - 因此您在交互模式下以“
交互式 shell 会在您完成表达式(使用;或})时评估每个表达式,在不终止执行的情况下报告错误,并通过 readline 支持标准 shell 功能(历史记录、制表符补全等)。它是交互模式的增强版本,只有在您拥有所需库的情况下才能使用,并且它是一个实际的 PHP shell,它将您键入的所有内容解释为 PHP 代码 - 使用“
最后,如果您在 Windows 上运行,您可能遇到问题。从我在此处看到的其他评论来看,您没有 readline,如果没有 readline,则没有交互式 shell。