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

时间:2012-04-18 01:45:10

标签: php 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上可执行)。

然后您可以按以下方式运行..... 的 ./ test.php的 要么 php test.php

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

ALSO

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

我已经看过了两个,并且看到-q标志是为了安静html的东西,但是想知道是否 使用cli兼容性编译的php确实需要-q标志??? 谢谢你的帮助:)

2 个答案:

答案 0 :(得分:0)

如果您为自己的目的编写小的PHP脚本,#!没问题。

如果他们要在某种世界可见的盒子(例如网络服务器)上,那么我会说不太好 - 因为你已经使它们成为可执行文件,现在它们存在安全风险。

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

答案 1 :(得分:0)

#!/usr/bin/php

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

  

“#!/ bin / sh”

,然后文件的内容作为shell脚本执行。

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

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

关于-q标志看this 特别是

  抢劫23-Mar-2007 11:48

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