こんにちわ、PHPエンジニアのエンジニア婦人(@naho_osada)です。
PHPエンジニアとして9年~の経験があります。
2018年9月18日、PHPの脆弱性が発表されました。要は、最新のもの以外は危ないかもよということで良いです。
私の開発環境で使っていたのは7.1.3。今回は大丈夫のようですが、折角なので最新バージョンにアップしておきました。
というわけで、「開発環境のPHPのバージョンアップ」番外編です。
仮想開発環境を構築シリーズ
- 番外編.PHPのバージョンを7.2.10に更新
remiの確認
通常のyumでインストールすると、CentOS7ではPHP5.3になってしまうので、remiからインストールします。
まずはremiさんの確認です。7.2があるか確認します。
ll /etc/yum.repos.d/ | grep remi-
「remi-php72.repo」があればOKです。
コマンドの解説
ll /etc/yum.repos.d | grep remi-
「/etc/yum.repos.d」ディレクトリの中身を表示してください(ll は[ls -l]の略)
且つ、正規表現で「remi-」が含まれているものを条件とします。
PHPのアンインストール
今入っているPHPを削除します。
関連モジュールもすべて削除して入れなおさないと、バージョンアップしたPHPで動作しないことがあるので、全部消します。
php関連のものはすべて頭に「php」とついているので、以下のコマンドで削除します。
yum remove php-*
削除コマンドって本当に怖いですよ。感情も何もなく削除するので、入力及び実行は気を付けましょう…
削除できたかどうかを確認するためにはこのコマンドで確認します。
rpm -qa | grep php
コマンドの解説
yum remove php-*
yumでインストールされたphpなんたらというパッケージを削除してください。
rpm -qa | grep php
インストールされているパッケージを教えてください。
且つ、正規表現で、phpが含まれているものを条件とします。
PHPのインストール
PHPを綺麗に削除できたところで、新しいPHPをインストールします。
入れる前に、現在導入できるPHPのバージョンを確認することもできます。
yum info --enablerepo=remi,remi-php72 php
アクセス時点(2018年9月26日)ではPHP7.2.10でした。これをインストールしていきます。
yum -y install --enablerepo=remi,remi-php72 php
終わったらバージョンの確認をします。
php -v
ここではphp7.2.10が入りましたと表示されました。
導入後、php.iniを開いて必要な部分の設定を変更しておきます。
TimeZoneやアップロードファイルサイズなど…。
コマンドの解説
yum info –enablerepo=remi,remi-php72 php
パッケージの利用可能なリポジトリを教えてください。
remi、remi-php72のphpを指定します。
yum -y install –enablerepo=remi,remi-php72 php
パッケージをインストールします。質問にはすべて「YES」とします(-yオプション)。
remi、remi-php72のphpからインストールをお願いします。
php -v
現在インストールされているPHPのバージョンを教えてください。
phpMyAdminを入れる
仮想開発環境を構築-2.仮想マシンウェブサーバーを作ろうでphpMyAdminを導入していますが、先にPHP関連のものを削除した関係で、これも削除されています。
開発環境を使う上ではあったほうが何かと便利なので、もう一度インストールします。
やり方は同じです。先にインストールしたremiリポジトリのバージョンを合わせることに注意します(ここではremi-php72)。
yum install --enablerepo=remi,remi-php72 phpMyAdmin
特に問題なく終了すると思います。
あとはネコでもわかる!さくらのVPS講座 ~第五回「phpMyAdminを導入しよう」にあるように、
phpMyAdmin.confを編集してブラウザでアクセスし、正しく表示されればOKです。
※この段階では既にMySQLが入っているので、そちらの作業は不要です。
Xdebugの再設定
もしXdebugの設定もしていた場合、再度設定する必要があります。php.iniの編集は必要ですね。
私はyumではなく、Gitリポジトリから導入していたので、再度コンパイルして使えるようにしました。
まとめ
どんなに優れたものでも時間が経つとセキュリティホールが出てきます。対策をしないで置いたままにしておくと、もしかしたら…
PHPに限ったことではありませんが、できるだけ最新のものを適用していくようにしたいですね。