【XAMPP】PHP7を使うために再インストール

契約中のレンタルサーバーエックスサーバーがPHP7に対応しました。そこで、ローカル開発環境でのPHP7の動作確認のためXAMPPを再インストールします。前回はZipでDドライブへイントールしたので、今回も同じ場所へインストールします。

旧XAMPP MySQLデータバックアップ

XAMPP の mysql バックアップ・リストア方法3つを参考に旧MySQLのデータをバックアップします。バックアップ後、旧XAMPPのディレクトリをxamppからxampp_2016.xx.xxなどへと名前変更し、念のため残しておきます。

XAMPP インストール

sourceforge.netから、目的のバージョンのzipをダウンロードし、Dドライブへ展開、移動します。D:¥xamppにApacheやPHPがインストールされました。次にD:¥xampp¥setup_xampp.batを実行し、フォルダの位置関係を修正します。

MariaDB 設定

rootユーザーのパスワードを設定します。D:¥xampp¥xampp-control.exeをクリックしてXAMPP Control Panelを起動します。右のメニューからShellを立ち上げます。

rootユーザーのパスワード設定
mysqladmin -u root password
New password: ******
Confirm new password: ******

phpMyAdmin 設定

D:¥xampp¥phpMyAdmin¥config.inc.phpを編集します。念ためにコピーを取ってから編集します。

ログイン認証設定
# http: Basic認証
# cookie: ログインフォームによるcookie認証
$cfg['Servers'][$i]['auth_type'] = 'http';

$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';

php.ini 設定

D:¥xampp¥php¥php.iniをコピーしてから削除します。同フォルダにあるphp.ini-developmentをコピーし、php.iniと名前を変更し編集します。今回は以下のよう設定しました。php.ini-developmentについて

date.timezone = Asia/Tokyo

max_execution_time = 120

mbstring.language = Japanese
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none

extension_dir = "ext"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_intl.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll

curl.canotice = C:\xampp\apache\bin\curl-ca-bundle.crt

ドキュメントルート変更

開発をD:¥xampp¥htdocsではなくD:¥wwwで行うようにします。D:¥xampp¥apache¥conf¥extra¥httpd-vhosts.confに以下の設定を追加します。

VirtualHost 設定
<VirtualHost *:80>
    DocumentRoot "D:/www"
    ServerName localhost

    <Directory "D:/www">
        Options Indexes
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Apache再起動で反映させます。

Apache 立ち上げでエラー

api-ms-win-crt-runtime- 1-1-0.dllエラーとmsvcp140.dllエラー出ましたが、vc_redist.x86.exeをインストールすることで解決しました。

私のPCは64bitですがvc_redist.x64.exeではエラーが解消されませんでした。XAMPPが32bitなのと関係があるのかもしれませんが、よく分かりませんでした。