سؤال

لقد حاولت مؤخرًا المضي قدمًا نتبيانز 6.5 بعد أن حصل على تصنيف عالٍ جدًا في مراجعة IDE بواسطة مجلة Smashing. http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-what-to-choose/

السبب الرئيسي للتبديل من برنامج Notepad++ هو أنني أرغب في أن أكون قادرًا على تصحيح أخطاء الكود الخاص بي وتعيينه.

لقد اتبعت الإرشادات حول كيفية تثبيت xdebug من كلا البائعين http://xdebug.org/ وموقع ويب netbeans. http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady ولكن دون جدوى.

كيف يتم ذلك، هل قام أي شخص آخر بتصحيح الأخطاء في netbeans؟

(الإعداد الخاص بي هو:Windows XP، Wamp server 2.0، PHP 5، Netbeans 6.5.1)

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

المحلول 3

لقد وجدت منذ ذلك الحين أن WAMP، عند تثبيته مع Mod_rewrite وcURL، لا يمكنه التعامل مع Xdebug.

إنها خطأ معروف ويتعطل في كل مرة.

http://phphints.wordpress.com/2008/10/24/wampserver-phpini-settings-for-use-with-xdebugdll-pear-and-silverstripe-cms-framework/

لسوء الحظ، أنا أستخدم هاتين المكتبتين أيضًا.

نصائح أخرى

من المهم إضافة هذا السطر في ملف php.ini:

xdebug.idekey="netbeans-xdebug"

ملحوظة:في NetBeans، انتقل إلى الإعدادات وابحث عن مكان إعداد عناصر xdebug.ابحث عن معرف الجلسة هذا.في حالتي كان netbeans-xdebug.

حسنًا، بالنسبة لي، كان netbeans هو أول بيئة تطوير متكاملة تعمل على تصحيح أخطاء php خارج الصندوق.

هل يظهر xdebug في phpinfo؟إذا كان الأمر كذلك، فيجب أن يعمل مع الإعدادات الافتراضية.الوحيد المطلوب هو:

xdebug.remote_enable=on

لذا، إذا لم يتم تمكين هذا، فضعه في ملف php.ini، وأعد تشغيل Apache، ومن المفترض أن يعمل تصحيح الأخطاء.

إذا لم يكن الأمر كذلك، فسيتعين عليك تقديم المزيد من المعلومات لي لمساعدتك.

سي

إنها ليست مشكلة معروفة أن xdebug يسبب مشكلات تتعلق بالضفيرة أو mod_rewrite.المشكلات الوحيدة التي أعرفها هي مع Xdebug على نظام التشغيل Vista.

يمكنك أن ترى هنا:http://ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/ باللغة البرتغالية، ولكن يوجد جهاز افتراضي تم تكوينه مسبقًا مع Ubuntu 10.10 وnetbeans وphp وmysql وxdebug وجاهز للاستخدام.إلق نظرة

اكتشفت أنه في Netbeans تحتاج إلى تعيين مسار webroot في المشاريع إلى app/webroot.إذا قمت بذلك، فإن تصحيح الأخطاء يعمل بشكل لا تشوبه شائبة.

إذا كنت تستخدم xampp ضمن نظام التشغيل Windows:

ما عليك سوى فتح الخاص بك php.ini ملف وتغيير هذين السطرين

;xdebug.profiler_enable = 0
;zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

داخل

xdebug.profiler_enable = 1
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"

