например, у меня будет множество подкаталогов. / home / a, / home / a / file, / home / a / txt, / home / b, / home / b / file, / home / b / txt и т. д.
подкаталоги создаются по требованию. Мне нужно добавить все подкаталоги в open_basedir.
PLS советуют, как заставить open_basedir распознавать все подкаталоги верхнего пути?
С http://php.net/manual/en/ini.core.php#ini.open-basedir
Ограничение, указанное с помощью open_basedir, является именем каталога с PHP 5.2.16 и 5.3.4. Предыдущие версии использовали его как префикс. Это означает, что «open_basedir = / dir / incl» также разрешает доступ к «/ dir / include» и «/ dir / incls», если они существуют. Если вы хотите ограничить доступ только к указанному каталогу, завершите косой чертой. Например: open_basedir = / dir / incl /
/ dir / incl / = только подкаталоги каталога нет
dir / incl = все подкаталоги
Если Apache не находит какой-либо каталог в указанном пути – обновление некоторых php-модулей может устранить проблему. У меня такая проблема при использовании PHP 5.3.15 и eAccelerator, который был установлен, когда я использовал PHP 5.3.3.
PHP с eAccelerator не смог включить все подкаталоги в указанном open_basedir, пока я не обновил eAccelerator до соответствующей версии PHP.
open_basedir
означает, что все подкаталоги доступны, как только basedir находится в вашем include_path
. Конечно, вам необходимо убедиться, что любые пути к включенным файлам верны, например, если вы хотите что-то в / home / b / file, вам нужно будет
include('b/file/myfile.php');