Код в браузере работает, а через cron нет
70 сообщений
#4 года назад
Здравствуйте.Есть файл с кодом, который в браузере запускается, а через cron нет. Сам код:
<?php
include_once("./travelpayouts.php";
include_once("../files/ialias.php";
$time = time() - (86400*2);
$mysql = new mysqli('localhost', '........', '........', '........';
$mysql->query("SET NAMES utf8";
$stmt = $mysql->query("SELECT * FROM `directions` WHERE `time`<$time LIMIT 180";
$time = time();
while ($item = $stmt->fetch_assoc()) {
$date = date('Y-m', $time);
requestTP("/v1/prices/direct?origin=".$ialias]."&destination=".$ialias]."&depart_date=$date&return_date=$date";
requestTP("/v2/prices/latest?currency=RUB&origin=".$ialias]."&destination=".$ialias]."&one_way=true&period_type=year&limit=7&show_to_affiliates=true&sorting=price&trip_class=0";
$mysql->query("UPDATE `directions` SET `time`=$time WHERE `from`='$item' AND `to`='$item'";
}
echo 'Done';
При запуске через Cron выдаёт ошибку:
www-root$ /usr/bin/php /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.phpPHP Warning: include_once(./travelpayouts.php): failed to open stream: No such file or directory in /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.php on line 2
PHP Warning: include_once(): Failed opening './travelpayouts.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php' in /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.php on line 2
PHP Warning: include_once(../files/ialias.php): failed to open stream: No such file or directory in /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.php on line 3
PHP Warning: include_once(): Failed opening '../files/ialias.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php' in /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.php on line 3
В чём может быть проблема?
731 сообщение
#4 года назад
yurec2073, /var/www/www-root/data/www/chasov.com.ua/libs/cache_directions.php
Вот этот файл лежит именно по ЭТОМУ пути ?
918 сообщений
#4 года назад
yurec2073, костыль же.Если я не ошибаюсь
в
include_once("../files/ialias.php");относительный путь считается относительно не самого скрипта, а относительно рабочей директории.
Так что либо меняйте рабочую директорию в кроне. либо перепишите на
include_once(__DIR__ ."../files/ialias.php");