Я запускаю cronjob, который вызывает php-скрипт. Я получаю «не удалось открыть поток», когда файл вызывается cron. Когда я подключился к каталогу и запустил файл из этого места, все хорошо. В принципе, файл include_once (), который я хочу включить, – это два каталога, где находится скрипт php.
Может кто-нибудь, пожалуйста, скажите мне, как я могу заставить это работать от кроны?
Существует несколько способов сделать это: вы могли бы cd
каталог в свой cron-скрипт:
cd /path/to/your/dir && php file.php
Или укажите правильный файл include относительно текущего скрипта в PHP:
include dirname(__FILE__) . '/../../' . 'includedfile.php';
cron
известен тем, что начал с минимальной среды. Или:
Пример последнего (что я обычно использую, если не так много вещей, которые нужно настроить):
0 5 * * * (export PATH = /mydir:$PATH ; myexecutable )
вам нужно посмотреть, каков путь, из которого запускается cron.
echo pathinfo($_SERVER["PATH_TRANSLATED"]);
в соответствии с этим
include $path_parts['dirname']."/myfile.php";