Frage

XAMPP macht für Fenster eine Brise einen lokalen LAMP-Stack konfigurieren. So ist es ziemlich enttäuschend, dass die Aktivierung .htaccess-Dateien so ein Alptraum ist.

Mein Problem:
Ich habe eine PHP-Anwendung, die Apache / PHP erfordert ein / includes / Verzeichnis in der Anwendung enthalten ist, zu suchen. Um dies zu tun, muss .htaccess-Dateien in Apache erlaubt werden und die .htaccess-Datei muss genau angeben, wo das enthält Verzeichnis ist.

Das Problem ist, ich kann nicht meine Apache-Konfiguration erhalten diese .htaccess-Dateien anzuzeigen. Ich hatte großen Ärger diese App bei uni Installation und bekam die Admins dort mit dem Setup zu helfen. Dies sollte nicht so schwer sein, aber aus irgendeinem Grund kann ich einfach nicht Apache bekommen schön zu spielen.

Das ist mein Setup:

c: \ xampp
c: \ xampp \ htdocs
c: \ xampp \ apache \ conf \ httpd.conf - wo ich die Änderungen unten aufgeführten
gemacht haben c: \ xampp \ apache \ bin \ php.ini - wo Änderungen an dieser Datei beeinflussen die PHP-Installation
Es ist interessant, dass c zu beachten: \ xampp \ php \ php.ini Änderungen nichts bedeuten - das ist nicht die ini ist, dass die PHP-Installation auswirkt.

Die folgenden Zeilen sind Ergänzungen ich in die Datei httpd.conf vorgenommen haben

#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>

Hier finden Sie die gesamte .htaccess-Datei enthalten in: c: \ xampp \ htdocs \ application \ 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 "&amp;"
php_value url_rewriter.tags "a=href,area=href,frame=src,input=src,fieldset="  

Das enthält das Verzeichnis am Speicherort existiert angegeben.

Wenn ich versuche, auf die Anwendung zuzugreifen ich die folgende Fehlermeldung:

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

Fatal error: require () [function.require]: Fehler beim Öffnen erforderlich 'include.general.inc' (include_path = '.; C: \ xampp \ php \ pear \ random') in C: \ xampp \ htdocs \ application \ menu \ logon.php on line 21

Die Include-Pfad c .. \ Zufall \ wird in der Datei php.ini oben aufgeführten angegeben. Der Xampp nicht installieren, um einen anderen Pfad zu erlauben umfassen, wie in der htaccess.txt-Datei angegeben.

Bitte um Hilfe! Ich vermute, es ist wahrscheinlich ein Fehler bei der httpd.conf oder der htaccess.txt Datei .. aber es scheint nicht die .htaccess-Datei zu lesen zu sein. Ich habe versucht, so gründlich wie möglich sein, damit die Ausführlichkeit der Post zu vergeben.

Jetzt weiß ich, eine Abhilfe zu einfach sein könnte, die include_path in die PHP-Datei hinzufügen, aber ich werde keinen Zugriff auf die Datei php.ini haben auf den Standort plane ich meine App zu implementieren. Ich werde jedoch in der Lage der Server Admin erlaubt .htaccess-Dateien anfordern.

Update: umbenannt htacces.txt in .htaccess und die entsprechenden Richtlinien in der Datei httpd.conf Fügte und alles scheint zu funktionieren. Die Anwendung vorgeschlagen, die Benennung von htaccess.txt und die Fügte Richtlinien im httpd. Dies sind offensichtlich falsch (zumindest für einen XAMPP-Stack). Danke für die Hilfe.

Durch die Art und Weise, mit ini_set () ist eine viel freundliche Art und Weise, wenn die App auf mehrere Standorte, so dank eingesetzt werden muss, die speziell für diesen Zeiger.

War es hilfreich?

Lösung

  1. Warum brauchen Sie .htaccess umbenennen htaccess.txt
  2. Versuchen Sie, die include_path Einstellung mit set_include_path () und sehen, ob das (als Zwischen fix) hilft
  3. Überprüfen Sie, welches durch eine phpinfo ()

Andere Tipps

Sie können die include_path ändern bei jeder Anfrage mit ini_set (). Dies würde vermeiden, dass .htaccess verwendet überhaupt.

Meine .htaccess arbeitet unter XAMPP in Ordnung - auch wenn einige Module sind standardmäßig deaktiviert - sind Sie sicher, dass die Module, die Sie wollen, aktiviert?

Ich denke, die searchprase Sie suchen ist:

AllowOverride All

Meine Vermutung ist, dass innerhalb von xampp Sie AllowOverride ermöglichen müssen (durch eine .htaccess) in httpd.conf. Es ist eine einfache Sicherheitsmaßnahme, die Neulinge von der Installation einer hackable Plattform verhindert: P

Sie müssen AllowOverride All in httpd.conf-Datei aktivieren. Ansehen XAMPP FOR / Apache / conf / http.conf)

Einfach Tun Sie dies:

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)

seine Arbeits

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top