PHP 5.4からPHP 7系への変換スクリプト

サーバーを移転したときにPHP 5.4からPHP 7.3.6にアップデートしたので、変換スクリプトを使ってPHP7に対応させました。
PHP 7への変換
こちらを参考に実行しました。
PHP 5.5 から「mysql_connect」などが使えなくなったので、それらを「mysqli_connect」に変換して動作させるようにします。
Link:PHP7Convert.zip
PHP7Convert.zipを展開すると、「mysql_tophp7.sh」と「sed_to_mysqli」の2つのファイルがあることが確認できます。
変換方法

MacかLinux(Ubuntu)で確認しました。
Windowsの場合は仮想マシンにLinuxをインストールするのが手っ取り早いです。
1)変換したい「.php」ファイルをフォルダに入れて「PHP7Convert」内に置く
2)ターミナルを起動して以下のコマンドを実行
PHP7Convertのディレクトリに行く(デスクトップにある場合)
cd ~/Desktop/PHP7Convert
シェルスクリプトを実行
sh ./mysql_tophp7.sh [フォルダの名前]

自動的に変換されて、古いphpファイルは「-old.php」という名前になります。
シェルスクリプトの中身
mysql_to_php7.sh
#! /bin/bash
#
# mysql_to_php7.sh
#
# June/01/2019
#
ls $1/*.php > /tmp/tmp01
awk '{print "sed -i-old.php '' -f sed_to_mysqli",$1}' /tmp/tmp01 > /tmp/go_tmp
#
bash /tmp/go_tmp
#
sed_to_mysqli
#
# sed_to_mysqli
#
# May/31/2017
#
# ---------------------------------------------------
s/mysql_connect(/$link=mysqli_connect(/g
s/mysql_select_db(/mysqli_select_db($link,/g
s/mysql_query(/mysqli_query($link,/g
s/mysql_fetch_array/mysqli_fetch_array/g
s/mysql_fetch_row/mysqli_fetch_row/g
s/mysql_fetch_assoc/mysqli_fetch_assoc/g
s/mysql_close()/mysqli_close($link)/g
s/mysql_error()/mysqli_error($link)/g
s/mysql_num_rows/mysqli_num_rows/g
s/mysql_free_result/mysqli_free_result/g
s/ /
# ---------------------------------------------------
その他でも細かい部分が変更されているので、確認ツールを使って見てください。
あとはサーバーにアップロードすればOKです。
簡単にPHP 7で動作するようになりました。
ディスカッション
コメント一覧
まだ、コメントがありません