.htaccess php_value include_path无效

时间:2013-09-24 08:48:16

标签: php .htaccess include-path

我在当地有一个小项目。我在Windows和XAMPP下工作。我的文件目录结构是:

根目录:

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

如果我在 index.php 中执行 get_include_path(),则会显示“。:/ routes”。 但是我一直在我的网络浏览器上输入的消息(在输入http://localhost/routes/htdocs之后)是:

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

我在.htaccess中尝试了很多include_path的组合:

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中对信息进行硬编码,那么它是有效的(至少这告诉我bootstrap中的要求配置得很好)。 我不知道如何为我的项目识别bootstrap.php。

我错过了什么?我做错了什么?

提前感谢您的帮助

2 个答案:

答案 0 :(得分:0)

  • 首先,<Directory>块对包含没有影响。因为这不是Apache查询,而是预处理命令。
  • 其次,在include_path中使用绝对路径,使其独立于文件所在的位置。
  • 第三,确保您的网络服务器运行的用户可以打开bootstrap.php的路径,并确保文件本身可读。

答案 1 :(得分:0)

如果您使用的是Windows,则应为;

php_value include_path ".;./routes"
相关问题