php CLI模式-f标志
我正在阅读有关CLI模式下PHP的详细信息,我无法解释什么工具具有-f标志 可以将任何php脚本执行为php CLI模式-f标志,php,command-line-interface,Php,Command Line Interface,我正在阅读有关CLI模式下PHP的详细信息,我无法解释什么工具具有-f标志 可以将任何php脚本执行为“php name\u of_script.php”或“php-f name\u of_script.php” 我猜这个选项只是一种语法上的甜点。它的存在也可以解释为这样一个事实:当用户看到-f文件被执行时,它对用户来说更为明显。我无法编造任何其他解释。有人看到过它的其他用途吗?PHP有着非常悠久的历史,很多设计决策都在时间的迷雾中丢失了;我不确定是否有人能够确切地告诉您为什么既有-f选项,又可
“php name\u of_script.php”
或“php-f name\u of_script.php”
我猜这个选项只是一种语法上的甜点。它的存在也可以解释为这样一个事实:当用户看到-f文件被执行时,它对用户来说更为明显。我无法编造任何其他解释。有人看到过它的其他用途吗?PHP有着非常悠久的历史,很多设计决策都在时间的迷雾中丢失了;我不确定是否有人能够确切地告诉您为什么既有
-f
选项,又可以在没有任何选项的情况下运行文件
然而,它显然是为了方便用户而设计的;大多数命令行用户都希望解释器将提供的文件名解释为单个参数,这是最常见的用例,因此使其最快地键入是有意义的。我的猜测是,PHP CLI一开始只使用了-f
选项,后来添加了通过提供文件名来运行文件的选项,以使人们的生活更轻松。保留-f
是为了向后兼容
我可以想到一种情况,-f
选项很有用:如果文件名以连字符开头,例如-.php
当作为单个参数提供时,这将被视为一个选项,并且失败:
$ php -.php
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code
...
从手册中:-我猜这是一个遗留参数,将来可能会被弃用。可能重复的我不是指cron的具体情况。我得到了它。谢谢大家。也许我也应该像那个用户一样被否决。不管是不是Cron,这是同一个问题
$ php -f -.php
<script executes successfully>