9. php7.1のインストール の続き。
(このページはまだいい加減なので参考にしないように)
CentOSにPHPをインストールする際に、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-mysqlnd:MySQL Native Driver. 下記PDOなどがMySQLサーバーと通信できるようにするためのプログラム *1 「この拡張モジュールは PHP 5.5 で非推奨になり、PHP 7.0 で削除されました。MySQLi あるいは PDO_MySQL を使うべきです。」とのことです。 *2
-
php-intl:国際化用拡張モジュール (international) *3 国によって日付などの並び順も違うし、そういうのを解決するっぽい
- php-pdo:Php Data Objects. phpからDBMSを管理するのに必要。DBMSの機能を抽象化する(MySQL、PostgreSQL、OracleとDBが変わってもアプリ側からは同じように扱える *4 *5)
- php-mbstring:マルチバイト文字列拡張。日本語環境を使うなら必要になるっぽい *6
- php-xml:XML パーサ(XML文章を取り扱うプログラム)。ブログなどではXML形式でのデータ記述も多いので必要ぽい *7
- php-gd:Php Graphics Draw 画像生成用 *8 今のところは入れなくても良いかも。と思ったんですが phpMyAdmin に必要でした。
- php-mcrypt:暗号化/復号化関数用の拡張。PHP7.2で消えるらしいので入れなくても良いかも *9
- phpMyAdmin:MySQLサーバーをウェブブラウザで管理するためのデータベース接続クライアントツールで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
同様に
- php-mysqlnd には php-pdo, libc *14 他 が必要
- php-intl には php-common 他
- php-devel には php-cli 他
- php-pdo には php-common, libc, libsqlite3 他
- php-mbstring には php-common, libc 他
- php-xml には php-common, libc 他
- php-gd には php-common 他
- phpMyAdmin には php (language) >= 5.3.7, php-common, php-mbstring, php-gd, php-mysql 他
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を一緒に入れずに後から単独で入れると、依存性解決がうまくいかない場合がある)
*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
*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言語をコマンドライン上から実行するためのソフト
*13:同様に補助機能ソフト