在 Linux shell 上运行 php 的最正确方法


Most correct way to run php at the linux shell

有没有从命令行使用 php 的正确方法...或者更确切地说...一种方式比另一种方式更正确吗?

如果创建文件,请使用以下代码进行 test.php:

#!/usr/bin/php
<?php
print "This is a test".PHP_EOL;
print "This is another test!!";
?>

然后是 chmod +x text.php(使其在 Linux 上可执行)。

然后,您可以通过以下方式运行....../测试.phpPHP测试.php

我更喜欢只使用 ./test.php,但经常在示例中看到 php test.php

是以下 shebang 行的正确语法 #!/usr/bin/php还是这更正确 #!/usr/bin/php -q

我都看过,并且看到 -q 标志是让 html 的东西安静下来,但想知道是否使用 CLI 兼容性编译的 PHP 确实需要 -q 标志???
感谢您的帮助:)

#!/usr/bin/php

在解释器脚本的第一行,"#!"是应该用于解释文件内容的程序的名称。例如,如果第一行包含

"#!/bin/sh"

,则文件的内容将作为 shell 脚本执行。

在您的情况下,这意味着使用/usr/bin 位置中的 php 文件执行脚本。

使用

php test.php 意味着您正在运行测试.php使用 php,因此您不需要第一行。 至于 ./test.php您的文件需要是可执行的,并且需要第一行。

关于 -q 标志看看这个具体在

rob 2007-3-23 11:48

如果你看到 -q 有更好的扩展。这是另一个

如果你是为了自己的目的编写小的php脚本,#!很好。

如果它们要放在某种世界可见的盒子(例如 Web 服务器)上,那么我会说不太好 - 因为你已经使它们可执行,它们现在是一个安全风险。

我倾向于将 #! 用于 perl、sh(它们总是很少的私有、非生产的东西)和 PHP 的php somefile.php(最终可能会也可能不会出现在服务器上)。