ما هي مراقبة تطبيقات PHP ولماذا هي ضرورية؟
مراقبة تطبيقات PHP هي عملية جمع وتحليل وتصور مقاييس الأداء والأخطاء واستخدام الموارد لتطبيقات الويب المكتوبة بلغة PHP. بدون المراقبة، من المستحيل تحديد الاختناقات، أو تسرب الذاكرة، أو الاستعلامات البطيئة لقاعدة البيانات، أو الكود غير الأمثل. المكتبات الرئيسية لذلك هي xhprof (التوصيف) و php-ast (تحليل شجرة النحو المجردة).
كيف يتم التثبيت؟
لتثبيت xhprof (إضافة للتوصيف) قم بتنفيذ:
pecl install xhprofأضف في ملف php.ini:
extension=xhprof.soلـ php-ast (تحليل AST):
pecl install astثم قم بتوصيله عبر composer:
composer require phpunit/php-code-coverageالوظائف الرئيسية
- توصيف الطلبات — يقوم xhprof بجمع بيانات حول وقت التنفيذ، وعدد استدعاءات الدوال، واستخدام الذاكرة.
- تحليل النحو — يتيح php-ast تحليل كود PHP إلى شجرة نحو مجردة للتحليل الثابت.
- مراقبة الأخطاء — التكامل مع Sentry أو Monolog لتسجيل الاستثناءات.
- مقاييس الأداء — وقت الاستجابة، عدد الطلبات في الثانية (RPS)، استخدام وحدة المعالجة المركزية/الذاكرة العشوائية.
مثال على كود PHP
<?php// التوصيف باستخدام xhprofxhprof_enable();
// كود تطبيقك$result = someHeavyFunction();
$xhprofData = xhprof_disable();include_once '/path/to/xhprof_lib/utils/xhprof_lib.php';include_once '/path/to/xhprof_lib/utils/xhprof_runs.php';$xhprofRuns = new XHProfRuns_Default();$runId = $xhprofRuns->save_run($xhprofData, 'my_app');echo 'Profiler run ID: ' . $runId;
// تحليل AST باستخدام php-ast$code = file_get_contents('index.php');$ast = ast\\parse_code($code, $version = 70);echo ast\\get_kind_name($ast->kind);?>متى يتم الاستخدام؟
المراقبة ضرورية في بيئة الإنتاج لتتبع تدهور الأداء بعد الإصدارات، وأثناء اختبارات الحمل، وكذلك للبحث عن تسرب الذاكرة في العمليات طويلة العمر (مثل قوائم الانتظار أو خوادم WebSocket). المكتبات xhprof و php-ast مناسبة تمامًا للتكامل في خطوط CI/CD وأنظمة المراقبة (Prometheus, Grafana).
الخلاصة
استخدام أدوات التوصيف والمحللات الثابتة هو ممارسة إلزامية للحفاظ على جودة عالية لتطبيقات PHP. ابدأ بتثبيت xhprof و php-ast للحصول على صورة كاملة لأداء كودك.