交互式 Shell 和交互模式不是一回事,尽管它们有相似的名称和功能。
如果您输入 'php -a' 并得到 'Interactive Shell' 后跟 'php>' 提示符的响应,则您有交互式 shell 可用(PHP 使用 readline 支持编译)。如果相反,您得到 'Interactive mode enabled' 的响应,则您没有交互式 shell 可用,本文不适用于您。
您还可以检查 'php -m' 并查看 readline 是否列在输出中 - 如果没有,则您没有交互式 shell。
交互模式本质上就像使用 stdin 作为文件输入运行 php。您只需输入代码,当您完成时(Ctrl-D),php 将执行您输入的任何内容,就像它是正常的 PHP (PHTML) 文件一样 - 因此您以 '<?php' 开始交互模式才能执行代码。
交互式 shell 在您完成输入时(带有 ; 或 })评估每个表达式,在不终止执行的情况下报告错误,并通过 readline 支持标准 shell 功能(历史记录、制表符完成等)。它是交互模式的增强版本,只有在您拥有必需的库时才可用,并且是一个实际的 PHP shell,它将您输入的任何内容解释为 PHP 代码 - 使用 '<?php' 会导致解析错误。
最后,如果您在 Windows 上运行,您可能就完了。从我在其他评论中看到的情况来看,您没有 readline,如果没有 readline,就没有交互式 shell。