PHP SADECE komut satırı modunda XDebug hatalar atma

1 Cevap

Ben XDebug etkin beri komut satırından PHP tabanlı programları çalışan birkaç sorunlarınız oldum. Bir tarayıcı aracılığıyla komut yürütülürken zaman sadece iyi çalışır, ancak ben bir komut satırında bir komut dosyası çalıştırmak deneyin bir kez, o aşağıdaki hataları atar:

h:\www\test>@php test.php
PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\development\xampplite\php\ext\php_curl.dll' - The specified module could not be found in Unknown on line 0
PHP Warning:  Xdebug MUST be loaded as a Zend extension in Unknown on line 0

h:\www\test>

Script sonra sadece iyi çalışır, ama ben kafamın etrafında sarmak için görünmüyor olabilir bir şey. Benim php.ini yapılandırma içinde bir yol sorunu olabilir mi? Elimden @php çevre değişkeni erişmek nerede olursa olsun aynı hatayı atar dikkate durumda eğer emin değilim.

Ayrıca, benim php.ini içindeki tüm yolları mutlak vardır. Burada neler oluyor gerçekten emin değil.

1 Cevap

Şansını iki farklı .ini dosyalarını kullanarak vardır:

  • Bir Apache tarafından kullanılan için
  • Ve CLI için başka

Ya da belki Apache tarafından kullanılan PHP ile aynı sorun var, ama Apache hata günlüğüne olduğu gibi, bu uyarı görmüyorum - ve sadece bir uyarı.


The solution, basically, is to load the Xdebug extension using :

zend_extension=/.../xdebug.so

yerine:

extension=/.../xdebug.so

Bu hata iletisi gösterir tam olarak budur: Xdebug MUST be loaded as a Zend extension -- except it doesn't tell you how to do that.


Note :

  • I xdebug.so için mutlak yolunu kullanıyorum - Zaten güzel olan, bu yaptığınızı (it's required anyway)
  • Ama aynı zamanda zend_extension : Xdebug is an extension that hooks deep into PHP's Zend engine, which means using extension yeterli değildir kullanıyorum.

Daha fazla bilgi almak için, ve bir referans olarak, xdebug belgelerinde Installation / activation sayfasına bakınız.