Ich habe ein Problem mit Xdebug in meiner Entwicklungsumgebung.Xdebug bricht Zugriff auf statische Eigenschaft der Klasse
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 Einstellungen:
[xdebug]
xdebug.remote_enable=1
xdebug.remote_autostart=0
xdebug.remote_host=172.17.42.1
xdebug.remote_port=9000
Alles funktioniert gut, aber eine Sache. Beim Debuggen den Code:
<?php
class A {
static private $a;
static public function init() {
self::$a = 123;
}
}
A::init();
Wenn ich einen Haltepunkt auf self::$a = 123;
oder Schritt in die Linie gesetzt, die ich erhalten:
Fatal error: Access to undeclared static property: A::$a
Wenn ich in dieser Zeile nicht Schritt setzt die Debug-Sitzung ohne irgendwelche Probleme.
Was ist los?
Das gleiche Problem mit PHP 5.4.43 mit Xdebug v2.3.2. Eigenbau über Docker. – shark555
Ich habe verschiedene xdebug-Versionen, verschiedene Debug-Clients verwendet. Ich habe xdebug über pecl installiert und kompiliere es selbst. Das Problem muss irgendwo im offiziellen Docker sein php image –
Welche IDE benutzen Sie? – bishop