0
1

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 3 years have passed since last update.

PHP8で統計関数を使用する

Posted at

背景

どうしてもPHPのstatsモジュールを利用しなければならない機会があり、PHP8の環境下で動作させるまでの過程を記録しておく。

peclではインストールができない

statsはpeclからインストールすることが可能で、公式を見ると2.0.3のバージョンが存在することがわかった。

$ pecl install stats-2.0.3

しかし、上記を実行してもphp8.1の環境下ではエラーが発生してインストールに失敗してしまった。
どうやら構文エラーが発生しており、このバージョンではインストールするのが難しそう。

git

情報を辿るとstatsのgit repositoryを発見した。
最新のコミットがPHP8に対応している。
コミットを見るとバージョンが2.1.0になっていたため、このrepositoryをcloneしてコンパイルすることにしてみた。

$ git clone https://github.com/php/pecl-math-stats.git
$ phpize
$ ./configure
$ make
$ make install

peclの拡張モジュールをコンパイルする方法。上から順に実行すると所定の箇所に stats.so ファイルが作成される。
php.ini を確認し、作成された stats.so ファイルを extensions を読み込む先のディレクトリに移動させ、php.ini に stats.so を読み込むように修正を加える。

[extensions]
extension=stats.so
$ php -m
...(省略)
sqlite3
standard
stats

上記コマンドを実行し、statsが読み込まれていることを確認する。

$ php -r "echo stats_rand_gen_beta(1, 100);"
0.020464261993766% 

php8の環境下でstats関数を実行できることが確認できた。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?