4

最近,由于主机维护,我的网站被移到了另一台服务器上。自从我不能再将此脚本作为 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警告:require_once(../inc/api.php):无法打开流:/home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhuis-alkmaar/cron中没有这样的文件或目录/load-productions.php 在第 3 行 PHP 致命错误: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 在第 3 行

我检查了说明丢失的文件是否仍然存在。他们是。我检查了文件权限,它们设置为 755,这应该很好。正确的?

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

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

但后来我不断收到以下网址:

wget:缺少网址

用法:wget [选项]... [URL]...

尝试“wget --help”以获得更多选项。

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

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

4

3 回答 3

0

尝试像这样运行它:

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

注意cd在开始时使用命令。这意味着“将当前工作目录更改为 ../cron/ 然后运行脚本 load-productions.php”。

于 2015-05-29T06:12:15.647 回答
0

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

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

我一般会:

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

这样,服务器就可以准确地知道在哪里查找,并且与某些目录无关。

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

于 2015-05-29T16:37:42.673 回答
0

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

1) /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhui‌​s-alkmaar/inc/api.php 是否存在?2)wget使用明显错误(-O需要保存脚本输出的文件名),试试wget -O /dev/null https://www.filmhuisalkmaar.nl/wp-content/themes/filmhuis - >alkmaar/cron/load-show‌​s.php

非常感谢大家,您的帮助!

于 2015-05-29T23:31:07.280 回答