PHP Включить: проблема с длинным пути

Когда я пытаюсь включить длинный путь к файлу, PHP не загружается. Короткий включительный путь работает отлично.

Например, следующее:

../../contents/2010-St-Louis-Rams-Tickets-Season-Package-Includes-Tickets-For-All-Regular-Season-Home-Games/inc/title.inc 

Кто-нибудь знает, где проблема?

Solutions Collecting From Web of "PHP Включить: проблема с длинным пути"

Убедитесь, что ваш путь (включая имя диска и т. Д.) Превышает 260 символов. Потому что это максимальная длина каталога для Windows. Нажмите здесь, чтобы увидеть ссылку .

В ссылке также указывается, что существует возможность создавать имена длинного пути путем добавления имени пути к «\? \». Это должно увеличить максимальную длину пути до 32767 символов. Но я понятия не имею, можно ли это использовать в PHP.

У меня была такая же проблема с проектом symfony 1.x при написании тестов, которые выглядели примерно так:

 require_once __DIR__ . '/../../../../bootstrap/unit.php'; require_once __DIR__ . '/../../../../../../../MY/LONG/PATH.php' 

Дело в том, что эти /../../ .. занимают много пространства символов. В моем случае, если бы они не были использованы, это сработало бы.

В symfony вы можете получить корень вашего проекта, вызвав sfConfig :: get ('sf_root_dir'), и поэтому я мог бы изменить свой код следующим образом:

 require_once __DIR__ . '/../../../../bootstrap/unit.php'; require_once sfConfig::get('sf_root_dir') . '/MY/LONG/PATH.php' 

Это отлично работает (в моем случае).

Хотя здесь я использую корневую директорию, предоставляемую инфраструктурой symfony, в вашем собственном проекте это просто вопрос определения корневого каталога проекта где-то и обеспечения его доступности.