PHP :открыть _на основе разрешенного пути

У меня есть несколько звонков на is_dirна странице. Всегда работали без проблем.

Несколько дней назад хостинговая компания обновила PHP с 5.2 до 5.3. С тех пор все мои звонки на is_dirприводили к следующему сообщению об ошибке ():

Warning: is_dir(): open_basedir restriction in effect.
File(/home/virtual/domain.com/public_html/galleries/img/002.JPG/)
is not within the allowed path(s):
(/home/virtual/domain.com:/home/virtual/_tmp)
in /home/virtual/domain.com/public_html/index.php on line 201

Это меня озадачивает.

Очевидно, согласно сообщению об ошибке (и php_info, а также ), каталог/home/virtual/domain.com(без завершающей косой черты, поэтому включение подкаталогов )включено/включено в open_basedir, а файлы, которые is_dirпытается перебрать, находятся во вложенных папках этой папки. Так почему же тогда они не входят в разрешенные пути? Ясно, что они!

Достаточно странно,эта ошибка появляется только тогда, когда is_dirвозвращает false, т. е. когда файл не папка, а обычный файл. Кажется, что все каталоги перебираются без ошибок.

Аналогичный вопрос ранее размещался здесь:Открыть _на основе нечетности ограничения(решение не найдено ).

У кого-нибудь есть идеи?

(Примечание. :Изменение настроек PHP невозможно, так как это общий хост, и у меня нет прав администратора)

6
задан Community 23 May 2017 в 12:04
поделиться