ملفات هتكس, php, وتشمل الدلائل و windows XAMPP التكوين كابوس

StackOverflow https://stackoverflow.com/questions/152823

سؤال

XAMPP يجعل تكوين المحلية مصباح stack for windows نسيم.حتى إنه أمر مخيب للآمال أن تمكين ملفات هتكس مثل هذا الكابوس.

مشكلتي:
لدي PHP التطبيق الذي يتطلب apache/php للبحث عن /وتشمل/ دليل الواردة في الطلب.للقيام بذلك ، htaccess يجب أن تكون الملفات المسموح بها في أباتشي ملف htaccess يجب أن تحدد بالضبط حيث يشمل الدليل.

المشكلة هي أنني لا أستطيع الحصول على اباتشي التكوين لعرض هذه ملفات هتكس.كان لي متاعب كبيرة تثبيت هذا التطبيق في الجامعة والحصول على المسؤولين هناك للمساعدة في الإعداد.هذا لا ينبغي أن يكون من الصعب جدا ولكن لسبب ما لا أستطيع أباتشي إلى اللعب الجميل.

هذا هو بلدي الإعداد:

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\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="  

ويشمل الدليل موجود في الموقع المحدد.

عند محاولة الوصول إلى التطبيق تظهر رسالة الخطأ التالية:

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.يتطلب]:فشل في فتح المطلوبة 'تشمل.العامة.وشركة' (include_path='.;C:\xampp\php\pear andom') في C:\xampp\htdocs\application\menu\logon.php على خط 21

تضمين المسار c..\عشوائي\ المحدد في php.ini المذكورة أعلاه.على تثبيت xampp فشل للسماح أخرى تشمل المسار كما هو محدد في htaccess.txt الملف.

الرجاء المساعدة!انا التخمين ربما هناك خطأ مع httpd.conf أو htaccess.txt الملف..ولكن لا يبدو أن تكون قراءة ملف htaccess.لقد حاولت أن تكون شاملة قدر الإمكان حتى يغفر الإسهاب الوظيفة.

الآن أنا أعرف الحل يمكن أن يكون ببساطة إضافة include_path إلى ملف php ، ولكن لن يكون الوصول إلى php.ini على موقع أخطط لنشر التطبيق الخاص بي.وأنا سوف تكون قادرة على طلب مشرف الخادم يسمح ملفات هتكس.

تحديث:سميت htacces.txt إلى .htaccess و ammended التوجيهات المناسبة في httpd.الملف conf و كل شيء يبدو على العمل.تطبيق اقترح تسمية htaccess.txt و ammended توجيهات في httpd.هذه هي خطأ واضح (على الأقل بالنسبة xampp المكدس).شكرا للمساعدة.

بالمناسبة باستخدام ini_set() هو ودا بكثير الطريق إذا كان التطبيق يحتاج إلى نشرها في مواقع متعددة بفضل ذلك خصوصا أن المؤشر.

هل كانت مفيدة؟

المحلول

  1. لماذا تحتاج إلى إعادة تسمية .هتكس htaccess.txt
  2. حاول إعداد include_path باستخدام set_include_path() ومعرفة ما إذا كان هذا يساعد (كوسيط fix)
  3. التحقق من php.ini إلى استخدام طريق phpinfo()

نصائح أخرى

يمكنك تغيير include_path على كل طلب باستخدام ini_set().وهذا من شأنه تجنب الحاجة إلى استخدام htaccess على الإطلاق.

Htaccess يعمل تحت XAMPP غرامة على الرغم من أن بعض وحدات يتم تعطيل بشكل افتراضي - هل أنت متأكد من أن وحدات تريد تمكين?

أعتقد أن searchprase كنت تبحث عن:

AllowOverride جميع

تخميني هو أنه في غضون xampp تحتاج إلى تمكين AllowOverride (من خلال .هتكس) في httpd.conf.انها بسيطة التدبير الأمني الذي يمنع نوبي من تركيب hackable منصة :P

تحتاج إلى تمكين AllowOverride كل في الرئيسية http.الملف conf.نظرة من الداخل XAMPP_DIR/apache/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)

العمل

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top