繁体   English   中英

.htaccess php_value include_path 不工作

[英].htaccess php_value include_path not working

我在当地有一个小项目。 我在 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 include_path ".:/routes"\n php_value include_path .:../routes\n php_value include_path ".:./routes"\n php_value include_path ".:routes"\n ...

我的httpd.conf的配置是:

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

如果我在index.php中对 bootstrap 中的信息进行硬编码,它就可以工作(至少这告诉我 bootstrap 中的要求配置良好)。 我不知道我的项目该怎么做才能识别 bootstrap.php。

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

预先感谢您的帮助

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

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

php_value include_path ".;./routes"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM