XAMPP使得为窗口配置本地LAMP堆栈变得轻而易举。所以启用htaccess文件是一个噩梦是非常令人失望的。
我的问题:
我有一个PHP应用程序,它需要apache/php来搜索应用程序中包含的/ includes /目录。为此,必须在apache中允许htaccess文件,并且htaccess文件必须明确指定includes目录的位置。
问题是,我无法使用我的apache配置来查看这些htaccess文件。我有很大的麻烦在uni上安装这个应用程序,并让管理员在那里帮助安装。这应该不那么难,但由于某种原因,我只是无法让Apache发挥出色。
这是我的设置:
C:\ XAMPP结果
C:\ XAMPP \ htdocs中点击
c:\ xampp \ apache \ conf \ httpd.conf - 我在下面列出了所做的更改
c:\ xampp \ apache \ bin \ php.ini - 对此文件的更改会影响php的安装
有趣的是,c:\ xampp \ php \ php.ini的改变没有任何意义 - 这不是影响php安装的ini。
以下几行是我对httpd.conf文件的补充
#AccessFileName .htaccess
AccessFileName htaccess.txt
#
# The following lines prevent .htaccess and .htpasswd
# files from being viewed by Web clients.
#
#
Order allow,deny
Deny from all
#
# AllowOverride controls what directives may be placed in
# .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
以下是包含在以下内容中的整个htaccess文件:
C:\ XAMPP \ htdocs中\程序\ htaccess.txt
Order deny,allow
Deny from all
php_value default_charset "UTF-8"
php_value include_path ".;c:\xampp\htdocs\application\includes"
php_value register_globals 0
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value magic_quotes_sybase 0
php_value session.use_cookies 1
php_value session.use_only_cookies 0
php_value session.use_trans_sid 1
php_value session.gc_maxlifetime 3600
php_value arg_separator.output "&"
php_value url_rewriter.tags "a=href,area=href,frame=src,input=src,fieldset="包含目录存在于指定的位置。
当我尝试访问应用程序时,我收到以下错误:
Warning: require(include.general.inc) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\application\menu\logon.php on line 21致命错误:require()[function.require]:在C:\ xampp \ htdocs \ application \中打开所需的'include.general.inc'(include_path ='.; C:\ xampp \ php \ pear \第21行菜单\ logon.php
包含路径c .. \ random \在上面列出的php.ini文件中指定。 xampp安装无法允许htaccess.txt文件中指定的另一个包含路径。
请帮忙!我猜测可能是httpd.conf或htaccess.txt文件有错误,但它似乎没有读取htaccess文件。我尽量做到尽可能全面,所以请原谅博文的冗长。
现在我知道一个解决方法可能是简单地将include_path添加到php文件中,但是我不打算在我打算部署我的应用程序的位置上访问php.ini文件。但是,我将能够请求服务器管理员允许htaccess文件。
更新:将htacces.txt重命名为.htaccess,并修改httpd.conf文件中的相应指令,并且似乎都可以工作。该应用程序建议在httpd中命名htaccess.txt和ammend指令。这显然是错误的(至少对于xampp堆栈)。谢谢您的帮助。
顺便说一下,如果应用程序需要部署到多个位置,使用ini_set()是一种非常友好的方式,所以特别要感谢该指针。