Недавно мой сайт был перенесен на другой сервер из-за обслуживания на хосте. С тех пор как я не могу больше запускать этот скрипт как 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 (): Не удалось открыть обязательное ‘../inc/api.php’ (include_path = ‘.: / usr / local / lib / php’) в / home / provadja / domains / filmhuisalkmaar.nl / public_html / wp-content / themes / filmhuis-alkmaar / cron / load-productions.php в строке 3
Я проверил, сохраняются ли файлы, указывающие на отсутствие. И они были. Я проверил права доступа к файлам, и они установлены на 755, что должно быть более чем хорошо. Правильно?
Затем я попробовал wget со следующим cronjob:
/usr/bin/wget -O https://www.filmhuisalkmaar.nl/wp-content/themes/filmhuis-alkmaar/cron/load-shows.php
Но потом я продолжаю получать следующий URL:
wget: отсутствует URL
Использование: wget [OPTION] … [URL] …
Попробуйте «wget —help» для получения дополнительных опций.
Я действительно в растерянности здесь. Тем более, что раньше он работал нормально. Это очень расстраивает, потому что эти скрипты очень важны для моего сайта, чтобы оставаться в курсе.
Любая помощь будет принята с благодарностью. Спасибо.
Попробуйте запустить его так:
cd /home/provadja/domains/filmhuisalkmaar.nl/public_html/wp-content/themes/filmhuis-alkmaar/cron/ && php load-productions.php
Обратите внимание на использование cd
команда в начале. Это означает «изменить текущий рабочий каталог на ../cron/ и затем запустить скрипт 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) существует ли /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-> Алкмар / хрон / загрузка шоу s.php
Большое спасибо всем за помощь!