[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблемы с cron
Frost-56
Проблемы с cron.
Скрин панели хостинга majordomo.

user posted image

Скрипт который должен обрабатываться:

<?php
$r = fopen('put.php', 'a+');
fwrite ($r, 'ddd');
fclose($r);

?>


Файл put.php остается пустой.

Ответ от сапорта:

Цитата
05 января 2012, 13:26 от Majordomo <support@majordomo.ru>:
Здравствуйте.

Судя по логам cron задание вызывалось :

Jan 5 14:16:01 duzztie /usr/sbin/cron[74647]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:17:00 duzztie /usr/sbin/cron[78561]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:18:00 duzztie /usr/sbin/cron[82415]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:19:01 duzztie /usr/sbin/cron[85842]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:20:00 duzztie /usr/sbin/cron[89267]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:21:00 duzztie /usr/sbin/cron[92307]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:22:00 duzztie /usr/sbin/cron[95387]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)
Jan 5 14:23:01 duzztie /usr/sbin/cron[98427]: (u115702) CMD (/usr/bin/php /home/u115702/krirminalanet/www/ru/php.php)


Я уже не знаю что делать, помогите плиз.
Или может есть альтернативные варианты запуска моего скрипта без моего участия ?



Спустя 16 минут, 56 секунд (5.01.2012 - 15:13) inpost написал(а):
Frost-56
А ты пробовал вручную запустить файл. Отработает как надо?
На всякий случай выстави 777 на оба файла (в экспериментальных целях).

Если и это не поможет, запустим как курл.

Спустя 1 минута, 39 секунд (5.01.2012 - 15:15) Frost-56 написал(а):
Ручной запуск работает на ура.
Права выставлю и отредактирую пост изменилось что или нет

Спустя 10 минут, 35 секунд (5.01.2012 - 15:25) inpost написал(а):
Лучше новый коммент напиши, а не старый редактируй smile.gif

Спустя 22 минуты, 52 секунды (5.01.2012 - 15:48) Frost-56 написал(а):
Цитата
Здравствуйте.

Немного видоизменили скрипт :

<?php
$r = fopen('/home/u115702/krirminalanet/www/ru/put.php', 'a+');
fwrite ($r, '-00-');
fclose($r);

?>

Насколько мы видим скрипт выполняется корректно.


это сказал сапорт и заработало )

Спустя 16 минут, 49 секунд (5.01.2012 - 16:05) inpost написал(а):
Frost-56
Хороший саппорт, мне бы такой smile.gif
Вопрос был как раз в том, что нужно давать абсолютный рутовский путь, который берёшь из среды окружения: $_SERVER

Спустя 42 секунды (5.01.2012 - 16:06) Frost-56 написал(а):
Не знал, спс )

Спустя 1 минута, 20 секунд (5.01.2012 - 16:07) inpost написал(а):
Frost-56
Используй всегда и везде абсолютные пути:
Для пхп используй всегда абсолютный рут-путь, а для веба - хост (http ://site.ru/т.д.т.п.)
Оба из $_SERVER берутся.

Спустя 13 минут, 20 секунд (5.01.2012 - 16:20) killer8080 написал(а):
Цитата (inpost @ 5.01.2012 - 15:05)
Вопрос был как раз в том, что нужно давать абсолютный рутовский путь, который берёшь из среды окружения: $_SERVER

В CLI режиме $_SERVER['DOCUMENT_ROOT'] не будет. Надо использовать константу __DIR__, если php >= 5.3.0, или dirname(__FILE__), в более старых версиях.

Спустя 8 минут, 24 секунды (5.01.2012 - 16:29) inpost написал(а):
killer8080
CLI режиме? Можешь подробнее, это как? Вроде в данном случае работать должен.

Спустя 9 минут, 44 секунды (5.01.2012 - 16:38) killer8080 написал(а):
Цитата (inpost @ 5.01.2012 - 15:29)
CLI режиме? Можешь подробнее, это как? Вроде в данном случае работать должен.

CLI - command line interface.
Когда скрипт запускается через веб, он обычно работает или в mod_php, или FastCGI(CGI).
При запуске через крон, он естественно работает в режиме командной строки CLI. Соответственно многие фичи, доступные в режиме модуля, здесь работать не будут. Можешь сам протестировать wink.gif

Спустя 17 минут, 47 секунд (5.01.2012 - 16:56) inpost написал(а):
killer8080
Смотри, крон может запустить как пхп обработчик, так и курл:
/usr/bin/php
/usr/bin/curl - кажется так, надо посмотреть точнее.

В случае с запуском как курл, та же самая проблема будет, он запустится как cli ?

Спустя 8 минут, 46 секунд (5.01.2012 - 17:05) killer8080 написал(а):
Цитата (inpost @ 5.01.2012 - 15:56)
В случае с запуском как курл, та же самая проблема будет, он запустится как cli ?

Нет, curl обратится к скрипту через вебсервер, это равносильно, как если бы ты браузером вызвал его запуск. Но если ты вызываешь его напрямую,
или через /usr/bin/php -f script.php, то это уже CLI.
Вот, попробуй запусти этот тест через крон, в файле server.txt увидишь что доступно
Свернутый текст
<?php
$text = '$_SERVER: '. print_r($_SERVER, 1).
'VARS: '.print_r(get_defined_vars(), 1).
'Constants: '.print_r(get_defined_constants(), 1);
file_put_contents('server.txt', $text);
?>

Спустя 6 минут, 53 секунды (5.01.2012 - 17:12) inpost написал(а):
killer8080
Дело в том, что на своём сервере я обращался к админам, они дали стандартный вид запуска, /usr/bin/php , и он не работал, в faq тоже самое было записано. Потом мне посоветовали попробовать запускать как curl и всё заработало.
Хотя с другой стороны, возможно, у меня та же проблема была с путями, поэтому я и не смог отследить, что файл запустился. Я тоже в .txt файл кидал логи, а они не записывались.
Благодарю, буду пробовать.

Спустя 6 минут, 20 секунд (5.01.2012 - 17:18) killer8080 написал(а):
Цитата (inpost @ 5.01.2012 - 16:12)
Хотя с другой стороны, возможно, у меня та же проблема была с путями, поэтому я и не смог отследить, что файл запустился.

Возможно, там есть свои особенности smile.gif
Может в мануале что полезное почерпнешь wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.