簡體   English   中英

通過PhpStorm運行PHPUnit之前在Docker容器中禁用Xdebug

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM