2013-09-24 2 views
1

У меня есть небольшой проект в локальном. Я работаю под Windows и с XAMPP. Моя структура каталогов файла: каталог.htaccess php_value include_path не работает

Корень:

C:\xampp\htdocs\routes
в этой папке у меня Bootstrap.php с конфигурацией я хочу, чтобы инициализировать мой проект.

Общая папка:

C:\xampp\htdocs\routes\htdocs
в этой папке у меня есть мой index.php и мой .htaccess.

Внутри этого .htaccess Я имею следующую конфигурацию:

php_value include_path .:/routes 
php_value auto_prepend_file bootstrap.php

Если я сделать get_include_path() внутри index.php, это показывает ":/маршруты" , Но сообщение я получаю на моих веб-браузерах (после ввода http://localhost/routes/htdocs) всего времени является:

Fatal error: Unknown: Failed opening required 'bootstrap.php' (include_path='.:/routes') in Unknown on line 0

Я пробовал много комбинаций include_path внутри .htaccess:

php_value include_path ".:/routes" 
php_value include_path .:../routes 
php_value include_path ".:./routes" 
php_value include_path ".:routes" 
...

Конфигурации моего httpd.conf является:

DocumentRoot "C:/xampp/htdocs" 
<Directory /> 
    AllowOverride none 
    Require all denied 
</Directory> 
<Directory /routes> 
    AllowOverride all 
</Directory> 

Если я жесткий код инфо в загрузчике внутри index.php, он работает (по крайней мере, это говорит о том, что требования внутри бутстрапа хорошо настроены). Я не знаю, что делать для моего проекта, чтобы узнать bootstrap.php.

Что мне не хватает? Что я делаю не так?

Заранее спасибо за помощь

+0

Вы пробовали исключить 'Требовать все отклоненные'? если он пытается включить файл из корневой папки, то это может помешать ему сделать это – verbumSapienti

+0

Да, я пробовал. И ничего. Я попробовал также «AllowOverride all» внутри . Это не сработало, поэтому я создал pmguti

ответ

0
  • Во-первых, <Directory> блок не имеет никакого эффекта включить. Поскольку это не запрос Apache, а скорее порядок предварительной обработки.
  • Во-вторых, используйте абсолютные пути в include_path, чтобы сделать его независимым от того, где находятся ваши файлы.
  • В-третьих, убедитесь, что путь к bootstrap.php открыт для пользователя, который выполняется вашим веб-сервером, и что сам файл является читаемым.
+0

Во-первых, спасибо, тропик. * Во-вторых: я пытался использовать абсолютные пути в моем include_path внутри htaccess, но даже кажется, что он работает с его get_include_path(), он не работает: 'php_value include_path".: C: \\ xampp \\ htdocs \ \ routes "и ничего. * В-третьих, я могу открыть через веб-браузер 'http: // localhost/routes'. Файл читается и перезаписывается. он имеет только ' pmguti

+0

, если я удаляю строку' include_path' из 'htaccess',' get_include_path() 'будет показывать' include_path' на 'php_info()': '.; C: \ xampp \ php \ PEAR ' – pmguti

Смежные вопросы