|
|
|
| Здравствуйте.
Есть скрипт, который должен раз в сутки собирать ответы сервера и складывать их в базу. При запуске из браузера он все нормально обрабатывает. А если его запускать из 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 все прописано верно. Скрипт из той же папки нормально запускается и работает.
В чем может быть проблема? | |
|
|
|
|
|
|
|
для: Aesha
(01.08.2007 в 13:36)
| | >А если его запускать из cron, то выдается ошибка: "Could not open input file: путь-к-файлу".
1) Для какой строчки выводится предупреждение?
2) Это локальный или удалённый файл?
PS PHP, которые обслуживают скрипты в Apache и cron - разные и настройки у них разные. | |
|
|
|
|
|
|
|
для: cheops
(01.08.2007 в 13:43)
| | 1. Это предупреждение приходит на емейл. Не знаю, для какой строчки. Просто "Could not open input file: /home/u21***/domen.ru/www/response1.php".
2. Файл лежит на сервере.
А что делать? Как узнать? | |
|
|
|
|
|
|
|
для: Aesha
(01.08.2007 в 14:03)
| | А у скрипта есть поддержка? | |
|
|
|
|
|
|
|
для: Trianon
(01.08.2007 в 15:40)
| | Что значит "поддержка"? Вы извините, я просто не очень хорошо пока в этом разбираюсь. =/
В скрипт ничего не подключается, если вы об этом. Он сам просто работает и все.
В нем есть параметры подключения к БД, выборка адресов сайтов из базы, проверка сокетами ответов, и запись ответов в БД обратно.
Но почему-то не работает. | |
|
|
|
|
|
|
|
для: Aesha
(01.08.2007 в 15:59)
| | Вы, не приводя самого скрипта, цитируете некоторое его частное сообщение.
Сообщение это адресовано либо продвинутому пользователю, в расчете на которого этот скрипт написан, либо автору скрипта (или кому то из группы поддержки, если таковая существует.)
Продвинутый пользователь (к которому Вы, вероятно, обращаетесь за помощью) ничего не будет выяснять, не посмотрев сперва сам скрипт. И неважно, на сервере он находится или на локалке. | |
|
|
|
|
 2 Кб |
|
|
для: Trianon
(01.08.2007 в 16:05)
| | Это мой скрипт. Он во вложении, посмотрите, пожалуйста.
А сообщении об ошибке генерируется Cron'ом и присылается на мой е-мейл, потому что в нем вверху указан мой адрес. | |
|
|
|
|
|
|
|
для: Aesha
(02.08.2007 в 12:14)
| | Все, спасибо. Все починила. | |
|
|
|
|
|
|
|
для: Aesha
(01.08.2007 в 13:36)
| | Какие ключи вы используете при запуске скрипта из Cron?
попробуйте поставить 600 права на файл. | |
|
|
|
|
|
|
|
для: Штеукуы
(01.08.2007 в 16:48)
| | Спасибо. Все починила. | |
|
|
|