PEAR/PECLに最低限必要なphp.iniの設定

PEAR/PECLのインストールができたので,早速パッケージやPHPモジュールをインストールしようとしたところ,エラーが出て困ってしまった。PEAR/PECLを使う上で最低限必要な設定があることがわかったので,記録として記す。

導入

ComposerでインストールできないXdebugを,以下のコマンドでPECLでのインストールを試みた。

pecl install xdebug
No releases available for package "pecl.php.net/xdebug"
install failed

単に失敗しただけで情報がない。これだけだとわからないので,-vオプションを指定して情報を増やす。

pecl -v install debug
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

やはりこれでもいまいちよくわからない。そこで,今度はinstallではなくsearchで検索を試した。

pecl -v search xdebug
Connection to `ssl://pecl.php.net:443' failed: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

今度は有益な情報が表示された。sslの接続に失敗しているようだ。

設定

以前,「peclでのインストール失敗への対応」に記した同様の問題を思い出した。今回はPHPのバージョンを変更したことに伴い,PHPのモジュールなどの設定もリセットされた状態だった。

設定を見直したところ,PEAR/PECLで最低限必要な設定が存在することがわかった。

PEAR/PECLを使う上では最低限opensslのPHPモジュールが必要にだった。これがないと通信できず,検索もインストールも失敗する。

具体的には,以下のphp.iniの内容さえあれば検索やインストールをUbuntu 18.04のPHP 7.3.3で実行できた。

PEAR/PECLに最低限必要なphp.iniの設定
extension = openssl
openssl.cafile = /etc/ssl/certs/ca-certificates.crt

OpenSSLのPHPモジュールを自分で用意する必要がある。その他,OpenSSLの証明書ファイルも必要だった。

実際に上記のphp.iniの設定でXdebugのインストールに成功した。

結論

PEAR/PECLに最低限必要なphp.iniの設定を記した。

PEARのマニュアルに情報がなく,インターネットで調べてもなかなか情報がなく,詰まりどころだった。通信する以上当たり前なのかもしれないが,ちゃんと書いておいて欲しかった。

ひとまず解決できたので,今後似たようなエラーが発生したら,今回のことを思い出すことにする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です