Încerc să activez/dezactivez xdebug pe containerul meu docker php-fpm.
Dacă pornesc un shell interactiv folosind docker exec my_container bash
apoi ruleaza:
sed -i 's/^#zend_extension/zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
sau
sed -i 's/^zend_extension/#zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
Fișierul /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
are #
adăugat și eliminat așa cum era de așteptat. Totuși, scriptul meu să facă același lucru:
docker exec my_container bash -c "sed -i 's/^#zend_extension/zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
Atunci nu se întâmplă nimic. Nu folosesc variabile shell pentru a nu exista probleme de extindere a variabilelor din câte știu.
Până acum scenariul meu a fost:
docker exec -it my_container bash -c "cp /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini /tmp/xdebug.ini; sed -i 's/^#zend_extension/zend_extension /' /tmp/xdebug.ini; cp /tmp/xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
Dar aș vrea să ajung la fund. Mă înnebunește.
Notă: oriunde spun eu docker exec my_container
cel containerul_meu
este de fapt câteva comenzi în backticks pentru a obține containerul corect, spun doar containerul_meu
pentru a fi mai clar.
Vreo idee?