我在当地有一个小项目。我在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。
我错过了什么?我做错了什么?
提前感谢您的帮助
答案 0 :(得分:0)
<Directory>
块对包含没有影响。因为这不是Apache查询,而是预处理命令。bootstrap.php
的路径,并确保文件本身可读。答案 1 :(得分:0)
如果您使用的是Windows,则应为;
php_value include_path ".;./routes"