htaccess文件,php,包括目录和窗口XAMPP配置噩梦
XAMPP使为Windows配置本地LAMP堆栈变得轻而易举。所以启用htaccess文件是一件非常令人失望的事情。htaccess文件,php,包括目录和窗口XAMPP配置噩梦
我的问题:
我有一个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的改变并不意味着什么 - 这不是ini影响php的安装。
以下行是我的httpd.conf文件
#AccessFileName .htaccess
AccessFileName htaccess.txt
#
# The following lines prevent .htaccess and .htpasswd
# files from being viewed by Web clients.
#
#<Files ~ "^\.ht">
<Files ~ "^htaccess\.">
Order allow,deny
Deny from all
</Files>
<Directory "c:/xampp/htdocs">
#
# 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
</Directory>
以下是包含在整个htaccess文件做出补充: C:\ XAMPP \ htdocs中\程序\ htaccess.txt
<Files ~ "\.inc$">
Order deny,allow
Deny from all
</Files>
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
致命错误:需要()[function.require]:无法打开所需 'include.general.inc'(包含路径=” 。; C:\ xampp \ php \ pear \ random')在C:\ xampp \ htdocs \ application \ menu \ logon.php上线21
包含路径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()是非常友好的方式,所以特别要感谢那个指针。
- 为什么你需要重命名的.htaccess到htaccess.txt
- 尝试使用set_include_path()设置include_path中,看看有没有什么帮助(作为中间修正)
- 验证其php.ini中通过使用phpinfo()
您可以使用ini_set()更改每个请求上的include_path。这将避免必须使用htaccess。
我的htaccess在XAMPP下工作正常 - 虽然有些模块默认是禁用的 - 您确定要启用的模块吗?
我认为你正在寻找searchprase是:
我的猜测是,XAMPP中,你需要在httpd.conf中启用了AllowOverride(通过一个.htaccess)。这是一种简单的安全措施,可防止新手安装可入侵的平台:P
您需要在主http.conf文件中启用AllowOverride All。看XAMPP_DIR /阿帕奇/ conf目录内/ http.conf中)
简单的做到这些:
open file ...\xampp\apache\conf\httpd.conf
find line "LoadModule rewrite_module modules/mod_rewrite.so"
if here is a # before this line remove it.(remove comment)
其工作
我启用了mod_rewrite ..是否有其他MODS我需要启用? – 2008-09-30 13:10:07