كيف يمكنك انشاء PHP + xDebug + (x)وحدة + الكسوف إلى العمل مع نقاط التوقف في وحدة الاختبارات ؟

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

سؤال

حاولت لبعض الوقت للحصول على هذا العمل بشكل صحيح ولكن لم الحظ.في الأساس لدي الكسوف (3.3) مع PHP أدوات التطوير (PDT) ، PDT XDebug المساعد وكذلك SimpleTest الكسوف المساعد.

ما أريد فعله هو رمز التصحيح تحتج SimpleTest وحدة الاختبارات.SimpleTest بوضوح أن نرى XDebug لأنني يمكن أن تولد مدونة التغطية التقارير ، لكنه لن تتوقف فقط على نقاط التوقف.

تحرير:يجب أن أضيف أن XDebug و نقاط التوقف تعمل بشكل جيد في الكسوف ، ليس فقط عندما احتج بها SimpleTest

وقد أي شخص وضع هذا الأمر بنجاح ؟ هناك الكثير من الخزعبلات مستندات حول و القليل من المعلومات المفيدة.

وذلك بفضل!

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

المحلول

تأكد من أن لديك حق XDebug للإصدار الخاص بك من PHP و إضافة هذا في بداية php الخاص بك.ini:

[xdebug]
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000

ثم القيام apachectl graceful و phpinfo وتأكد XDebug موجودة ونشطة.إذا كان كل شيء يجب أن تعمل بشكل جيد.أنا أعلم أنه لا بالنسبة لي.

تحرير: أجبت قبل قراءة السؤال بأكمله.

قبل تشغيل البرنامج النصي يجب تعيين متغير البيئة;

export XDEBUG_CONFIG="idekey=session_name"

قد يكون من الممكن القيام بذلك من php ولكن أنا لا يمكن اختبار هذا:

putenv('XDEBUG_CONFIG="idekey=session_name"');

يجب عليك التأكد من أن php الثنائية تستخدمه لديه XDebug امتداد تحميلها على نظام وحدة اباتشي لكنه الافتراضي CLI مترجم لا ولكني تشغيل إصدارات مختلفة على الغرض.

هناك بعض وثائق جيدة هنا

نصائح أخرى

إلى أبعد من ذلك على كريس' الجواب, إذا كنت تدير إنتاج وتطوير البيئات على نفس الخادم ، انها فكرة جيدة أن تجعل الخاصة بك xdebug إعدادات إما إلى php include أو تلك الخاصة بك virtualhosts والتي هي مكرسة dev أو testing البيئات :

  • بناء الجملة من أجل virtualhosts هو

    <virtualHost ....>
    
      (...)
    
      # Xdebug ENV
      php_flag xdebug.auto_trace on
      php_flag xdebug.idekey session_name
      php_flag xdebug.profiler_enable_trigger 1
      php_flag xdebug.(...)
    
      (...)
    
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top