(حذر:إذا كان إصدار xampp لديك قديمًا، فيجب عليك تنزيله من http://xdebug.org/download.php, قم بتنزيل الإصدار 32 بت حتى نظام التشغيل لديك 64 بت.على سبيل المثالاسم xdebug الذي قمت بتنزيله هو php_xdebug-2.2.1-5.4-vc9.dll.قم أولاً بنسخ php_xdebug-2.2.1-5.4-vc9.dll إلى الدليل C:\xampp\php\ext\، ثم سيكون السطر الثاني الخاص بك zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll)

بعد ذلك، أوقف أباتشي وابدأ من جديد، هذا كل شيء.

إذا كنت تواجه المشكلة التي يقرر فيها Apache التعطل كلما قمت بتشغيل مصحح الأخطاء (وهو ما كان لدي وهو أمر مزعج للغاية).أنا متأكد تمامًا من أنني قمت بإعادة تثبيت xampp وإعادة إعداد xdebug.أعتقد أن المشكلة كانت تتعلق بإعداد مصحح أخطاء zend بشكل غريب في php.ini وعدم تعديل php.ini الصحيح.

وفي النهاية بعد إعادة تثبيته وإعادة ضبطه، أصبح يعمل بشكل جيد.

أقوم الآن بتشغيل إصدار مطور من Netbeans الذي يحتوي على تصحيح أخطاء الشبكة باستخدام xdebug، لذلك نقوم بتشغيله بالكامل من خادم التطوير الخاص بنا وهو يعمل بشكل رائع.

حظًا سعيدًا، لا توجد أي وثائق مناسبة بشكل خاص حول كيفية إعداد xdebug باستخدام net Beans.

لقد واجهت مشكلات عرضية مع NetBeans وXDebug والتي كانت بسبب وجود بيان المراقبة الذي لا يتعلق بالكود الذي يتم تصحيحه.

في هذه الحالة يفشل مصحح الأخطاء مع استثناء مأخذ التوصيل.

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

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

وجدت حل نفس المشكلة على نفس الموقع PHP نتبيانز:يتوقف xdebug عند كل include() أو require()

حسنا، كان الخطأ، النسيان

[xdebug]

كرأس قسم في php-ini.وبالطبع، "أوقف" أغراضك مباشرةً قبل بدء قسم آخر (على سبيل المثال:[Date] أو [iconv]) وإلا فسوف تضعها عن طريق الخطأ في القسم الخطأ.(في تعليق djungle الخاص بـ php.ini يحدث هذا بسهولة.)

في حالتي، كانت العملية التي يتم تشغيلها على جهازي (Windows 7) تستخدم المنفذ 9000 المسمى بالفعل aeagent.exe

لقد قمت بتغيير إعداد php.ini الخاص بي إلى "xdebug.remote_port=9001"، وقمت بإجراء التغيير المقابل في netbeans، ثم أعدت تشغيل Apache.الآن يعمل.

بفضل أداة SysInternals TCPView.

اذهب إلى http://wiki.netbeans.org/HowToConfigureXDebug .هناك قائمة كبيرة من الخطوات التي يجب عليك اتباعها، والتي قد تساعدك.

ولكن على الأرجح أنك تحتاج فقط إلى إصدار جديد من xdebug-binary.اذهب إلى http://xdebug.org/wizard.php لمعرفة الثنائي الذي تحتاجه وقد يتم حل مشكلتك.

عند تشغيل netbeans تحت Ubuntu، كنت أواجه هذه المشكلة أيضًا، ويبدو أنني جربت جميع الحلول الموجودة على الإنترنت ولكن دون جدوى.

الشيء الوحيد الذي ساعد أخيرًا هو تشغيل netbeans باستخدام أمر SUDO!يبدو أن المستخدم العادي ليس لديه إذن للاستماع على المنفذ 9000 (أو أي منفذ آخر).

sudo netbeans &

...وفويلا، يمكنني تصحيح الأخطاء مرة أخرى!ربما سيوفر لك يومًا أو يومين

الآن يعمل بعد إضاعة 3 ساعات لجعل XDEBUG العمل على Windows8 مع استبدال WAMP 2.2 خطوط أصلية أدناه [XDEBUG] مع المتابعة

    zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll"
    ;make sure path of your own php_xdebug, dll version may vary.

    [xdebug]

    xdebug.remote_enable = on
    xdebug.remote_handler=dbgp
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port]
    xdebug.profiler_enable = on
    xdebug.profiler_enable_trigger = on
    xdebug.profiler_output_name = cachegrind.out.%t.%p
    xdebug.profiler_output_dir = "c:/wamp/tmp"

الآن انقر على أيقونة wamp في شريط المهام و"إعادة تشغيل كافة الخدمات"

حسنًا .. الآن الخطوة الأخيرة >> ابدأ NetBeans كمسؤول هولي روح Windows8 أكرهك:

انتقل إلى المستند أدناه لتصحيح الأخطاء عن بعد باستخدام NetBeans.http://stuporglue.org/setting-up-xdebug-with-netbeans-on-windows-with-a-remote-Apache-server/

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