случайный Permission denied

Irrina

Новичок
случайный Permission denied

Генерируется много статичных страниц (сто с хвостом).
Вдруг, на каком-то этапе вылетает
fopen(...): failed to open stream: Permission denied in

файл на котором происходит сбой каждый раз разный.

в чем может быть причина?

-~{}~ 20.10.06 14:50:

генерировать пробую и в очищенную предварительно рубрику и поверх старых
 

Irrina

Новичок
человек который администрирует сервер божится что ничего не менл в настройках. Но даже если и менял - случайность смущает.
 

Alexandre

PHPПенсионер
в мире нет ничего случайног, есть неучтенная закономерность
значить надо взять этот файл и проверить какие у него права. см chmod()
See also chown() and chgrp().
 

Irrina

Новичок
пустая рубрика.
в ней генерируются файлы.
десять создалось. на одиннадцатом - нет доступа.
негде там смотреть и менять chown() and chgrp() :(.

пробовала копировать файл с 777 в нужный, а потом пистаь в него. не дает копировать так же. несколько копируются, потом - нет доступа.
 

partizan

Новичок
Автор оригинала: Irrina
человек который администрирует сервер божится что ничего не менл в настройках. Но даже если и менял - случайность смущает.
Даже если не менял - это его проблема, и он должен ее решать

А не сваливать на хрупкие женские плечи :)
 

hermit_refined

Отшельник
рубрика == папка?
может вы пытаетесь создать файл, который уже существует, а прав на его запись нет? или создаёте его по ошибке не в той папке? etc.

Приведите кусок кода и полное сообщение об ошибке, как минимум.
 

Irrina

Новичок
Вот как выглядит выдача:

------------------------------
Cгенерирован файл tourism-3.php
Cгенерирован файл tourism-4.php
Cгенерирован файл tourism-5.php

Warning: fopen(tourism-6.php) [function.fopen]: failed to open stream: Permission denied in /home/kysite.ru/htdocs/new/gener.php on line 409
Невозможно создать страницу ready/1/tourism-6.php. Проверьте права доступа.
------------------------------

Вот как выглядит код:
В цикле:

------------------------------
$fh = fopen($fileadd, "w");
if (!$fh) error("", "Невозможно сохранить файл $fileadd. Проверьте права доступа." );
fwrite($fh, $tmp);
fclose($fh);
------------------------------

Код работает на десятках сайтов, типовая программа.

Администрирует сайт сам владелец его, сисадмина особого нет, поэтому ему бы подсказать что поправить и где может быть затычка...

Этого не понимаю :(.

-~{}~ 20.10.06 16:10:

Автор оригинала: hermit_refined
рубрика == папка?
да.
Автор оригинала: hermit_refined
может вы пытаетесь создать файл, который уже существует, а прав на его запись нет? или создаёте его по ошибке не в той папке? etc.
По идее - конечно, файлы надо перезаписывать.
Но сейчас для чистоты опыта чистим перед генерацией папку.
Пишется все в одну папку, смены не происходит.
 

Tor

Новичок
приведи больше кода
включая место, где генерируется $fileadd
 

hermit_refined

Отшельник
Sorry, а почему в ошибке пишется "Невозможно создать страницу",
а в коде "Невозможно сохранить файл" ?

Сделайте пожалуйста перед созданием файла
PHP:
var_dump($fileadd, is_writable(dirname($fileadd)), file_exists($fileadd));
 

Irrina

Новичок
Автор оригинала: hermit_refined
Sorry, а почему в ошибке пишется "Невозможно создать страницу",
а в коде "Невозможно сохранить файл" ?
[/PHP]
промахнулась, взяла код не из того места.
аналогичные циклы.

Автор оригинала: hermit_refined
Сделайте пожалуйста перед созданием файла
PHP:
var_dump($fileadd, is_writable(dirname($fileadd)), file_exists($fileadd));
одинаково выглядят строки дампа..

PHP:
string(21) "ready/1/tourism-0.php" bool(true) bool(false) Cгенерирован файл ready/1/tourism-0.php
string(21) "ready/1/tourism-1.php" bool(true) bool(false)
Warning: fopen(ready/1/tourism-1.php) [function.fopen]: failed to open stream: Permission denied in /home/site.ru/htdocs/new/gener.php on line 412

Невозможно создать страницу ready/1/tourism-1.php. Проверьте права доступа.
-~{}~ 20.10.06 19:41:

Автор оригинала: Tor
приведи больше кода
включая место, где генерируется $fileadd
Скриптик действительно работает на десятках сайтов.
Если убрать все навороты - то получится так:
PHP:
for ($icat=0; $icat<$ncat; $icat++)
{
   $catalog_dir=$cat['lat'];
   for ($ipage=0; $ipage<$npage; $ipage++)
  {
	$filerub = $catalog_dir.$ipage.".".$ext; 
	// вычисляются переменные для данной страницы
       ...
	$tmp = parse('page');	// подставляются переменные в темплейт страницы, получаем html 
var_dump($dir.$filerub, is_writable(dirname($dir.$filerub)), file_exists($dir.$filerub));
	$fh = fopen($dir.$filerub, "w");
	if (!$fh) error("", "Невозможно создать страницу $filerub. Проверьте права доступа." );
	fwrite($fh, $tmp);
	fclose($fh);
	echo "Cгенерирован файл $filerub<br>";
  } // создали все страницы
} // создали все рубрики
$dir определяется до цикла.
 

WP

^_^
Если хочешь могу глянуть и поправить, в пм скинь инфу.
 

Tor

Новичок
может срабатывают квоты на дисковое пространство?
 
Сверху