好的,所以我在MacBook Air上发现了这个问题。它被称为终端,你可以做它疯狂的东西。所以无论如何,当我输入命令“php”时,它给了我一个多行控制台,但是当我运行一行php时它没有做任何事情!例如,我键入echo“Hello World”,但它只是像打字机一样返回它,没有任何反应!有人可以告诉我发生了什么,有没有办法退出这个?
首先检查你是否正确安装了php:
键入控制台:
php -v
你应该看到安装的PHP的版本:
PHP 7.3.3 ......
从控制台运行单行代码,你这样做:
php -r 'echo "\nHello World\n";'
其中\ n是新行字符。
进入交互模式并运行多行代码:
php -a
一旦你看到:
启用交互模式
php>
类型:
echo "\nHello World\n";
然后按[Enter]键。
而已。
离开交互模式类型:
exit
注意缺乏;在末尾。
如果你想从控制台运行一个文件中的PHP代码:
php -f <path-to-the-file>
但这是php的默认行为,所以如果你错过了标志-f并只输入:
php
它什么都不做,期望你提供一个文件的路径,就像在带有标志-f的例子中的php一样:
php <path-to-file>
因此,如果程序员的意图是进入交互模式,但他只键入php
没有任何标志,php将不会警告错过文件的路径,所以程序员可能会有他想要的PHP交互模式,但这不是真的。
要查看php cli中的所有可能选项,请键入:
php --help
我相信如果你只是在终端输入php,它将在本地mac上启动一个php服务器进程。如果要运行脚本,则必须进入工作目录并键入php filename.php
。
如果你想直接使用PHP代码,你必须输入没有php -a
标志的a
,你只需要进入php环境。
直接从命令行运行php
命令时,它的行为与从命令行读取.php
的行为相同
你注意到它只是回显你写的任何东西,这与执行.php
文件相同,它回显任何html回浏览器
例:
$ php
sss
<?PHP
echo 'Hello!';
?>
More data!
ctrl + d(表示文件末尾已到达)
输出:
sss
Hello!More data!