พยายามเปิด / ปิด xdebug บนคอนเทนเนอร์นักเทียบท่า php-fpm ของฉัน
ถ้าฉันเริ่มเชลล์แบบโต้ตอบโดยใช้ นักเทียบท่า exec my_container bash
จากนั้นเรียกใช้:
sed -i 's/^#zend_extension/zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
หรือ
sed -i 's/^zend_extension/#zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
ไฟล์ /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
มี #
เพิ่มและลบตามที่คาดไว้ อย่างไรก็ตามสคริปต์ของฉันให้ทำเช่นเดียวกัน:
นักเทียบท่า exec my_container bash -c "sed -i 's/^#zend_extension/zend_extension/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
จากนั้นไม่มีอะไรเกิดขึ้น ฉันไม่ได้ใช้ตัวแปรเชลล์เพื่อไม่มีปัญหาการขยายตัวแปรเท่าที่ฉันทราบ
จนถึงตอนนี้สคริปต์ของฉันคือ:
นักเทียบท่า 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"
แต่อยากให้ลงให้สุด มันทำให้ฉันบ้า
หมายเหตุ: ทุกที่ที่ฉันพูด นักเทียบท่า exec my_container
เดอะ my_container
เป็นคำสั่งสองสามคำสั่งใน backticks เพื่อให้ได้คอนเทนเนอร์ที่ถูกต้อง ฉันแค่พูด my_container
เพื่อให้ชัดเจนยิ่งขึ้น
ความคิดใด ๆ ?