У меня была такая же проблема с проектом 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, в вашем собственном проекте это просто вопрос определения корневого каталога проекта и обеспечения его доступности.