Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Не работает скрипт php в cron
Форумы портала PHP.SU » PHP » Программирование на PHP » Не работает скрипт php в cron

Страниц (1): [1]
 

1. Alexander29 - 31 Марта, 2011 - 22:31:50 - перейти к сообщению
Добрый вечер.
Есть скрипт на php c javascript.
Так вот, если выполнить данный скрипт через браузер - все работает.
Если же через cron, то нет.
Подскажите в чем причина и как можно решить?

PHP:
скопировать код в буфер обмена
  1. <?
  2. if ($data[hostname]=="-")
  3. {
  4. echo "
  5. <script language='JavaScript'>window.location.href = 'http://servername.ru/services.php?login=1&password=1'</script>
  6. </html>
  7. ";
  8. }
  9. ?>
2. OrmaJever - 31 Марта, 2011 - 22:33:41 - перейти к сообщению
Alexander29 пишет:
если выполнить данный скрипт через браузер - все работает.

В этом то и беда что браузер обрабатывает js, а когда запускает крон то скрипт выполняется через консоль, а она не знает что такое javascript Огорчение
3. Alexander29 - 31 Марта, 2011 - 22:35:14 - перейти к сообщению
Чем же можно заменить, подскажите пожалуйста.
4. OrmaJever - 31 Марта, 2011 - 22:40:49 - перейти к сообщению
Заменить javascript? А что имено должен делать скрипт? Я в вашем скрипте смысла не уловил. cron обычно используют когда нужно работать с базой или для парсинга контента через curl, но редирект тут бесмысленый.
5. Alexander29 - 31 Марта, 2011 - 22:42:34 - перейти к сообщению
Просто нужно отпрвить запрос серверу в виде ссылки http://servername.ru/services.php?login=1&password=1. Если в браузере перейти по ссылке, сервер сам выполнить определенную команду, если логин и пароль правильный.
Но этот логин и пароль нужно отправить серверу в виде: http://servername.ru/services.php?login=1&password=1.
6. OrmaJever - 31 Марта, 2011 - 22:48:12 - перейти к сообщению
попробуйте
PHP:
скопировать код в буфер обмена
  1. file_get_contents('http://servername.ru/services.php?login=1&password=1');
7. evgenijj - 01 Апреля, 2011 - 00:56:46 - перейти к сообщению
OrmaJever пишет:
file_get_contents('http://servername.ru/services.php?login=1&password=1');

Авсолютно точный ответ. Тут и добавить нечего. Только одно НО. Этот скрипт может запустить любой желающий. Разумеется, он не знает адреса , логина и пароля, но зачем такой риск. Скрипт, запускаемый через CRON, должен иметь защиту посредством .htaccess. В идеале, через браузер такой скрипт нельзя запустить. Только через CRON, а через запуск посредством CRON защита типа login и password не нужна.
8. OrmaJever - 01 Апреля, 2011 - 01:16:46 - перейти к сообщению
Да но ведь этот скрипт можно и не ложить в папку с веб сервером, на каталог ниже например Улыбка
9. evgenijj - 01 Апреля, 2011 - 02:52:27 - перейти к сообщению
OrmaJever пишет:
Да но ведь этот скрипт можно и не ложить в папку с веб сервером, на каталог ниже например

На каталог выше -- ты хотел сказать
10. JustUserR - 02 Апреля, 2011 - 20:42:48 - перейти к сообщению
Alexander29 пишет:
Есть скрипт на php c javascript.
Так вот, если выполнить данный скрипт через браузер - все работает.
Если же через cron, то нет.
Использование указанной конфигурации для осуществления инициализации запуска PHP-приложения на основании определения консольной конструкции системного командного интерпретатора, предполагает осуществление инициации создания внешнего процесса PHP-интерпретатора с фиксированными параметрами, определяемыми в области составляющих параметров наследованния среды окружения, текущей используемой группы родительских процессов, на основании включеня которых в базовом элементном уровне трактования в ассоциированных системных процесс, производится определения сопоставляемых потоковых дейскрипторв для осуществления базовых действенных составляющих для ввода и вывода информационных полей, а также уровня привелегий

 

Powered by ExBB FM 1.0 RC1