Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Cron + php. Не работает скрипт
 
 автор: Aesha   (01.08.2007 в 13:36)   письмо автору
 
 

Здравствуйте.

Есть скрипт, который должен раз в сутки собирать ответы сервера и складывать их в базу. При запуске из браузера он все нормально обрабатывает. А если его запускать из cron, то выдается ошибка: "Could not open input file: путь-к-файлу".

Ответ сейчас забирается через сокеты, вот так:



$spisok_serverov = "SELECT site  FROM client_site WHERE id=1";
$result = mysql_query($spisok_serverov) or die("Query failed : " . mysql_error());

function get_content($hostname, $path)
{
$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: Close\r\n\r\n";

fwrite($fp, $headers);
$end = $false;

while (!$end)
{
$line = fgets($fp, 1024);
if (trim($line) == "") $end = true;
else $out[] = $line;
}
fclose ($fp);
}
return $out;
}
$path = "/";
set_time_limit (180) ;

while ($func = mysql_fetch_array($result, MYSQL_ASSOC)){
$hostname = $func["site"];
$out = get_content($hostname, $path);
$result1 = mysql_query("INSERT INTO `answers` (`id`, `site`, `date`, `response`) VALUES (NULL, '$hostname', NOW(), '$out[0]')")or die("Query failed : " . mysql_error());
}


Вроде и проверяю уже по одному сайту за раз, и подключений в этот файл никаких нет, и с файлами он не работает, и права выставлены 755, но почему-то не работает и все тут.
В самом crone все прописано верно. Скрипт из той же папки нормально запускается и работает.
В чем может быть проблема?

   
 
 автор: cheops   (01.08.2007 в 13:43)   письмо автору
 
   для: Aesha   (01.08.2007 в 13:36)
 

>А если его запускать из cron, то выдается ошибка: "Could not open input file: путь-к-файлу".
1) Для какой строчки выводится предупреждение?
2) Это локальный или удалённый файл?

PS PHP, которые обслуживают скрипты в Apache и cron - разные и настройки у них разные.

   
 
 автор: Aesha   (01.08.2007 в 14:03)   письмо автору
 
   для: cheops   (01.08.2007 в 13:43)
 

1. Это предупреждение приходит на емейл. Не знаю, для какой строчки. Просто "Could not open input file: /home/u21***/domen.ru/www/response1.php".
2. Файл лежит на сервере.
А что делать? Как узнать?

   
 
 автор: Trianon   (01.08.2007 в 15:40)   письмо автору
 
   для: Aesha   (01.08.2007 в 14:03)
 

А у скрипта есть поддержка?

   
 
 автор: Aesha   (01.08.2007 в 15:59)   письмо автору
 
   для: Trianon   (01.08.2007 в 15:40)
 

Что значит "поддержка"? Вы извините, я просто не очень хорошо пока в этом разбираюсь. =/
В скрипт ничего не подключается, если вы об этом. Он сам просто работает и все.
В нем есть параметры подключения к БД, выборка адресов сайтов из базы, проверка сокетами ответов, и запись ответов в БД обратно.
Но почему-то не работает.

   
 
 автор: Trianon   (01.08.2007 в 16:05)   письмо автору
 
   для: Aesha   (01.08.2007 в 15:59)
 

Вы, не приводя самого скрипта, цитируете некоторое его частное сообщение.
Сообщение это адресовано либо продвинутому пользователю, в расчете на которого этот скрипт написан, либо автору скрипта (или кому то из группы поддержки, если таковая существует.)

Продвинутый пользователь (к которому Вы, вероятно, обращаетесь за помощью) ничего не будет выяснять, не посмотрев сперва сам скрипт. И неважно, на сервере он находится или на локалке.

   
 
 автор: Aesha   (02.08.2007 в 12:14)   письмо автору
2 Кб
 
   для: Trianon   (01.08.2007 в 16:05)
 

Это мой скрипт. Он во вложении, посмотрите, пожалуйста.
А сообщении об ошибке генерируется Cron'ом и присылается на мой е-мейл, потому что в нем вверху указан мой адрес.

   
 
 автор: Aesha   (02.08.2007 в 12:24)   письмо автору
 
   для: Aesha   (02.08.2007 в 12:14)
 

Все, спасибо. Все починила.

   
 
 автор: Штеукуы   (01.08.2007 в 16:48)   письмо автору
 
   для: Aesha   (01.08.2007 в 13:36)
 

Какие ключи вы используете при запуске скрипта из Cron?

попробуйте поставить 600 права на файл.

   
 
 автор: Aesha   (02.08.2007 в 12:24)   письмо автору
 
   для: Штеукуы   (01.08.2007 в 16:48)
 

Спасибо. Все починила.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования