无法将 PHP-script 运行 作为 cronjob

Can't get PHP-script running as a cronjob

最近,由于主机维护,我的站点已移至其他服务器。自从我不能再将此脚本 运行 作为 cronjob:http://www.filmhuisalkmaar.nl/wp-content/themes/filmhuis-alkmaar/cron/load-shows.php

我尝试 运行使用 PHP 和以下 cronjob:

php /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhuis-alkmaar/cron/load-productions.php

但我一直收到以下错误:

PHP Warning: require_once(../inc/api.php): failed to open stream: No such file or directory in /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhuis-alkmaar/cron/load-productions.php on line 3 PHP Fatal error: require_once(): Failed opening required '../inc/api.php' (include_path='.:/usr/local/lib/php') in /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhuis-alkmaar/cron/load-productions.php on line 3

我检查了说明丢失的文件是否还在。他们是。我检查了文件权限,它们设置为 755,这应该没问题。对吗?

然后我用以下 cronjob 尝试了 wget:

/usr/bin/wget -O https://www.filmhuisalkmaar.nl/wp-content/themes/filmhuis-alkmaar/cron/load-shows.php

但后来我不断收到以下内容 URL:

wget: missing URL

Usage: wget [OPTION]... [URL]...

Try ‘wget --help’ for more options.

我真的很茫然。特别是因为它过去工作得很好。这非常令人沮丧,因为这些脚本对于我的网站保持更新至关重要。

任何帮助将不胜感激。谢谢。

试着运行这样:

cd /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhui‌​s-alkmaar/cron/ && php load-productions.php

注意在启动时使用cd命令。这意味着 "change current working directory to ../cron/ and then run script load-productions.php".

我更喜欢 cron 任务使用包含和必需脚本的完整路径。所以,而不是:

require_once("../inc/api.php");

我通常这样做:

$base = dirname(dirname(__FILE__));
require_once($base . "/inc/api.php");

这样服务器就知道要查找的确切位置,而不是相对于某些目录。

旁注:我也喜欢 /path/to/php -q /path/to/script.php。 :)

我将引用 fvu 对我的问题的评论,我已经尝试过并且现在可以确认它完全有效:

1) does /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhui‌​s-alkmaar/inc/api.php exist? 2) obvious error in wget usage (-O needs the name of the file in which to save the script output), try wget -O /dev/null https://www.filmhuisalkmaar.nl/wp-content/themes/filmhuis->alkmaar/cron/load-show‌​s.php

非常感谢大家的帮助!