Страница 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 что-то не отрабатывает.