سؤال

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

هل هناك أي مسبقة الصنع الأدوات التي تسمح لهذا, أو أنا عالقة باستخدام microtime ، وبناء بلدي التنميط الإطار ؟

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

المحلول

أنا قد فعلت فعلا بعض التحسين العمل الأسبوع الماضي.XDebug هو في الواقع وسيلة للذهاب.

مجرد تمكين أنها امتداد (لسبب ما لا تعمل مع ze_extension على آلة ويندوز) ، إعداد php الخاص بك.ini مع xdebug.profiler_enable_trigger=على الاتصال العادي الخاص بك عناوين url مع XDEBUG_PROFILE=1 إما على أو وظيفة المتغير الشخصي في هذا الطلب.لا يوجد شيء أسهل من ذلك!

أيضا, أنا حقا أوصي webgrind , على شبكة الإنترنت (php) صيف جوجل رمز المشروع الذي يمكن قراءة وتحليل تصحيح أخطاء ملفات الإخراج!

نصائح أخرى

هنا هو تلميح لطيف.

عند استخدام XDebug إلى ملف PHP الخاص بك ، profiler_trigger واستخدام هذا في المختصر لتحريك XDebug التعريف ;)

javascript:if(document.URL.indexOf('XDEBUG_PROFILE')<1){var%20sep=document.URL.indexOf('?');sep%20=%20(sep<1)?'?':'&';window.location.href=document.URL+sep+'XDEBUG_PROFILE';}

نلقي نظرة إلى xdebug, الذي يسمح في العمق التنميط.و هنا شرح كيفية استخدام xdebug.

Xdebug هذا التعريف هو أداة قوية التي تمنحك القدرة على تحليل الخاص بك رمز PHP و تحديد اختناقات أو عموما التي ترى أجزاء من التعليمات البرمجية الخاصة بك بطيئة و يمكن أن استخدام زيادة السرعة.التعريف في Xdebug 2 النواتج التنميط المعلومات في شكل cachegrind متوافق الملف.

مجد SchizoDuckie بالنسبة بالذكر Webgrind.هذا هو أول كنت قد سمعت منه.مفيدة جدا (+1).

وإلا, يمكنك استخدام kcachegrind على لينكس أو أقل المشتقة wincachegrind.كل من هذه التطبيقات سوف تقرأ xdebug هذا التعريف ملفات الإخراج وتلخيص لهم لمتعة مشاهدة الخاص بك.

رأيت مرة واحدة الشاشة الزهر زند الأساسية.تبدو جيدة جدا ، ولكنه في الواقع تكاليف المال ، أنا لا أعرف إذا كان هذا هو مشكلة بالنسبة لك.

XDebug هو لطيف ولكن ليس من السهل أن استخدام أو الإعداد المنظمة البحرية الدولية.

التعريف بنيت في زند ستوديو من السهل جدا للاستخدام.كنت مجرد ضرب زر على شريط أدوات المتصفح ، بام لديك التعليمات البرمجية الخاصة بك الشخصية.ts ربما لا بتعمق كما CacheGrind تفريغ, ولكن دائما جيدة بما فيه الكفاية بالنسبة لي.

تحتاج إلى إعداد زند منصة أيضا ، ولكن ذلك واضحة وخالية من أجل التنمية الاستخدام - كنت لا تزال لديها لدفع ثمن زند ستوديو الترخيص على الرغم من.

xdebug التنميط وظائف جيدة جدا.إذا كنت تحصل عليه من حفظ الناتج في valgrind الشكل, ثم يمكنك استخدام شيء مثل KCachegrind أو Wincachegrind لعرض الدعوة-الرسم البياني ، إذا كنت من النوع البصري من شخص العمل بها بسهولة أكثر ما يحدث.

بالإضافة إلى وجود بجدية قوية في الوقت الحقيقي التصحيح قدرات PhpED من NuSphere (www.nusphere.com) لديه المدمج في منشئ ملفات التعريف التي يمكن تشغيلها مع بنقرة واحدة من داخل IDE.

إذا قمت بتثبيت xdebug امتداد يمكنك تعيين ما يصل إلى تصدير تشغيل التشكيلات التي يمكنك أن تقرأ في WinCacheGrind (في ويندوز).لا أستطيع أن أذكر اسم التطبيق الذي يقرأ الملفات على لينكس.

أسهل حل هو استخدام زند التعريف, أنت لا تحتاج إلى زند منصة الاستخدام ، يمكنك تشغيلها مباشرة من المستعرض الخاص بك, انها دقيقة جدا و يحتوي على معظم الميزات التي تحتاج إليها وانها تتكامل في زند ستوديو

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