php使用composer常見問題及解決辦法

composer是PHP中非常優秀的一個包管理工具,可以幫助我們來管理項目所需要依賴的所有包以及插件,也可以用來從packagist中創建一個項目。但是在初次使用中會出現各種各樣的問題,現我將別的開發人員問過我的的關於composer的錯誤以及解決辦法整理如下,希望能夠幫大傢跳坑:

錯誤問題一

Failed to decode response: zlib_decode(): data error
Retrying with degraded mode. check https://……

導致這個錯誤的原因一般是網絡的原因。因為上邊執行的語句:

composer global require “fxp/composer-asset-plugin:^1.2.0”

在請求將yii2的項目安裝插件安裝到全局是出現這個問題。composer頁提供瞭一個degraded模式的解決方法。如果我們開啟瞭ipv6則需要將IPv6取消勾選。

如果使用該方法也無法處理那麼就需要使用composer中文全量鏡像或其他VPN的方式。

錯誤問題二

The “http://getcomposer.org/versions“file could not be downloaded:
php_network_getaddresses: getaddrinfo failed: 不知道這樣的主機。
failed to open stream: php_network_getaddresses: getaddrinfo failed: 不知道這樣的主機

這也是比較經典的一個問題這時因為在安裝composer時其實還是需要從composer的官方網站下載composer.phar所以如果你的網站無法訪問國外網站那麼久會有問題。當然你可以直接下載composer.phar來使用,前提是要將PHP加入到環境變量中。

錯誤問題三

The openssl extension is required for SSL_TLS protection but is not available,If you can not enable the openssl extension you can disable this error. at you own risk, by setting the ‘disable-tls’ option to true

這個算是一個比較經典的錯誤瞭。錯誤很明顯是因為沒有開啟php_openssl打開方法為
找到你的php.ini文件找到

;extension=php_openssl.dll

把前邊的分號(;)刪除。當然如果這樣做瞭還沒有生效有可能是你的電腦中安裝瞭多個php那麼就需要在環境變量中查看下寫在path中的PHP路徑在那兒。找到路徑中的php.ini按照上述過程修改。

錯誤問題四

-yiisoft/yii2 2.0.10 requires ext-mbstring * -> the requested PHP extension mbstring is missed

這個錯誤也是經常會犯的錯誤。是因為composer安裝yii2時需要mbstring這個處理多字節字符串的擴展。開啟方法和上一個問題一樣,刪除php_mbstring.dll前的分號

;extension=php_mbstring.dll

當然如果沒有生效還是要去看看系統環境變量中的PHP路徑是哪個。

錯誤問題五

Content-Length mismatch

導致這個問題的主要原因還是網絡的原因讓請求的數據不完整導致的。正確的做法是使用中文鏡像庫或者vpn。

中文鏡像使用辦法

使用中文鏡像基本能解決以上所有問題(除composer的安裝),也是非常非常需要的。

使用辦法

在composer安裝好後打開命令行工具執行以下的語句:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

這樣會去中文全量鏡像https://packagist.phpcomposer.com中去請求包以及插件的下載安裝。

以上就是php使用composer常見問題及解決辦法的詳細內容,更多關於php composer的資料請關註WalkonNet其它相關文章!