Bash中的PHP命令不执行代码

时间:2019-03-13 20:08:17

标签: php bash terminal

好,所以我在MacBook Air上发现的这个东西有问题。它被称为终端,您可以在上面做疯狂的事情。所以无论如何,当我输入命令“ php”时,它会给我一个多行控制台,但是当我运行一行php时,它什么也不会做!例如,我键入echo“ Hello World”,但它像打字机一样返回,什么也没有发生!有人可以告诉我发生了什么,有办法退出吗?

4 个答案:

答案 0 :(得分:0)

我相信,如果您只是在终端中输入php,它将在本地mac上启动php服务器进程。如果要运行脚本,则必须进入工作目录并键入php filename.php

答案 1 :(得分:0)

如果您想直接使用PHP代码,则必须输入不带php -a标记的a,您只需要在php环境中输入即可。

答案 2 :(得分:0)

直接从命令行运行php命令时,它的行为就像从命令行读取.php一样

您注意到,它只是回显您向其写入的所有内容,这与它执行.php文件相同,它会将任何html回显至浏览器

示例:

$ php
sss
<?PHP
echo 'Hello!';
?>
More data!

ctrl + d (表示已到达文件末尾)

输出:

sss
Hello!More data!

答案 3 :(得分:0)

首先检查您是否已正确安装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