[英]Disable Xdebug in docker container before running PHPUnit via PhpStorm
我根據本教程配置了PhpStorm: PHPUnit for PhpStorm
我可以成功運行PHPUnit測試,因此可以正常工作。
問題是,在我的Docker容器中,我啟用了Xdebug,有時我需要。 通常,我將docker exec
放入容器並在其中運行測試。 Xdebug大大降低了測試速度,因此在運行測試之前,我先進行了phpdismod -s cli xdebug
。 然后測試運行速度提高了100倍!
現在,我想通過PhpStorm運行測試時實現相同的行為。 PhpStorm會啟動一個自己的docker容器,用於運行測試。 我不知道如何在啟動PHPUnit之前告訴PhpStorm運行phpdismod -s cli xdebug
。 有辦法嗎?
根據您提到的鏈接,有一種方法可以設置圖像名稱,例如shlink_shlink_php:latest
。
您需要做的是在自己的映像中添加entrypoint.sh
,並根據環境變量可以啟用或禁用調試模式,例如:
export DEBUG="${DEBUG:-on}"
if [ "$DEBUG" == "off" ]; then
phpdismod -s cli xdebug
fi
因此,默認情況下,調試值on
,這意味着將xdebug模式保持活動狀態。 但是,如果您傳遞了一個名為DEBUG
的環境值且該值處於off
則它將禁用xdebug。
您可以按照此處的說明傳遞環境變量。
或者,您可以檢查此處提到的以下選項,例如嘗試通過-dxdebug.remote_enable=0
通過php其他選項傳遞-dxdebug.remote_enable=0
(我不確定禁止與遠程解釋器的連接是否與禁用調試器相同,因為我不是這部分的專家,但您也可以檢查它)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.