peclでのインストール失敗への対応
Ubuntu 18.04でpeclでパッケージをインストールしようとしたら,エラーがでて困ってしまった。
pecl install xdebug
最初に表示されたのがこちらのエラー。
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel- update pecl.php.net" to update Could not download from "https://pecl.php.net/get/xdebug-2.9.2.tgz", cannot d ownload "pecl/xdebug" (Connection to `ssl://pecl.php.net:443' failed: ) Error: cannot download "pecl/xdebug" Download failed install failed
なにやら,プロトコルが更新されたとのことで,以下のコマンドを実行するように書いてあるので指示通りに実行してみる。
pecl channel-update pecl.php.net
Updating channel "pecl.php.net" Update of Channel "pecl.php.net" succeeded
このchannel-update
はうまくいったようだ。この後に最初の以下のコマンドを実行し直した。
pecl install xdebug
No releases available for package "pecl.php.net/xdebug" install failed
別の理由でだめだった。これだけだと情報が足りないので,-v
オプションで情報を増やしてみる。
pecl -v install xdebug
No releases available for package "pecl.php.net/xdebug" Cannot initialize 'channel://pecl.php.net/xdebug', invalid or missing package file Package "channel://pecl.php.net/xdebug" is not valid install failed
その他,以下のエラーも表示されることがあった。
Could not download from "https://pecl.php.net/get/xdebug-2.9.2.tgz", cannot download "pecl/xdebug" (Connection to `ssl://pecl.php.net:443' failed: ) Error: cannot download "pecl/xdebug" Download failed install failed
エラー内容で調べたところ,こちらの「macos – pecl install always failed “unable to connect to ssl://pecl.php.net:443 (Unknown error) in Proxy.php on line 183” – Stack Overflow」のコメントの内容で解決できた。
php.ini
に以下を追加した。
openssl.cafile = /etc/ssl/certs/ca-certificates.crt
どうやらHTTPSのSSL通信に必要な証明書が必要らしい。Ubuntuでは標準的な証明書が/etc/ssl/certs/ca-certificates.crt
に格納されているようで,これを指定すると解決した。
自前でビルドしたOpenSSLを使っているため,このあたりの証明書の設定がもしかしたら抜けてしまったのかもしれない。
はっきりしたことがわからず,少々もやもやするが,一旦解決したのでこれでよしとする。
リンク
“peclでのインストール失敗への対応” に対して1件のコメントがあります。