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

Форум PHP

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

 

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

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

тема: Кто-же все таки владелец файла ?
 
 автор: Ralph   (03.02.2007 в 09:45)   письмо автору
 
 

Вроде бы простая программа...Скрипт командой mkdir('dir/',0777) создает директорию (это проходит на ок),но когда пытается тут-же в ней создать файл-Warning : fopen() [ function.fopen ]: SAFE MODE Restriction in effect. The script whose uid is 6553 is not allowed to access /sata1 /home/users/ralph /www/... owned by uid 70 in /sata1/home/users /ralph/www/...

   
 
 автор: Ralph   (03.02.2007 в 09:52)   письмо автору
 
   для: Ralph   (03.02.2007 в 09:45)
 

Изменение safe mode on/off эффекта не дало...Насколько понимаю,какой то конфликт интересов,типа скрипт с владельцем x пытается записать в папку,у которой владелец z.Честно говоря,я о группах и владельцах файла имею смутное представление,но все же интересно,скрипт директорию создал,а записать в нее не имеет права...Может,кто-то мне это пояснит ??!

   
 
 автор: bronenos   (03.02.2007 в 10:13)   письмо автору
 
   для: Ralph   (03.02.2007 в 09:52)
 

Права файлов задаются в восьмеричной системе
Я бы написал mkdir ('name', decoct(777))

   
 
 автор: Ralph   (03.02.2007 в 10:30)   письмо автору
 
   для: bronenos   (03.02.2007 в 10:13)
 

Дело не в этом...Число с ведущим нулем и есть восьмеричное для php,да к тому же я проверял,выставилось правильно

   
 
 автор: Ralph   (03.02.2007 в 10:44)   письмо автору
 
   для: Ralph   (03.02.2007 в 10:30)
 

chmod-то я записывал правильно,вот только давно не пользовался mkdir и забыл,что она почему-то некорректно работает с chmod'ами и надо делать контрольный выстрел mkdir('dir',0777);chmod('dir',0777);

   
 
 автор: bronenos   (03.02.2007 в 10:52)   письмо автору
 
   для: Ralph   (03.02.2007 в 10:44)
 

У себя я пытался и с 0777 и 777
Получалась фигня, проблемы убрались только после decoct()
Ну а насчет каталогов не знаю...

   
 
 автор: Ralph   (03.02.2007 в 22:38)   письмо автору
 
   для: bronenos   (03.02.2007 в 10:52)
 

И все таки проблема остается...в скрипте успешно создается поддиректория,ей успешно присваивается CHMOD 777,но при попытке записать туда файл видим http://ralph.in.ua/ht_test/.Кто поможет ?

   
 
 автор: Boss   (03.02.2007 в 22:58)   письмо автору
 
   для: Ralph   (03.02.2007 в 09:45)
 

Возможно что функция fopen запрещена у хостера (на некоторые каталоги) или стоят ограничения доступа на (определенные)каталоги.

PS: Приведите полный код.

   
 
 автор: Ralph   (03.02.2007 в 23:24)   письмо автору
 
   для: Boss   (03.02.2007 в 22:58)
 

1.Код слишком громоздкий,нет смысла приводить...Запрет на опр.директории-вряд ли.Алгоритм:Имеем папку /A (0777).В этой папке скрипт indеx.php Запускаем его:Создает файл /A/.htaccess (успешно) создает папку /A/B (успешно),присваивает ей 0777 (успешно),создает файлы /A/B/1.php и /A/B/2.php(успешно).Пытается создать /A/B/.htaccess и /A/B/num.dat-в обеих случаях ошибки

   
 
 автор: Boss   (03.02.2007 в 23:35)   письмо автору
 
   для: Ralph   (03.02.2007 в 23:24)
 

1) Если код правильно написан, всегда есть смысле его изучить (мог бы в аттач вставить)

2) У тебя на хостинге включен безопасный режим SAFE MODE, в котором некоторые функции(действия) ограничены или отключены.

Решение проблемы:
1) Отписать саппорту, по поводу данной проблемы
2) Если PHP на сервере работает как модуль можно настроить обработку PHP через CGI;

Посоветовал бы 1 вариант.

   
 
 автор: Ralph   (03.02.2007 в 23:54)   письмо автору
 
   для: Boss   (03.02.2007 в 23:35)
 

Да вроде баловался с сафе моде...Кому не лень,гляньте

   
 
 автор: Boss   (04.02.2007 в 00:04)   письмо автору
 
   для: Ralph   (03.02.2007 в 23:54)
 

SAFE MODE в OFF поставил?

   
 
 автор: Ralph   (03.02.2007 в 23:55)   письмо автору
 
   для: Boss   (03.02.2007 в 23:35)
 

Да вроде баловался с сафе моде...Кому не лень,гляньте

   
 
 автор: Ralph   (04.02.2007 в 17:38)   письмо автору
 
   для: Ralph   (03.02.2007 в 23:55)
 

Проблему решил...Всем спасибо,отдельно моему сотовому оператору за то,что отключил GPRS на профилактику на 8 часов и у меня появилось время спокойно подумать.Мой скрипт позиционно-независимый,посему для header(Locations) путь получал через PHP_SELF,и ненароком вставил его в функцию fopen

   
 
 автор: Ralph   (04.02.2007 в 17:42)   письмо автору
 
   для: Ralph   (04.02.2007 в 17:38)
 

Мораль сей басни такова:1.Если какая-то файловая функция не работает,внимательно проверьте пути,один лишний слэш может изрядно попортить вам жизнь 2.Или отвлекитесь на пару часов,и решение придет само :-)

   
 
 автор: Ralph   (04.02.2007 в 17:47)   письмо автору
 
   для: Ralph   (04.02.2007 в 17:42)
 

Кстати,о путях...Как я с ними устал.Не могу до сих пор понять,какие пути использовать для header,какие для include,какие для .htaccess...По идее,в htaccess для ErrorDocument нужно писать путь от корня,а у меня почему то работает только относительный ?

   
Rambler's Top100
вверх

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