masalibの日記

システム開発、運用と猫の写真ブログです

php5.6 => 7.2で統合,廃止,移行されたextension

自分用のメモ
php5.6 => 7.2のバージョンアップをおこなった。

詳細! PHP 7+MySQL 入門ノート

詳細! PHP 7+MySQL 入門ノート

php_infoを比べてみると差分があった。

yumのコマンドで指定してもインストールできないとかあった

前提

phpのインストールは標準のリポジトリではなく下記をつかっています

sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
sudo yum install yum-utils -y
sudo yum-config-manager --enable remi
for v in 56 72 ; do sudo yum -y install php$v php$v-php-{gd,xml,mbstring,mysqlnd} ; done
for v in 56 72 ; do sudo yum -y install php$v-php-{opcache,pecl-apcu,pecl-memcached} ; done

廃止

mcryp

ext/mcrypt mcrypt 拡張モジュールは十年近くにわたって 放置されており、極めて使いづらいものです。 そこで、この拡張モジュールを非推奨にしました。かわりに OpenSSL を使いましょう。 mcryptPHP 7.2 でコアから削除されて、PECL に移る予定です。http://php.net/manual/ja/migration71.deprecated.php

より引用

codeigniter側も非推奨みたいです http://codeigniter.jp/user_guide/3/libraries/encrypt.html

新しいライブラリ http://codeigniter.jp/user_guide/3/libraries/encryption.html

新しいライブラリで対応できそうなので入れるのをやめた
(コンパイルすれば可能みたいだったけどやめた)

ereg

PHP 5.3.0で非推奨、PHP 7.0.0で削除された

http://php.net/manual/en/function.ereg.php

preg_matchを使っているはずなので問題ない

統合

mhash

commonにふくまれている

sudo yum -y install php72-php-mhash
# Package php72-php-common-7.2.13-2.el7.remi.x86_64 already installed and latest version

shmop

processにふくまれている

sudo yum -y install php72-php-shmop
# Package php72-php-process-7.2.13-2.el7.remi.x86_64 already installed and latest version

sysvmsg

processにふくまれている

sudo yum -y install php72-php-sysvmsg
# Package php72-php-process-7.2.13-2.el7.remi.x86_64 already installed and latest version

xmlreader xmlwriter

xmlに含まれる

sudo yum -y install php72-php-sysvmsg
# Package php72-php-xml-7.2.13-2.el7.remi.x86_64 already installed and latest version

別モジュールにかわった

xhprofは廃止されてtideways_xhprofというモジュールになった
yumではインストールできなかった
phpizeという拡張モジュールをいれるツールなら可能だった

sudo yum install git
git clone https://github.com/tideways/php-xhprof-extension
cd php-xhprof-extension
/opt/remi/php72/root/usr/bin/phpize
./configure --with-php-config="/opt/remi/php72/root/usr/bin/php-config"
make
sudo make install

./configureのコマンドで

configure: error: Cannot find php-config. Please use --with-php-config=PATH

というエラーがでた
php.iniファイルを設定したが動かなかった・・・ここにはまった

実際に使わないかもしれないけど使い方が詳しく書いてあった。
パフォーマンスが出ない時に試してみたい

tech.fusic.co.jp