*.php
是常规脚本文件,与任何其他脚本语言(如 perl)一样,它需要解释器才能运行。因此,如果您想从命令行运行脚本,您可以调用解释器并将脚本文件作为参数提供,例如:
$ /usr/bin/php myscript.php
就是这样 - 它应该运行。
或者(如果使用 linux/bsd 工作)添加为 PHP 脚本文件的第一行:
#!/usr/bin/php -q
它告诉 shell 在哪里寻找这个脚本文件的解释器。请确保您的 PHP 在/usr/bin
文件夹中,因为这可能因发行版而异。您可以使用 进行检查which
,如下所示:
$ which php
/usr/bin/php
如果路径正确,您还需要在脚本文件上设置可执行位,以便您可以尝试“启动它”:
chmod a+x myscript.php
这将使它的行为与任何其他应用程序一样,因此您可以通过这种方式启动它:
/full/path/to/myscript.php
或从当前文件夹:
./myscript.php
这就是这种方法。它应该运行。
所以你的 crontab 行看起来(取决于选择的方法):
1 * * * * /full/path/to/myscript.php
或者
1 * * * * /usr/bin/php -q /full/path/to/myscript.php
你应该使用“0”而不是“1”,因为一小时的第一分钟为零,即:
0 * * * * /usr/bin/php -q /full/path/to/myscript.php
编辑
请注意 cron工作目录是用户的主目录。所以你需要考虑到这一点,这通常意味着使用绝对路径。或者,您可以在通话前加上cd <script working path> && /usr/bin/php -q /full/....