Apache / php guru gerekli!

4 Cevap php

XAMPP pencereler için yerel bir LAMP yığınını bir esinti yapılandırma yapar. Bu yüzden htaccess dosyaları sağlayan böyle bir kabus olduğunu oldukça hayal kırıklığı var.

My problem:
I've got a PHP application that requires apache/php to search for an /includes/ directory contained within the application. To do this, htaccess files must be allowed in apache and the htaccess file must specify exactly where the includes directory is.

Sorun Ben bu htaccess dosyaları görüntülemek için benim apache yapılandırma alınamıyor, olduğunu. Uni bu uygulamayı yükleyerek ve orada yöneticileri kurulum yardımcı olmak için alıyorum önemli sorunlarını vardı. Bu kadar zor olmamalı ama nedense ben sadece güzel oynamak için apache alınamıyor.

Bu benim kurgusunda:

c:\xampp
c:\xampp\htdocs
c:\xampp\apache\conf\httpd.conf - where I've made the changes listed below
c:\xampp\apache\bin\php.ini - where changes to this file affect the php installation
It is interesting to note that c:\xampp\php\php.ini changes mean nothing - this is NOT the ini that affects the php installation.

Aşağıdaki satırlar ben httpd.conf dosyasında yaptığınız eklemeler

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

The following is the entire htaccess file contained 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="

Dizin Belirtilen konumda bulunmaktadır içerir.

Ben uygulamaya erişmeye çalıştığınızda aşağıdaki hatayı alırsınız:

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

Ölümcül hata: Başarısız açılış gerekli 'include.general.inc':) [function.require] (gerektirebilir (include_pathdaki = '; C:. \ Xampp \ php \ pear \ rastgele') C: \ xampp \ htdocs \ application \ 21 hattı üzerinde menü \ logon.php

Yol c bulunur .. \ rastgele \ yukarıda listelenen php.ini dosyasında belirtilen. Yüklemek xampp htaccess.txt dosyasında belirtilen diğer yolu eklemek izin başarısız.

Lütfen yardım edin! Ben httpd.conf VEYA htaccess.txt dosyası ile ilgili bir hata muhtemelen orada tahmin ediyorum .. ama htaccess dosya okuma gibi görünmüyor. Ben bu yüzden yazının ayrıntı affet mümkün olduğunca eksiksiz olması için çalıştık.

Şimdi ben bir çözüm sadece php dosyasına include_path eklemek olabilir biliyorum, ama benim app dağıtmak planladığınız yere php.ini dosyasına erişim için gitmiyorum. Ben, ancak, sunucu yönetici htaccess dosyaları sağlar istemek mümkün olacak.

Güncelleme:. Htaccess htacces.txt değiştirildi ve httpd.conf dosyasında uygun yönergeleri ermesi ve tüm iş gibi görünüyor. Uygulama htaccess.txt adlandırma ve httpd'de ermesi direktifleri önerdi. Bunlar (en azından bir xampp yığını için) açıkça yanlıştır. Yardımlarınız için teşekkürler.

Bu arada, () ini_set kullanarak uygulamayı birden çok yerlere konuşlanmış olması gerekir eğer çok dostça bir yoludur özellikle ibre için teşekkürler.

4 Cevap

Sen () ini_set kullanarak her istek üzerine include_path değiştirebilirsiniz. Bu hiç htaccess kullanmak zorunda önlemek olacaktır.

Benim htaccess ince XAMPP altında çalışır - Bazı modüller öntanımlı olarak devre dışı olsa - İstediğiniz modülleri etkin olduğundan emin misin?

Ben aradığınız searchprase olduğunu düşünüyorum:

AllowOverride All

Benim tahminim xampp içinde size httpd.conf (bir. Htaccess üzerinden) allowOverride etkinleştirmeniz gerekir olmasıdır. Bu hackable platformu yüklenmesini yenilere engelleyen basit bir güvenlik önlemi: P

Sen ana http.conf dosyasında AllowOverride All etkinleştirmeniz gerekir. XAMPP_DIR içine bak / apache / conf / http.conf)