PHP error_log: لن الكتابة إلى الملف المحدد
سؤال
وتشغيل PHP تحت IIS على بلدي وين إكس بي برو النظام. أنا لا يمكن تصحيح البرامج النصية بلدي بسهولة لأن الحصول على PHP إلى الكتابة إلى خطأ تسجيل أحدده. هنا هي (على ما أظن) مقالات PHP.INI ذات الصلة:
error_reporting = E_ALL & E_STRICT display_errors = Off log_errors = On error_log = "c:/php5/log/php.log"
وكان لي مائلة تسير في الطريق ويندوز / DOS قبل. في كلتا الحالتين، فإنه لا الكتابة إلى php.log ملف في هذا الدليل. ملف السجل هو قابل للكتابة بواسطة IUSR_SERVERNAME، والدليل هو قابل للكتابة بواسطة IUSR_SERVERNAME، الدليل الأصل هو قابل للكتابة بواسطة IUSR_SERVERNAME. أنا متأكد أنا في عداد المفقودين شيئا غبيا.
وأي نصائح؟
المحلول
هل حاولت في ملف PHP نفسها؟
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', "c:/php5/log/php.log");
تحديث: المشكلة هي أنك تستخدم أحادي المعامل AND حيث يجب عليك استخدام أحادي المعامل OR
وحاول هذا
var_dump(E_ALL);
var_dump(E_STRICT);
var_dump(E_ALL | E_STRICT);
var_dump(E_ALL & E_STRICT);
والإخراج: الباحث (6143) الباحث (2048) الباحث (8191) الباحث (0)
وذلك أساسا كنت تكتب
error_reporting = 0
وتحول فعليا على التقرير عن الخطأ. تغيير ول| في ملف php.ini الخاص بك، ويجب أن تكون على ما يرام.