Bash中的PHP命令不执行代码

问题描述 投票:0回答:4

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

php bash terminal
4个回答
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

0
投票

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


0
投票

如果你想直接使用PHP代码,你必须输入没有php -a标志的a,你只需要进入php环境。


0
投票

直接从命令行运行php命令时,它的行为与从命令行读取.php的行为相同

你注意到它只是回显你写的任何东西,这与执行.php文件相同,它回显任何html回浏览器

例:

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

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

输出:

sss
Hello!More data!
© www.soinside.com 2019 - 2024. All rights reserved.