2

我在当地有一个小项目。我在 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

致命错误:未知:在第0行的未知中无法打开所需的“bootstrap.php”(include_path='.:/routes')

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

php_value 包含路径“.:/routes”
php_value include_path .:../routes
php_value 包含路径“.:./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。

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

预先感谢您的帮助

4

2 回答 2

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

如果您使用的是 Windows,它应该是;

php_value include_path ".;./routes"
于 2020-07-22T09:36:33.837 回答