Хостинг. Проблема с cron

mrk02
5 років
0
Здравствуйте. У меня какая-то проблема с кронтабами. По шагам:
1 создаю в корне файл cron-my.php с содержимым:
<?php
$f=fopen('a3.txt',"a");

fclose($f);
?>


2 в кронтабе создаю таск:
php /home/noa00/tomatina.ua/www/cron-my.php
время исполнения: * * * * *

то есть каждую минуту должен отработать пхп интерпретатор, выполнив скрипт, который должен создать файл
В итоге ничего не происходит.
Кто виноват и что делать?

пробовал и так(в настройках сайта установлена версия пхп 7.3):
/usr/local/php73/bin/php /home/noa00/tomatina.ua/www/cron-my.php
тоже без результата

Если данный .php файл віполнить в браузере, он отработает нормально, и файл а3 создается.

PS: данный скрипт создан для проверки срабатывает ли кронтаб. Далее планирую заменить ее на ларавельный таск(который изначально не срабатывал, потому заменил на наиболее простую задачу для тестов)
verliber
5 років
2
Попробуйте заменить $f=fopen('a3.txt',"a");
На
$f=fopen(__DIR__.'/a3.txt',"a");

Задача выполняется от каталога пользователя и файл должен быть в корне каталога Вашего аккаунта

Можете изменить рабочую директорию крона так Можно ли изменить рабочую директорию для крона?
mrk02
5 років
0
Что-то никак
Во первых, в ssh пишу
$ whereis php
и мне отвечает:
php: /usr/local/bin/php

то есть, интерпретатор находится по пути /usr/local/bin/php
Если я его подставляю в таск
/usr/local/bin/php /home/noa00/tomatina.ua/www/cron-my.php
то ругается:
"Внимание! PHP-версия обработчика задачи PHP 5.2 не совпадает с версией, которая установлена в настройках сайта, . Чтобы изменить версию обработчика задачи, пожалуйста, нажмите Исправить ."
mrk02
5 років
0
если таск пишу так:
/home/noa00/tomatina.ua/www/cron-my.php
то создается файл в самом корневом каталоге a3.txt
беда в том, что я уже пол часа как заменил скрипт на то что Вы подсказали:
$f=fopen(__DIR__.'/a5.txt',"a");
то есть 5 а не 3
чего оно создает 3 тогда???
verliber
5 років
0
Информация указанная при создании крон задачи - просто предупреждение.

Обратитесь, пожалуйста, в техподдержку для анализа Вашей проблемы и получения рекомендаций.
mrk02
5 років
0
саппорт по телефону сказал что по таким вопросам только в чатик
в чатике дали ссылку на документацию, и сказали что все логи что есть, это на странице кронтаба(то есть там где просто говорит что таск был выполнен)
вот как и вся техподдержка : (
verliber
5 років
0
В Вашей задаче /usr/local/php73/bin/php/home/noa00/tomatina.ua/www/cron-my.php вставьте пробел между /usr/local/php73/bin/php и /home/noa00/tomatina.ua/www/cron-my.php

В настройках задачи стоит включить отправку отчёта на почту для того чтобы отследить все ошибки

После этого если Ваш файл имеет такое содержание
<?php
$f=fopen(__DIR__.'a5.txt',"a");

fclose($f);
?>
То файл а5.txt должен будет создаться в каталоге Вашего сайта , при этом изменения задачи вступают в силу в течение 30 минут

Так же можете настроить выполнение через wget так
/usr/bin/wget -t 1 -O - tomatina.ua/cron-my.php
По этому примеру Как запустить cron через wget?
mrk02
5 років
0
0 без пробела это я случайно написал, это не реальный таск
1 добился исполнения, путем указания директории пхп из комманды whereis php
то есть "/usr/local/bin/php"
Итого, задача
/usr/local/bin/php /home/noa00/tomatina.ua/www/cron-my.php
отрабатывает правильно, файлик создается. Спасибо.

Пока просто игнорирую информирование об ошибке "Внимание! PHP-версия обработчика задачи PHP 5.2 не совпадает с версией, которая установлена в настройках сайта, . Чтобы изменить версию обработчика задачи, пожалуйста, нажмите Исправить ."
Но странно, что и указание просто php и абсолютный путь до php7.3 и без комманды php не отрабатывает
И как это надо понимать? Лично у менбя проблема? Или что?
verliber
5 років
0
При указании абсолютного пути к обработчику 7.3 /usr/local/php73/bin/php все нормально отрабатывает, по крайней мере в ходе тестирования проблемы не заметил, возможно стоит обратиться в чат для более детальной диагностики создав пару задач дополнительных для проверки ситуации с php 7.3 и просто указанием php с тем же скриптом, так как на данный момент сложно сказать с чем именно могла быть связана проблема.
Тема закрита.