摘要:換句話說對我們程序調試來說非常重要,但對來說卻增加了內存占用和進程時間。官網給出了解決方案下面我講講我的排錯思路。方法通過配置文件,全局禁用。首先,這肯定是一個因為啟用了導致的沖突,我們要找到在哪里啟用了。
composer 對 phper 來說是個福音,但有時,他也會給我們一些小麻煩,比如下面這個報錯:
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
這是一個非常常見的沖突,而且這個沖突對 composer 運行的影響還是蠻大的,當我們啟用 Xdebug 功能時,將使得我們的 composer 運行放慢 3-4 倍。換句話說:xdebug 對我們程序調試來說非常重要,但對 composer 來說卻增加了內存占用和進程時間。
composer 官網給出了解決方案
下面我講講我的排錯思路。
方法1:通過 php 配置文件,全局禁用 Xdebug。首先,這肯定是一個因為啟用了 Xdebug 導致的沖突,我們要找到在哪里啟用了 Xdebug。
寫一個包含 phpinfo() 函數的頁面,在瀏覽器中打開。
配置參數 | 值 |
---|---|
Configuration File (php.ini) Path | /usr/local/etc/php/5.6 |
Loaded Configuration File | /usr/local/etc/php/5.6/php.ini |
Scan this dir for additional .ini files | /usr/local/etc/php/5.6/conf.d |
Additional .ini files parsed | /usr/local/etc/php/5.6/conf.d/ext-igbinary.ini, /usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini, /usr/local/etc/php/5.6/conf.d/ext-redis.ini, /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini |
可見 php 調用了 php.ini 配置文件和 conf.d 目錄里面的所有 ini 配置文件。
禁用 php.ini 中的 "xdebug" 模塊用分號注釋掉調用語句:
;zend_extension = "/path/to/my/xdebug.so"去除 Xdebug 相關的配置文件
如果 Xdebug 的調用不在主配置文件 php.ini 中,那么有可能在擴展配置文件夾中,比如我的環境就是如此,見上圖表:
我們可以將 conf.d/ext-xdebug.ini 重命名為 ext-xdebug.bak 或者刪除。這樣 php 服務重啟就不會調用了。當面,我們也可以參照上面的步驟,在 conf.d/ext-xdebug.ini 中將相應的 Xdebug 語句注釋掉,效果相同。
設置別名的需要了解你自己在哪個 shell 環境下,我的機子用的是 zsh ,所以編輯 .zshrc 這個文件即可。
? ~ cd ? ~ vi .zshrc
然后根據下面兩種情況選擇一種方式設置你的別名,或者設置兩個別名。
調用不含 Xdebug 模塊的配置文件對于 Xdebug 調用在 php.ini 中的情況,我們可以通過復制一份不含 Xdebug 的配置文件(xdebug-disabled-php.ini),然后建立以下別名:
alias comp="php -c /path/to/xdebug-disabled-php.ini /path/to/composer.phar"不調用任何 php 配置文件
這種方式可以解決像我一樣已經將一些擴展配置路徑編譯進 php 的情況:
# Without php.ini alias comp="php -n /path/to/composer.phar"
/path/to 為你實際的文件或命令路徑
OK ,現在我們執行 composer -V 試試,是否還有錯誤提示出現。
Good,完美解決。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30411.html
摘要:接下來我們將會介紹一些可以快速實現的小技巧,讓你的代碼測試變得更快。該示例測試套件有意地模擬更廣泛的測試集合,并突出改進的可行性。真實情況下,效率的提升可能有所差異。我認為相比通過提升一點速度帶來的好處,保持生產環境一致更重要。 showImg(https://segmentfault.com/img/remote/1460000017962057?w=1440&h=736); 具備高...
摘要:開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括虛擬機集群和其他的基礎應用平臺。容器進入容器名暴露端口暴露端口使用調試環境中安裝了調試,需對進行配置后啟用,配置如下配置完成后需要重啟下容器。 showImg(https://segmentfault.com/img/bVbgmdS?w=567&h=272); Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕...
摘要:開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括虛擬機集群和其他的基礎應用平臺。容器進入容器名暴露端口暴露端口使用調試環境中安裝了調試,需對進行配置后啟用,配置如下配置完成后需要重啟下容器。 showImg(https://segmentfault.com/img/bVbgmdS?w=567&h=272); Docker是一個開源的引擎,可以輕松的為任何應用創建一個輕...
閱讀 1094·2021-11-22 14:56
閱讀 1534·2019-08-30 15:55
閱讀 3376·2019-08-30 15:45
閱讀 1667·2019-08-30 13:03
閱讀 2879·2019-08-29 18:47
閱讀 3344·2019-08-29 11:09
閱讀 2652·2019-08-26 18:36
閱讀 2626·2019-08-26 13:55