php, cron, переменные
файл запускается через крон каждый час. (ждать каждый час, чтобы тестировать я не намереваюсь, поэтомму команду для крона я выполнаяю через SSH (PuTTY))
собственно сделал так:
2 файла: cron_defines.php и cron_stats.php - лежат в одной дирректории.
запускаю я именно cron_stats.php, а тот в свою очередь первым делом инклудит: cron_defines.php. - в этом файле я создал все функции для работы с бд, обьявил константы и тд.
напрягает следующее строки:
$config_path = $local_path.'/includes/config.php';
function dbconnect()
{
include($config_path);
}
на месте: *тут мой домен* указан мой домен, писать его не буду, зачем вас напрягать, это не главное.
ну так вот выполняю я в PuTTY незамысловатый код (конечноже вошел под рутом и пути все прописаны верно.):
/usr/bin/php5 /var/www/fedor/data/www/*тут мой домен*/cron/jobs/site_stats.php
после чего вижу на экране PuTTY такую ошибку:
Warning: include(): Failed opening '' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/fedor/data/www/*тут мой домен*/cron/jobs/cron_defines.php on line 20
тоесть как видно, выполняется просто include(); , а не: include(/var/www/fedor/data/www/*тут мой домен*/includes/config.php);
--------
попробовал изменить:
{
include($local_path."/includes/config.php");
}
выдало ошибку:
Warning: include("/includes/config.php"): Failed opening '' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/fedor/data/www/*тут мой домен*/cron/jobs/cron_defines.php on line 20
тоесть понятно, что почемуто переменная просто пуста!!!!!!!!!
вариант - вручную прописывать в функции путь есть, но не желателен!!! так как подобных инклудов у меня еще куча, я просто вам их не показал и в стулаче если я перееду или захочу запустить скрипт под другим юзером - мне придется в этих 10 местах и редактировать, а так просто в одном отредактирую и дело в шляпе.
Спасибо за внимание, надеюсь откликнетесь на мою проблему.
У вас же проблема в области видимости переменной.
Спасибо неподумал =)
ЗАРАБОТАЛО
У вас же проблема в области видимости переменной.
пробовал константами, непомогло!!!!
делал так:
definе(CONFIG_PATH, LOCAL_PATH.'/includes/config.php');
function dbconnect()
{
include(CONFIG_PATH);
}
Ошибка была такой:
просто я на скорую руку отвечал в форуме))))) я там местами поменял внутри define :P, если бы так ошибка когда скрипт писал мне бы варнинг как минимум бы показал