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()是一種非常友好的方式,是以特别要感謝該指針。