Срабатывание cron на впс вопрос разработчикам

#1 24 ноября 2014 в 11:46
Ребят, кто сталкивался с проблемой срабатывания крона на хосте или впс ihc.ru. У мне почему то крон не желает срабатывать ни как и хостер не в состоянии решить проблему на мой запрос выдал следующее.

При запуске в браузере скрипт cron.php, который находится в корневой директории сайта, возвращает значение "Access denied". В самом скрипте есть строка: if(if(PHP_SAPI != 'cli') die('Access denied'); != 'cli') die('Access denied'); При этом функция PHP_SAPI на сервере имеет значение 'apache2handler', а не 'cli'. Вы можете ознакомиться с материалом по ссылке: php.net/manual/ru/function.php-sapi-name.php По данному вопросу Вам нужно обратиться к разработчику скрипта. К сожалению, мы не являемся программистами, и не можем знать, как именно он должен работать.

Есть какое то варианты это поправить под этот хостинг?
#2 24 ноября 2014 в 12:07

При этом функция PHP_SAPI на сервере имеет значение 'apache2handler', а не 'cli'.

Олег
Классические хостеры =)
При выполнении php скрипта посредством его запуска через командный интерпретатор значение PHP_SAPI будет равно "cli". А при выполнении этого же скрипта через браузер значение этой константы ожидаемо будет равно "apache2handler".

хостер не в состоянии решить проблему

Олег
плохой хостер

Команда для CRON задачи должна выглядеть примерно так:
  1. /usr/bin/php -f /var/www/path_to_site_root/cron.php you_site.ru
#3 24 ноября 2014 в 12:11

/usr/bin/php -f /var/www/path_to_site_root/cron.php you_site.ru

Я так понимаю, что сайт вписывается заместо — you_site.ru?
#4 24 ноября 2014 в 12:32

Я так понимаю, что сайт вписывается заместо — you_site.ru ?

Олег
вместо этого пишется имя вашего домена, без http, например instantcms.ru в нашем случае.
#5 24 ноября 2014 в 19:06

плохой хостер

Fuze
не согласен )

… еще один вариант: (будет работать только для версий до 1.10.2)

  1. /usr/bin/wget -O /dev/null -q "http://site.com/cron.php"
#6 24 ноября 2014 в 21:04

… еще один вариант:

reload
не будет работать. cron.php нужно строго запускать через php cli.
#7 24 ноября 2014 в 21:42

не будет работать. cron.php нужно строго запускать через php cli.

Fuze
Это при каких условиях? относится к определенной версии движка?

приведенной командой у меня запускается крон на 1.10.1 у ihc — все вроде работает… странно.

ps: точно) ранее cli не нужен был) потому и работает)

pss: а можно ли удалить проверку if(PHP_SAPI != 'cli') die('Access denied');? и запускать через wget?
стандартный запуск мне не всегда поддается) а вот через wget в 99% с первого раза)
#8 25 ноября 2014 в 00:20

а можно ли удалить проверку if(PHP_SAPI != 'cli') die('Access denied');? и запускать через wget?

reload
да
Смысл всего этого в том, что в php cli по умолчанию время выполнения скриптов неограниченно, т.е. любая долгая задача заведомо выполнится до конца. И дополнительный смысл в том, чтобы из браузера не запускали этот файл всякие там нехорошие человечки)
#9 25 ноября 2014 в 16:52

И дополнительный смысл в том, чтобы из браузера не запускали этот файл всякие там нехорошие человечки)

Fuze
это вроде решается банальным переименованием файла)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.