[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не работает opendir('..')
Smoren
На машине Linux, apache2, PHP5.

Имеется рукописная админка, прекрасно работающая как на любых хостингах, так и на других локальных серверах.

Лежит она в папке admin, которая, в свою очередь, находится в папке www.
То есть, фактически, ее адрес получается: http://127.0.0.1/admin/index.php.

Проблема состоит в том, что при попытке прочитать родительский каталог относительно admin, то есть opendir('..') он благополучно отказывается это делать.

И у родительской папки, и у папки admin поставил права rwxrwxrwx.
Файлы .htaccess в обоих папках отсутствуют (также пробовал создавать их пустыми).

Как мне кажется, проблема заключается либо где-то в php.ini или в httpd2.conf.

Буду рад любой помощи и заранее за нее благодарен.




Спустя 18 минут, 46 секунд (23.09.2009 - 09:35) glock18 написал(а):
Сейчас только проверил у себя, и единственное, что мне пришло по этому поводу в голову, то что в пути следует указать слеш в конце.

У меня дома, директория открылась и с ним, и без него.

Если у хостера включен режим safe mode, то могут возникнуть проблемы из-за этого:

Цитата
Note: When safe mode is enabled, PHP checks whether the directory in which the script is operating has the same UID (owner) as the script that is being executed.


Спустя 10 минут, 41 секунда (23.09.2009 - 09:45) Smoren написал(а):
glock18
Финты со слешами пробовал - не помогает.
О хостинге речь не идет - проблема при запуске на локальном сервере.
Просто opendir('..') возвращает false.

Спустя 24 минуты, 33 секунды (23.09.2009 - 10:10) glock18 написал(а):
Тогда могу предложить следующие шаги:

1. не будучи уверенным, что opendir пытается открыть нужную папку, предлагаю заменить .. на . проверить верность предположения, что .. смотрит именно в корень хоста, а не выше.

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

3. указать абсолютный физический путь в opendir.

Спустя 17 минут, 29 секунд (23.09.2009 - 10:28) Smoren написал(а):
glock18

1. предлагаю заменить .. на .

проверю, когда домой вернусь.


2. использовать функцию scandir для сканирования директории.

можно попробовать.


3. указать абсолютный физический путь в opendir.

Это уже пробовал - результат ноль. По абсолютному пути он мне ни к одной папке доступа не дает.

Спустя 6 минут, 13 секунд (23.09.2009 - 10:34) glock18 написал(а):
Цитата
Это уже пробовал - результат ноль. По абсолютному пути он мне ни к одной папке доступа не дает.

вот это да... предлагаю тогда продемонстрировать проблемный код - чудеса да и только.

Спустя 6 часов, 45 минут, 59 секунд (23.09.2009 - 17:20) PandoraBox2007 написал(а):
basedir указал ? в ПХП.ИНИ

Спустя 35 минут, 50 секунд (23.09.2009 - 17:56) Smoren написал(а):
PandoraBox2007
А что в качестве basedir нужно указать?
Ведь у каждого сайта под апачем разные корневые папки...
Я только в httpd2.conf прописал DocumentRoot, когда пробовал его запустить с 127.0.0.2:

NameVirtualHost 127.0.0.2
<VirtualHost 127.0.0.2>
ServerName test.local
ServerAdmin webmaster@test.local
DocumentRoot /home/webservers/test/www
ServerAlias test.local2
</VirtualHost>


Спустя 4 часа, 28 минут, 18 секунд (23.09.2009 - 22:24) Smoren написал(а):
всем спаксибо за советы. Надо было в пхп.ини просто отключить safe_mode biggrin.gif
Успехов в программировании))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.