仕事、プライベート、出来事をただ書き留めていくブログ形式サイトです。以前売り切りでWPを使ったサイト制作を行ったクライアントから10年近くぶりに連絡があり、別の方がリニューアルサイトを作ったので、クライアントのドメインをそのまま利用してリニューアルサイトのWPを移管して表示させたいとのこと。売り切りなので移管作業は新規案件となるのだが、WPは本当に面倒くさいw以前作ったWPはずいぶんと使ってくれて本当に感謝しているのでぜひとも話は受けたい。WPはPHP5.4で動く限界のところまではバージョンアップしているようで、それ以上は更新されておらず。これを今のサーバーにリニューアルサイト用で作ったデータを使いたいというのだから、WPの問題だけでは済まない。さあて、どうしてくれようかと作業を始めました。完了するまでの作業の流れをメモとして記録していきます。参考になれば幸いです。ちなみに現在進行形なので不具合などが生じれば都度それも記録に残します。現在のレンタルサーバーの状態確認PHP5.4MySQL8WP5.1.18ドメイン登録一つのみリニューアルサイト構築のサーバ環境WP6.4.3PHP8.1MySQL8MySQL一つのDBで複数のWPデータが混在これはなかなか手こずりそう。なんたってドメイン一つだから、サブドメインつくってあらかじめリニューアルサイトをUPして動作確認するってことができない。UPして動作確認する場合は毎度PHPバージョンを変更しなければならない。いうことで、まずは現在動いてるWPをPHP8に対応して表示できる状態にすることから始めようと思います。先にやっといたほうがいいこと、確認しとくといいこと、それは移管先のサーバーでphp.iniがさわれるかphp.iniが触れるのであればやっておきたいこと、それはPHPの以下の設定を変更しとくと後々便利です。以下の部分が変更できたらしときたい部分です。-1なぜかというと、サイトによってはアップロードした画像や動画、投稿や固定ページなどの記事によりデータが多くなり、コンテンツをインポートする場合に容量制限によって失敗に終わり移管作業できなくなる恐れがあります。上記の部分はWPではよく出るエラーの原因であるデータをWPにアップロードする容量の制限にかかわるもので、2Mを超える写真がメディアにアップロードできないという症状が起きます。その場合、サーバーのPHP設定でpost_max_sizeとupload_max_filesizeの数字をデフォルトから大きく変更しておくと、アップロードだけでなくコンテンツのインポートがうまくいったりします。WPだけでなくデータベースをブラウザで作業できるphpMyAdminというツールを使ってDBをインポートする場合でもphp.iniの設定によってできなかったものができるようになったりします。max_input_timeは処理する時間の長さを設定するもので、大体のところは30秒程度かかるとタイムアウトエラーが起きて処理が止まり、インポートなどの作業が失敗に終わるということもあります。このmax_input_timeだけを変更しても、ApacheやNginxなどWebサーバーの設定もおこなう必要もあるのでこれだけ変更しても効果がない場合もありますので、ひとまず知識程度で。ファイルの用意まずはFTPで移管先にある元々公開しているWPデータ一式と移管元のWPデータ一式をダウンロードします。その時ローカル環境を作っているのであればディレクトリ先を指定してダウンロードすると楽かもです。次に各WPのDBデータをエクスポートします。WPデータとDBデータがそろったら、ひとまずデータの用意はできました。表示できるように変更まず先に元サイトのPHP8対応可を行います。PHP7のXAMPPを使い、そのhtdocsに一つフォルダを作り、その中にWPデータ一式入れます。DBはphpMyAdminでDBをインポートします。入れた後、wp_optionの中にあるsite_urlとhomeのURLを変更します。http://localhost/wp次にwpフォルダ内にある.htaccessを編集します。ない場合は以下の情報を追記します。スラッシュ部分にwpというフォルダ名を追加します。[L]</IfModule>ブラウザにhttp://localhost/wpと入力して表示すればひとまずOK。記事に画像をメディアから追加したものはsrc部分が絶対パスになっていて表示してない可能性もありますが、そこは後回しにしておきます。本番サーバーに移す際で作業します。WPのバージョンアップログイン画面に入ります。一つフォルダが増えてますので、以下のようなURLでログイン画面が表示すると思います。http://localhost/wp/wp-login.phpログインできたらWPのバージョンアップ作業します。管理画面内からWPのバージョンアップの指示があればそれに従って行います。終わったら今度はPHP8のXAMPPに移動します。MACのMAMPだとおそらくPHPのバージョンを変更する機能がついてたと思いますのでそれで構わないかと思います。これはただPHP8で動作するかの確認ですから特になにか行う作業はありません。PHP7XAMPPからDBをエクスポートしてPHP8XAMPPにDBインポートする作業が面倒wドメインだけで表示するよう調整http://localhostと入力するだけででサイトが見れるよう調整しておきたい。/wp/がついた状態ではなく、ドメインだけでトップページが表示できて正解なので、これを調整します。あるサイトアドレスを変更します。http://localhostそして、サーバー側でもいくつかファイルの設定をおこないます。htdocsの位置とwpフォルダの位置に各々.htaccessとindex.phpを準備します。wpフォルダにある.htaccessとindex.phpをhtdocs内にコピペします。.htaccessファイルは、先ほどwpを追加した部分をもとに戻します。/WPを追加するこれでブラウザでhttp://localhostで表示すればOKです。次回は本番サーバーでの公開作業になります。WordPress.。