20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PHP7.4ではPEARがインストールされなくなる

Posted at

Disable PEAR

2019/02/01にDisable PEAR by defaultというプルリクが提出され、2019/02/11にマージされました。

commitからmerge日はどうすればわかるのだろう?

内容

Installation of PEAR (including PECL) is no longer enabled by default. It can be explicitly enabled using --with-pear. This option is deprecated and may be removed in the future.

PEAR(PECLを含む)は、デフォルトではインストールされなくなりました。
--with-pearで明示的に有効にしなければなりません。
このオプションは非推奨であり、将来削除される可能性があります。

これまではPHPをインストールすると自動的にPEARも入ってきていましたが、PHP7.4以降は--with-pearを明示しないかぎりインストールされなくなります。
また--with-pearオプションも非推奨で、今後削除される可能性が有り、削除されるとPHPと一緒にPEARをインストールする方法がなくなります。

もちろんPEARが一切使用できなくなるわけではなく、PHPのインストール後にgo-pear.pharなどを使用して別途インストールすることは可能です。
Composerと同じように

メーリングリスト

プルリクと一緒にメーリングリストで話が始まりました。
提案者のNikita PopovはPHPのコア開発者で、プロパティ型指定とかジェネレータとか作ってるすごい人で、最近JetBrainsに入りました

そもそもPEARはもはやまともにメンテされておらず、2017/11/30リリースのPHP7.2で非推奨になったeach削除されたのは、2018/08/23リリースのv1.10.6create_functionに至っては2018/12/06です。
そんな長期間誰も気付かないほど誰も使ってないんだからもう要らんじゃろ、みたいなことをNikitaは言っていて、概ね同意のうえ10日後にマージされました。
プルリク者本人がマージするのはどうなんだって気がしないでもない。

PEARはともかくPECLがなくなるのは惜しいという意見はいくつかありましたが、個別に入れられますし、Pickleもあるので欲しい人には各自でやってもらいましょう。

RFC

Deprecate Bundling PEAR/PECL & Replace with composer/pickleというRFCがあるのですが、これは完全にスルーされています。
PEARの排除だけ、RFCも立たずにさっくりと行われました。
Composerのバンドルについては行うつもりはないようです。

感想

正直もうPEARは仕方ないよね。

先日のバックドアの件も、2019/01/19にシャットダウンしたサーバが復旧したのが2019/02/25で、公約してた後日の報告も2019/03/25時点で影も形もないとかいうね。

Recent Releasesを見てみると一応月に数本は更新されてはいるのですが、Composer全盛の今にあえてPEARを使う意義はほぼ感じられません。

20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?