Юрий П.
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

Вот этот файл лежит именно по ЭТОМУ пути ?
Юрий П.
70 сообщений
#4 года назад
crus94, Нашёл решение. Так работает
wget -t 1 -O -
Сидоров В.
918 сообщений
#4 года назад
yurec2073, костыль же.
Если я не ошибаюсь
в
include_once("../files/ialias.php");
относительный путь считается относительно не самого скрипта, а относительно рабочей директории.
Так что либо меняйте рабочую директорию в кроне. либо перепишите на
include_once(__DIR__ ."../files/ialias.php");
Юрий П.
70 сообщений
#4 года назад
inter-job, Спасибо, попробую и этот вариант
Андрей В.
1205 сообщений
#4 года назад
Цитата:
При запуске через Cron выдаёт ошибку.
Научитаться читать или хотя бы гуглить ошибки это конечно тоже навык