10. PHP の拡張モジュールについて

9. php7.1のインストール の続き。

(このページはまだいい加減なので参考にしないように)

CentOSPHPをインストールする際に、phpの拡張モジュールも併せてインストールした。
その後、必要なモジュールが足りていなかったので追加インストールしたが、依存関係でつまづいてうまくいかなかった。 行ったり来たりして最後はなんとか動いたが、どれが必須の拡張機能で、それぞれどういう役割なのか分からなかったので調べた。

授業では下記ページを参考にした。

CentOS7のPHPを5.6/7.0/7.1/7.2/7.3系にバージョンアップする - Qiita CentOS6/CentOS7にPHP5.6/PHP7をyumでインストール - Qiita
yum install --enablerepo=remi


  • remi-php70:PHP7.0本体
  • php-mysqlndMySQL Native Driver. 下記PDOなどがMySQLサーバーと通信できるようにするためのプログラム *1 「この拡張モジュールは PHP 5.5 で非推奨になり、PHP 7.0 で削除されました。MySQLi あるいは PDO_MySQL を使うべきです。」とのことです。 *2
  • php-intl:国際化用拡張モジュール (international) *3 国によって日付などの並び順も違うし、そういうのを解決するっぽい

  • php-develphp開発キット。phpでプログラミングするときに必要になるっぽい

  • php-pdoPhp Data Objects. phpからDBMSを管理するのに必要。DBMSの機能を抽象化する(MySQLPostgreSQLOracleとDBが変わってもアプリ側からは同じように扱える *4 *5
  • php-mbstring:マルチバイト文字列拡張。日本語環境を使うなら必要になるっぽい *6
  • php-xmlXML パーサ(XML文章を取り扱うプログラム)。ブログなどではXML形式でのデータ記述も多いので必要ぽい *7
  • php-gdPhp Graphics Draw 画像生成用 *8 今のところは入れなくても良いかも。と思ったんですが phpMyAdmin に必要でした。
  • php-mcrypt:暗号化/復号化関数用の拡張。PHP7.2で消えるらしいので入れなくても良いかも *9
  • phpMyAdminMySQLサーバーをウェブブラウザで管理するためのデータベース接続クライアントツールでPHPで実装されている。phpMyAdminを用いることで、SQL文を記述することなくMySQLのデータベースに対して様々な操作が行える。 またユーザが任意のSQL文を記述して実行することもできる。(phpMyAdmin - Wikipediaより)

依存性の確認。

[root@localhost ~]# yum --enablerepo=remi-safe deplist php70
パッケージ : php70.x86_64 1.0-5.el7.remi
provider *10 : php70-php-cli.x86_64 7.0.30-1.el7.remi *11
provider : php70-php-common.x86_64 7.0.30-1.el7.remi *12
provider : php70-runtime.x86_64 1.0-5.el7.remi *13

同様に

yum install --enablerepo=remi-safe php php72 phpMyAdmin php72-php-mysqlnd php72-php-intl php72-php-devel php72-php-xml php72-php-pdo php72-php-mbstring php72-php-gd
(ここでphpMyAdminを一緒に入れずに後から単独で入れると、依存性解決がうまくいかない場合がある)

11. MariaDBのインストール

*1:http://php.net/manual/ja/mysqlnd.overview.php

*2:しかしながら、remiリポジトリを検索しても php-pdo や php-mysqlnd は7.0版があるが、php-pro_mysql は 5.4版しかなかった

*3:http://php.net/manual/ja/intro.intl.php

*4:http://www.atmarkit.co.jp/ait/articles/1111/11/news136.html

*5:http://php.net/manual/ja/book.pdo.php

*6:PHP: マルチバイト文字列 - Manual

*7:http://php.net/manual/ja/intro.xml.php

*8:http://php.net/manual/ja/book.image.php

*9:https://qiita.com/sapi_kawahara/items/bbfbc57fd12ff348f216

*10:同時にインストールが必要なパッケージ

*11:Command Line Interface : PHP言語をコマンドライン上から実行するためのソフト

*12:php実行に必要な補助機能ソフト

*13:同様に補助機能ソフト

*14: Linux C Library

/* -----codeの行番号----- */