はじめまして。
はじめてなので、失礼があるかもしれませんが、どうぞご容赦ください。
似たような質問がないか検索しましたが、無かったようなので、質問します、ご容赦ください。
(質問しようかどうか散々悩みました…)
恥をしのんで質問します。
WordPress初心者です。
「WordPressデザインレシピ集」という本を3~4周くらいした程度です。
結論からいうと、
- Search-Replace-DBを実行すると「500 Internal Server Error」になる
です。
もう一か月以上も解決出来ず悩んでいます。
経緯を説明します(すみません、少々長いです)。
スターサーバフリーに無料サイトを作り、本を読みながら色々いじっていました。
また、先の本の最後の方に「ローカル(PC)でもWordPressのサイトを構築出来る」と書かれていたので、Local by Flywheel(以下Local)をインストールして、そちらでも色々いじっていました。
いじっていると、Localから実サイトに、実サイトからLocalに、環境をコピーしてみたいと思うようになりました。
そこで色々調べてみたら、ひとつは、
0. データベースのコピー
0. ファイルやディレクトリのコピー
0. データベースを書き換えるため、Search-Replace-DBというツールを使う
もうひとつは、
- All-in-One WP MigrationやDuplicatorのようなプラグインを使う
ということが分かりました。
そこで、先ずはひとつめを試すため、実サイトからLocalに、環境をコピーしてみました。
データベースのコピーと、ファイルやディレクトリのコピーです.
データベースはphpMyAdminでエクスポートしたものを、ADMINERでインポート。
ファイルやディレクトリはFTPで、実サイトのものをそのままダウンロード。
Search-Replace-DBのv3.1.0やv2.1.0を実行してもうまくいかず、その旨作者に問い合わせたら、
「開発中の新しいバージョンがある」と、v4.0のダウンロードリンクとともに回答がきました。
そこで、v4.0をダウンロードして実行してみるとうまくいきません。
v4.0のソースを眺めていると、Windowsでは動作しなさそうな箇所が数か所あったので、そこをWindowsでも動くであろうようにソースを変更しました。
そしてSearch-Replace-DBを実行したら、無事データベースの書き換えは出来ました。
実サイトからLocalへの環境のコピーは成功しました。
そこで、Localから実サイトへの環境のコピーもしてみようと思いました。
実サイトからLocalにコピーするのと同様の手順で環境をコピーしました。
しかし、Search-Replace-DBで
500 Internal Server Error
となってしまいました。
そこで、Search-Replace-DBの最新のもの(現在はv4.1.2)をダウンロードして実行してみましたが、これでも同じく「500 Internal Server Error」となり、駄目でした。
最新のSearch-Replace-DBは、私が教えてもらったv4.0とはソースががらりと変わっていて、ソースを追えていません。
作者に再度うまくいかない旨質問したら、「おま環問題」との回答。
ここを見ると、'.htaccess'に「○※一部制限あり」とあるので、スターサーバフリーではうまくいかないのかと思い、XFreeにも無料サイトを作って、WordPressをインストールして、最新のSearch-Replace-DBをコピーして実行してみました。
しかし、XFreeでも「500 Internal Server Error」になります。
XFreeの方は、WordPressをインストールして、いくつかセキュリティ関係のプラグインをインストールしている程度です。
XFreeは試しにSearch-Replace-DBが実行出来るか確かめるために、特にあまり触ってません。
Localで最新のSearch-Replace-DBを実行してみましたが、問題なく実行出来ました。
Search-Replace-DBを実行する際は、スターサーバフリーでも、XFreeでも、プラグインは全て停止して実行しています。
また、パーマリンク設定を保存して、'.htaccess'を更新したりしています。
実サイトとLocalの違いといえば、
- Localには'.htaccess'が存在しない(パーマリンク設定を保存しても生成されない)
- Localの仮想空間に入れないので、パーミッションなどがどうなっているかよく分からない
くらいしか無いという認識です。
最初は色々検索して、こことかこことかを見ていたのですが、どうもWordPressの問題のようなので、検索しなおして、こことか、こことか見ましたが、v2.1.0を使うと書いてあって、他にも検索して探してみましたが、私が欲しいと思う答えやヒントが載ってるサイトは見つかりませんでした。
無料サイトなので、サーバのログ(エラーログなど)は見られません。
なので、何がどう悪いのか、どこをどうなおせばいいのかの確認が出来ません。
最新のSearch-Replace-DBの中にある'.htaccess'を削除して実行すると、右上に「x Close」と表示されるだけです。
('.htaccess'を削除せず実行すると「500 Internal Server Error」になります)
また、Search-Replace-DB v3.1.0を実行しても、上記と同じように右上に「x Close」が表示されるだけです。
ここに同様の質問がありましたが、未解決のまま終わっているようです。
ここでも同様の質問をしたのですが、回答やヒントが得られていない状態です。
実サイトのサーバのPHPのバージョンを一時的にv5.6に落として、Search-Replace-DB v2.1.0を実行すれば、一応実行は出来ます。
しかし本質的、根本的な解決にはなってないような気がします…。
環境を書いておきます。
ローカルPC
- OS:Windows10 Pro 64bit 1909
- Local by Flywheel:v5.4.1(v5.0.7から使っています)
- WordPress:v5.4.1(v5.2.2辺り?から使っています)
- PHP:v7.4.1
- DB: MySQL v8.0.16
スターサーバフリー
- WordPress:v5.4.1
- PHP:v7.4.3(v5.6.40に変更可)
- DB: MySQL v5.7
XFree
- WordPress:v5.4.1
- PHP:7.2(v5.6に変更可)
- DB:MariaDB v5.5.64
一時的に実サイトのサーバのPHPのバージョンをv5.6に落として、Search-Replace-DB v2.1.0を使うしかないのでしょうか。
もしくは、All-in-One WP MigrationやDuplicatorのようなプラグインを使うしかないのでしょうか。
最新のSearch-Replace-DBを使うのは難しいのでしょうか。
ヒントでも結構ですので、何かご存じの方、ご教授頂けないでしょうか。
以上宜しくお願い致します。
追記です。
「エラーログを提示して」とのコメントを頂きましたが、本文中にも書いている通り、無料プランだとログ関係(エラーログなど)は見られません。
どこにあるかも分かりませんし、教えてももらえません。
設定画面にもログ関係の項目はありません。
なので困っています。
(有料プランならログ関係は見られるようですが…)
更に追記です。
スターサーバフリーの方はApache v2.4.6です。
XFreeはApache v2.2です。
その上更に追記です。
Search-Replace-DB v4.1.1のソースを眺めていると、JavaScriptの部分ですが、
JavaScript
1changes_overlay: function (e) {
のところで
JavaScript
1var $overlay = $('.changes-overlay'),
となっており、その下の方で
JavaScript
1if (!$overlay.length) {
となっており、この条件で引っかかっていて、「x Close」が表示されるようです。
この条件に引っかからなければ、普通に画面が表示されると思います。
私はJavaScriptに詳しくないのですが、どなたか分かる方いらっしゃいますでしょうか。
また、運営から、「ベストアンサーを決めろ」といったようなメールが来ているのですが…。
ベストアンサーは絶対決めないといけないのでしょうか。
現在お二方からご回答頂いておりますが、根本的な解決に至っていない状態で、どちらかにベストアンサーをつけると、もうお一方に失礼になる気がしておりまして…。