Forumlar / National / Russian / Тех. поддержка / Запуск скрипта из некорневой директории

inkerman
#1 2011-10-05 20:52

Хочу перенести часть нагрузки со скриптов на cron, т.к. нет необходимости делать так часто ряд действий как сейчас получается...

Для этого сделал в корневом каталоге папку cron и там создал файл test.php

<?PHP

define('SED_CODE', TRUE);
define('SED_ADMIN', TRUE);

require_once('./datas/config.php');
require_once($cfg['system_dir'].'/functions.php');
require_once($cfg['system_dir'].'/common.php')

echo "OK";
?>

В итоге при попытке открыть файл http://site/cron/test.php, получаю ошибку

Warning: require_once(./datas/config.php) [function.require-once]: failed to open stream: No such file or directory in X:\home\mysite\www\cron\test.php on line 6

Могу предположить, что неверно указываю путь к файлу. Если заменить на require_once('./datas/config.php');, то ошибки появляются в functions.php. если и там прописать путь через ../ , nо не находит cotemplate.php Вобщем, какое-то таинство с этими путями. Если файл разместить в корневом каталоге - все отрабатывает нормально, а из папки cron не хочет... Как исправить, может кто подскажет?

Added 3 minutes later:

Если запускать через лоадер в корне (я вставил ссылку в файл view.php, которая при параметре m=test запускает нужный test.php. В этом случае все запускается через браузер, но через cron не выйдет, т.к. ссылка будет вида www/view.php?m=test  и судя по мануалу cron'a он такое не схавает... Что ж делать? Как запустить нужный файл test.php в директории www/cron ?


Bu konu inkerman tarafından düzenlendi(2011-10-07 16:17, 12 yıllar önce)
esclkm
#2 2011-10-06 20:50

так крон плагин же выпускался кемто когдато

да и проверьте пути - какая у вас структура папок

 

littledev.ru - мой маленький зарождающийся блог о котонти.
снижение стоимости программирования и снижение стоимости производства разные вещи. Первое можно скорее сравнить с раздачей работникам дешевых инструментов, чем со снижением зарплаты
Trustmaster
#3 2011-10-07 06:54

Проще всего сделать текущей корневую, и тогда проблема уйдёт сама собой:

<?PHP
 
define('SED_CODE', TRUE);
define('SED_ADMIN', TRUE);

// Переходим в родительскую папку
chdir('..'); 

require_once('./datas/config.php');
require_once($cfg['system_dir'].'/functions.php');
require_once($cfg['system_dir'].'/common.php')
 
echo "OK";
?>
May the Source be with you!
inkerman
#4 2011-10-07 16:43

Спасибо!!!