سؤال

وأنا حيوي تحميل ملفات فئة PHP مع autoload. وهذه الملفات يمكن مفقود أو معطوب من قبل بعض الأسباب.

سوف

وAutoload التقرير بنجاح الملفات المفقودة حتى منطق التطبيق يمكن التعامل مع ذلك. ولكن في حالة تلف هذه الملفات، ثم تجهيز كله يوقف مع شاشة فارغة للمستخدم و"خطأ PHP تحليل: خطأ لغوي". في سجل خطأ

هل من الممكن أن تحقق جملة من ملف PHP من التعليمات البرمجية PHP؟

ولقد بدا هنا: HTTP: // لنا. php.net/manual/en/function.php-check-syntax.php - انها انتقدت

و

exec("php -l $file");

ويبدو أن طريقة خاطئة ( http://bugs.php.net/bug فب؟ ID = 46339 )

والأفكار؟

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

المحلول

وأنت حقا لا ينبغي محاولة للتحقق من ملفات PHP غير صحيحة في وقت التنفيذ: أنه سوف يقتل الوقت استجابة لطلبك

!

وA "أفضل طريقة" سيكون لاستخدام فب -l من سطر الأوامر عند الانتهاء من تعديل السيناريو PHP. أو إدراجه في عملية الإنشاء الخاصة بك إذا كنت تستخدم واحد؛ أو توصيله باعتبارها هوك SVN قبل ارتكاب إذا كنت تستخدم SVN ويمكن أن تحدد <لأ href = "http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html" يختلط = "نوفولو noreferrer"> SVN السنانير .

في رأيي، أي ما يقرب حل معين سيكون أفضل من التحقق من أن نفسك في وقت التنفيذ!

و
النظر في أخطاء مثل تلك التي تريد تجنب وربما لن يحدث في كثير من الأحيان، وربما هو الأفضل ... مجرد السماح لهم يحدث.
الشيء الوحيد هو: تفعيل السجلات، ورصدها، وتكون قادرة على الكشف بسرعة عندما تيرى مشكلة: -)

و
بالطبع، هذا لا يمنعك من التعامل مع القضية من الملفات المفقودة. ولكن هذا أمر مختلف ...

نصائح أخرى

وهناك طريقة أخرى يمكنك أن تجعل ملف واحد فب في الدليل الجذر الخاص بك يسمى     checkSyntax.php

<?php
for($i=1; $i < count($argv); $i++){
        $temp = "php -l " . $argv[$i];
        $output = exec($temp);
        echo "\n$output";
}
?>

والآن، فتح ملف bashrc لجعل اختصار لتشغيل هذا الملف. إضافة تحت خط لتشغيل checkSyntax.php

alias checkSyntaxErrors='php /root/checkSyntax.php'

وواذهب اليه الآن الدليل المصدر الخاص بك القيام إس في الحادي والعشرين.

ويظهر لك قائمة الملفات، الآن بسهولة بتشغيل الأمر.

checkSyntaxErrors file1.php file2.php .......

وهذا سوف تحقق كل ما تبذلونه من الملفات يمر كوسائط.

والتمتع:)

وباختصار: لا استطيع ان ارى وسيلة للقيام بذلك، ولكن لديك فكرة التي قد تكون كافية

وهناك تسجيل برامج الرصد أو يمكن تصفية السجلات عن طريق الأدوات القياسية لملفات جود أخطاء في التحليل. إذا ظهر الملف، يمكنك وضع اسم الشرير في القائمة السوداء والشيكات الملقم الآلي الخاص بك قبل الحمل ضد هذه القائمة.

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

في الملقم الآلي يجب أن يكون لديك قائمة أو تسمية مخطط لنحاول دائما لتحميل دروس إلزامية (طرق أخرى قد يكون التطبيق الخاص بك في حالة غير متناسقة)

هل يمكن أيضا القيام ببعض التجارب حدة، حيث يمكنك تحميل PHP كنت تنفيذ حيوي ويؤكدون أن إكسيك ( "بي إتش بي -l $ اسم") هو صالح. إذا كنت فعلت ذلك تريد ان تكون قادرة على التحقق من ذلك مرة واحدة في الاختبارات الخاصة بك، وتوليد مع المتغيرات المناسبة، ويكون على مستوى معقول من الثقة PHP الخاص كانت جيدة.

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