直到现在,我在cron中使用以下简单行:php somefile.php
现在,我发现有一个sha-bang:#!/ bin / php被添加到php文件的第一行,据我了解,这是对cron中文件名的php infront的一种替代,对?
将此行包含在我的cron执行的php脚本中有什么好处?
答案 0 :(得分:1)
使用shebang而不是显式调用解释器的主要优点是,您不必记住要为任何给定脚本使用哪个解释器(如果您使用漂亮的文件名而不使用文件扩展名,则它本身会更有用。是UNIX可执行文件的传统)。
由于cronjobs是硬编码的,因此在您的特定情况下没有太大的好处。这样一来,您就可以用其他语言重写脚本,而不必编辑cronjob本身。
答案 1 :(得分:0)
shebang用于让Linux知道使用了什么解释器。因此,当您使用chmod +x file
使该脚本成为可执行文件并且直接使用./file
执行该脚本时,Linux便不知道如何执行该脚本。
在使用php file.php
执行脚本时,Linux会尝试在PATH
中搜索二进制文件。