Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php CLI模式-f标志_Php_Command Line Interface - Fatal编程技术网

php CLI模式-f标志

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选项,又可

我正在阅读有关CLI模式下PHP的详细信息,我无法解释什么工具具有-f标志

可以将任何php脚本执行为
“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>