いつもお世話になっています。
この度、WindowsServer2012上で動作しているphp+MySQLで動いているアプリを仮想環境上に移行することになり、テスト段階でおかしな現象が発生しました。
php 5.4/mysql 5.5 と替えなければと思いつつも、古いバージョンのまま使い続けている環境です。
こうした作業は未経験なので、試行錯誤しながら、手順は以下のように行いました。
・現在稼働中の環境をそっくりコピーして、Hyper-Vの仮想環境下にコピー。
・仮想環境下でIPアドレス、コンピュータ名ををバッティングしないように変更。
・別システムへの更新、別システムからの更新が動かない時間帯に、仮想環境をActivate。
・ドメイン参加し、タスクスケジューラを手動で全て停止。
この状態で、対象のphpアプリを仮想環境下で動かしたところ、正常に動作したかに見えたのですが、
本番のデータを書き換えてしまっていました。基幹業務ではないので、問題は無かったのですが、調べたところ、
php
1 if (!($cn = mysqli_connect("192.168.*.*", "user", "password", "dbname"))) { 2 die; 3 }
としている部分を変更し忘れているのに気づき、この部分を仮想環境下のアドレスに変更しました。
接続先の指定はこの一か所のファイルをインクルードしています。
変更後は正常に動作し、その後の画面遷移を見る限りでは、正常にMySQLのテーブルが更新されていました。
本番環境で同じアプリを起動したところ、上記の更新内容は反映されておらず、仮想環境下で更新されたように見えて、ひとまずは安心しました。
しかし、次に、仮想環境で再度、同じアプリを動かしたところ、
起動時に動作する修正した部分、mysqli_connect のところでエラーが出て、起動できなくなってしまいました。
順番が後先になってしまったのですが、改めて、仮想環境下でのMySQLにログインしようとすると、MySQLのサービスが停止している状態で、サービスの再接続を行いました。
エラー1067が出てサービス起動が出来なかったのですが、何分か後には、起動までは出来ました。
しかし相変わらず、MySQLには接続できず、アプリの起動も出来ない状態です。
試行錯誤での移行作業なのですが、このような作業手順で問題があったのでしょうか?
有識者の方々のアドバイスを頂けましたら幸いです。
あなたの回答
tips
プレビュー