Страница 1 из 1

Cron функция не отрабатывает скрипт

Добавлено: 15 ноя 2022, 18:07
BlackStar
Есть функция php которая лежит по адресу от корневого файла
cron\update.php
в ней находиться просто тестовый код, который генерирует txt страницы.
<?php file_put_contents($_SERVER["DOCUMENT_ROOT"].'/cron/'.date('H-i-s_d-m-Y').'.txt', "123");
Функция проверена и она отрабатывает.

При создании cron запроса который по идеи должен выполняться каждую минуту

Изображение
%progdir%\modules\php\%phpdriver%\php-win.exe -c %progdir%\modules\php\%phpdriver%\php.ini -q -f %sitedir%\btsports.loc\cron\update.php
Эта функция не срабатывает. Можете подсказать в чём может быть проблема? (* В логах запросы вроде как вижу, но результата выполнения - нет.)

Re: Cron функция не отрабатывает скрипт

Добавлено: 16 ноя 2022, 23:01
SagePointer
А с чего вы взяли, что у вас при запуске из-под cli будет существовать переменная $_SERVER["DOCUMENT_ROOT"] ?

Re: Cron функция не отрабатывает скрипт

Добавлено: 19 ноя 2022, 21:42
BlackStar
Заменил на
<?php file_put_contents(__DIR__. '/cron/' . date('H-i-s_d-m-Y') . '.txt', "123");
Всё равно не отрабатывает. Логи отображает, а в нужной дериктории ничего не создает.

Re: Cron функция не отрабатывает скрипт

Добавлено: 19 ноя 2022, 21:47
Ink0gnit0
Укажите полный/абсолютный путь к каталогу, например:
<?php file_put_contents('С:/ospanel/domains/site.loc/cron/' . date('H-i-s_d-m-Y') . '.txt', "123");

Re: Cron функция не отрабатывает скрипт

Добавлено: 21 ноя 2022, 17:08
BlackStar
Я указал путь:
<?php  file_put_contents('E:\OSPanel\domains\test.loc\cron' . date('H-i-s_d-m-Y') . '.txt', "123");
Cron начал создавать файлы, НО не в дериктории test.loc\cron а просто в корневой папке test.loc Как это исправить ?

Re: Cron функция не отрабатывает скрипт

Добавлено: 22 ноя 2022, 03:04
SagePointer
BlackStar писал(а): 21 ноя 2022, 17:08 Я указал путь:
<?php  file_put_contents('E:\OSPanel\domains\test.loc\cron' . date('H-i-s_d-m-Y') . '.txt', "123");
Cron начал создавать файлы, НО не в дериктории test.loc\cron а просто в корневой папке test.loc Как это исправить ?
Внимательнее указывать путь, и экранировать бэкслеши:
<?php  file_put_contents('E:\\OSPanel\\domains\\test.loc\\cron\\' . date('H-i-s_d-m-Y') . '.txt', "123");
И убедиться, что папка cron заранее существует, сама автоматом создана не будет.

Re: Cron функция не отрабатывает скрипт

Добавлено: 23 ноя 2022, 15:24
BlackStar
Спасибо, этот запрос сработал. А как быть если необходимо выполнять php скрипт с внутренних деррикторий проекта? Почему
file_put_contents(__DIR__ . '\\cron\\' . date('Y-m-d_H-i-s') . '.txt', "123");
не отрабатівает?

Re: Cron функция не отрабатывает скрипт

Добавлено: 23 ноя 2022, 19:28
SagePointer
BlackStar писал(а): 23 ноя 2022, 15:24 Спасибо, этот запрос сработал. А как быть если необходимо выполнять php скрипт с внутренних деррикторий проекта? Почему
file_put_contents, "123");
не отрабатівает?
Выведите значение выражения
__DIR__ . '\\cron\\' . date('Y-m-d_H-i-s') . '.txt'
и посмотрите, почему этот путь получился неправильным

Re: Cron функция не отрабатывает скрипт

Добавлено: 24 ноя 2022, 00:56
BlackStar
Спасибо. Помогло.
<?php file_put_contents(__DIR__. '\\' . date('Y-m-d_H-i-s') . '.txt', $i);
Вот так должен выглядеть файл что б вызвать из дериктории /сron/

................. Осталось решить последний вопрос. Как быть если необходимо в данном файле вызывать функцию из плагина. *Функция делает запрос на сторонний сервер после чего записывает полученый json в таблицу WP.
Если она находиться по адрессу.
include 'E:\\OSPanel\\domains\\test.loc\\wp-content\\plugins\\sports_viewer\\admin\\uploadData.php'; updateDataBase();
Просто include что-то не отрабатывает.