2015-09-14 17 views
14

Geliştirme ortamımda Xdebug ile ilgili bir sorun yaşıyorum.Xdebug sınıf statik özelliğine erişimde kırılıyor

FROM library/php:5.5-apache 

RUN apt-get -qqy update && apt-get -qqy install \ 
       libpq-dev \ 
       libmcrypt-dev \ 
       libxml2-dev \ 
       ssl-cert \ 
       vim \ 
       git \ 
       mc \ 
     && rm -r /var/lib/apt/lists/* 

# compile and add xdebug 
RUN pecl install xdebug \ 
    && echo "zend_extension=xdebug.so" >> "/usr/local/etc/php/conf.d/xdebug.ini" 

# configure apache and vhosts 
RUN a2enmod rewrite ssl \ 
     && a2ensite 000-default default-ssl 

ENV APACHE_RUN_USER www-data 
ENV APACHE_RUN_GROUP www-data 
ENV APACHE_LOG_DIR /var/log/apache2 
ENV APACHE_RUN_DIR /var/run/apache2 
ENV APACHE_PID_FILE /var/run/apache2/apache2.pid 
ENV APACHE_LOCK_DIR /var/lock/apache2 

CMD ["apache2-foreground"] 

Xdebug ayarları:

[xdebug] 
xdebug.remote_enable=1 
xdebug.remote_autostart=0 
xdebug.remote_host=172.17.42.1 
xdebug.remote_port=9000 

Her şey iyi çalışıyor ama bir şey. Ben hattına self::$a = 123; veya adım bir kesme noktası ayarlarsanız

<?php 
class A { 
    static private $a; 

    static public function init() { 
     self::$a = 123; 
    } 
} 

A::init(); 

, alıyorum:: ben bu hat içine adım yoksa

Fatal error: Access to undeclared static property: A::$a 

, ayıklama oturumu olmadan devam kodunu ayıklarken herhangi bir problem.

Neyin var?

+0

Xdebug v2.3.2 ile PHP 5.4.43 ile aynı sorun. Docker ile kendi inşa. – shark555

+0

Farklı xdebug sürümleri, farklı hata ayıklama istemcileri kullandım. Xdebug'ı pecl ile yükledim ve kendi başıma derledim. Sorun resmi docker php görüntü içinde bir yerde olmalı –

+0

Hangi IDE kullanıyorsunuz? – bishop

cevap

1

Ben xdebug yerde bir hata olduğunu düşünüyorum - bu hata raporları http://bugs.xdebug.org/view.php?id=1185

  • https://github.com/docker-library/php/issues/133
    • Bu arada xdebug_break() kullanarak soruna işin sıralamak mümkün olabilir bakın Sadece istisna atar ve oradan hata ayıklama devam satırından sonra işlev. Özel durum atıldıktan sonra satırda bir kesme noktası ayarlamayı denedim ve bir kesme noktasının bir istisna atmasını durdurmak için yeterli olmadığını buldum.

      Değil mükemmel bir çözüm ama umarım bu hataların yakında

    0

    sadece resmi PHP5 görüntülerde yeniden olabilir açıklanan hata sabit alacak. PHP 7 görüntüleri sadece iyi çalışıyor ve jessie veya ubuntu'dan özel bir PHP5 FPM görüntüsü oluştururken, hata da oluşmuyor.

    İlgili konular