サーバー移行の流れをメモ
開発環境を作る
1.移行先サーバーに自分のPCからだけドメインでアクセスできるようにして、開発環境を作る。
すでにあればSSL証明書を移行して、SSL通信可能にしておく。
既存のSSL証明書に新しいドメインを追加する場合
データベースの移行
2.データベースを移動させる。
旧サーバーからデータベースの情報をエクスポートして、新サーバーにインポートする。
ファイルの移行
htmlファイル、PHPファイルなどサイトを構成するファイルをコピーして新サーバーにアップロードする。アップロードしたらエラーを潰していく。
PHP5.6 → PHP8.2 に変更した際にでたエラーの回避方法。
mysql → mysqli に変更
PHPから mysql を操作する関数が、mysql_○○ から mysqli_○○ に変更になっているので、一括置換した。使用ソフトは、windows10 上で置換できる TextSS.net というフリーソフト。
$_GETや$_POSTのUndefined array keyエラー
$_GETや$_POSTで以下の記述では Undefined array keyエラーが出るようになった。
PHP | $_GETや$_POSTでのUndefined array keyエラーを解決する方法 | 1 NOTES
PHPではPHP8から $_GET や $_POST でのパラメータ受け取りにて「Undefined array key」エラーが発生するようになっています。 この記事ではその原...
修正前
if($_POST['xxx']){
$bbb = $_POST['xxx'];
}
修正後
if(isset($_POST['xxx'])){
$bbb = $_POST['xxx'];
}
pear の cache_Lite が読み込めないというエラー
pear とそのパッケージである cache_Lite のインストール方法はこちらの書いた。
Pager がない場合
pear install Pager
mysqli_real_escape_string() のエラー
Fatal error: Uncaught ArgumentCountError: mysqli_real_escape_string() expects exactly 2 arguments, 1 given in
引数が足りないので加える
mysqli_real_escape_string($word);
↓
mysqli_real_escape_string($conn, $word);
サーバーの設定
1.サーバーが落ちないようにするために swap領域の設定
参考
2.ディレクトリ一覧を表示させない設定
インデックスファイルが存在しないディレクトリにブラウザからアクセスすると、そのディレクトリ内のファイルやディレクトリの一覧が表示されていまい、セキュリティ的によくない。
httpd.conf ファイルを修正する。
Options Indexes FollowSymLinks
↓
#Options Indexes FollowSymLinks