将PHP CLI脚本别名化,以便执行不会';不需要PHP前缀


Aliasing a PHP CLI script so that the execution doesn't need PHP prefix

我有一个使用调用的PHP CLI脚本

php application.php --args etc

然而,我想给脚本取一个别名,这样我就可以执行脚本,而不用在命令行调用前加上php和扩展名".php"。

application --args etc

这可能吗?我认为是的,但缺乏在谷歌上搜索的知识或可能是正确的术语。

您需要执行Mike Brants所说的操作,将下一行添加到sample.php文件

#!/path/to/cli/php

但你也必须在linux 中完成这些操作

chmod +x sample.php

告诉linux(unix)机器将这些文件解释为一个可执行的

您可以使用shebang来定义要在文件中执行的应用程序。因此,在脚本的开头,你会放置这样的东西:

#!/path/to/cli/php
<?php
// start your PHP here

当从命令行执行时,操作系统将知道使用指定的PHP CLI应用程序来执行脚本。显然,PHP CLI excutable的路径会根据您的系统而有所不同,应该用我上面显示的内容来代替。

这比别名IMO更灵活,因为您不需要为每个想要从命令行以这种方式运行的PHP脚本输入别名。

啊。可以将别名添加到.base_profile

http://www.hypexr.org/bash_tutorial.php#alias

使用所谓的"shebang":

在脚本的第一行中添加:

#!/usr/bin/php

其中/usr/bin.php是php-cli可执行文件的路径。就是这样!

更合乎逻辑和愉快(至少我最喜欢)的调用是#!/usr/bin/env php

引用PHP手册上用户贡献的注释的一部分:

使用"env"查找PHP的安装位置:它可能位于$PATH中的其他位置,例如/usr/local/bin。