Ho un problema con Xdebug nel mio ambiente di sviluppo.interruzioni di Xdebug sull'accesso alla proprietà statica della classe
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"]
impostazioni Xdebug:
[xdebug]
xdebug.remote_enable=1
xdebug.remote_autostart=0
xdebug.remote_host=172.17.42.1
xdebug.remote_port=9000
Tutto funziona bene ma una cosa. Quando il debug del codice:
<?php
class A {
static private $a;
static public function init() {
self::$a = 123;
}
}
A::init();
Se ho impostato un punto di interruzione self::$a = 123;
o passo nella linea, ottengo:
Fatal error: Access to undeclared static property: A::$a
Se io non entro in quella linea, la sessione di debug continua senza alcun problema.
Cosa c'è che non va?
Stesso problema con PHP 5.4.43 con Xdebug v2.3.2. Creazione propria tramite finestra mobile. – shark555
Ho usato diverse versioni di xdebug, diversi client di debug. Ho installato xdebug via pecl e compilato da solo. Il problema deve essere da qualche parte all'interno della docker ufficiale immagine php –
Che IDE stai usando? – bishop