質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

3回答

2535閲覧

Search-Replace-DBを実行すると「500 Internal Server Error」になる

gaugau

総合スコア2

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/05/21 07:09

編集2020/06/01 05:15

はじめまして。
はじめてなので、失礼があるかもしれませんが、どうぞご容赦ください。
似たような質問がないか検索しましたが、無かったようなので、質問します、ご容赦ください。
(質問しようかどうか散々悩みました…)
恥をしのんで質問します。

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に詳しくないのですが、どなたか分かる方いらっしゃいますでしょうか。

また、運営から、「ベストアンサーを決めろ」といったようなメールが来ているのですが…。
ベストアンサーは絶対決めないといけないのでしょうか。
現在お二方からご回答頂いておりますが、根本的な解決に至っていない状態で、どちらかにベストアンサーをつけると、もうお一方に失礼になる気がしておりまして…。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/21 07:41

「500 Internal Server Error」が出たサーバーにおいて、apache httpdのeror_logの所在を確認してエラーメッセージを特定してください。まずはそこからでしょう。
gaugau

2020/05/22 03:21

m6u 様 返信ありがとうございます。 質問内にも書きましたが、無料プランだと、サーバのログ(エラーログなど)が見られないのです。 ログの在処も分かりませんし、教えてももらえません。 設定画面などにもログ関係の項目はありません。 なので困っているのです。 (有料プランならログ関係は見られるようですが…)
退会済みユーザー

退会済みユーザー

2020/05/22 06:43

エラーログすらアクセスできないようなサービスを使いこなすって、 結構ハードルの高い話だと思いますよ。 そんなサービスなら私なら契約しません。 そんなサーバー、契約していて、大丈夫ですか? 安さ優先で大事なことを蔑ろにしていませんか。
gaugau

2020/05/22 06:55

m6u 様 返信ありがとうございます。 本格的にサイトを作って…といったことではなく、あくまでWordPress勉強用なので…。 そのため無料プランを選んで使っています。 あくまでWordPress勉強用でも、有料プランを選んだ方がよいのでしょうか。 勉強用なので、出来るだけお金をかけたくないのですが…。
退会済みユーザー

退会済みユーザー

2020/05/22 06:59

第三者に見せる必要がなければ、パソコン上でローカルサーバーを作ります。 apache httpdでバーチャルホスト機能を駆使してもいいですし。 セキュリティ的にハードルが高いですが、 自宅PCをルーターにおけるDMZ領域において動的DNSサービスと組み合わせて ネット上に公開することもできなくもないです。
退会済みユーザー

退会済みユーザー

2020/05/22 07:01

学習目的であれば、paiza.ioやconohaなど時間で課金されるサービスを利用するのもありです。
gaugau

2020/05/25 07:12

m6u 様 返信ありがとうございます。 そういうサービスもあるのですね。 勉強になります。 ちょっと調べてみようと思います。
guest

回答3

0

Search-Replace-DBをローカル側で書き換えてそれをエクスポートしたものをインポートすれば一応目的を果たせませんか?

投稿2020/06/03 15:29

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaugau

2020/06/05 03:28

kei344 様 返信ありがとうございます。 (ランカーの方に返信頂き恐縮です) 確かに仰る通りのことをすれば、一応目的は果たせると思います。 今のところはWordPress勉強中なので、それで構わないです。 ですが、もし今後、WordPressの案件に関わるといったような仕事をするようになったとしたら、と考えると、今のうちに分からいことなどは解決しておきたいと思いまして…。 (本当に仕事に出来るほど私が上達するかは不明ですが…)
kei344

2020/06/05 07:10

フリーのサーバを仕事で使うことはまずないので、きちんとした対応を取れる有料のサーバを借りて試す事をお勧めします。月額500円くらいでWordPressの動くサーバが借りれますよ。
gaugau

2020/06/10 04:40

kei344 様 返信ありがとうございます。 返事が遅くなってすみません。 そうですか、やはり有料プランにした方が良いのですか…。 ちょっと考えてみます。 ご助言ありがとうございます。
guest

0

エラーログがないからわからないと言われていますが、ログファイルでなくても実行時に画面にエラーメッセージを表示させることは PHP の設定で可能です。

エラーログが見れない環境であれば、PHP のエラーを画面に表示してデバッグする必要があります。

display_errors に記載されているように設定して実行するとエラーが表示されないでしょうか。


また、XFREE の場合は、公式マニュアルに PHPエラー表示設定 の項目がありますので、コントロールパネルで設定すると画面にエラーメッセージを表示することはできると思います。

投稿2020/05/26 03:51

編集2020/05/26 03:53
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaugau

2020/05/26 04:58

CHERRY 様 返信ありがとうございます。 先の質問内に書くのを忘れていましたが、スターサーバフリーとXFreeのサーバの設定(php.iniの設定)で、display_errorsはOn(有効)になっています。 それなのにエラーやワーニングが出ないのはおかしいなあとは思ってはいたのですが…。 XFreeの方は、まさにご提示頂いたURLの通りにdisplay_errorsの設定をしているのですが…。 他に何か設定が必要なのでしょうか…。 ちょっと調べてみます。
guest

0

500エラーになるのは.htaccessに記載の内容(Options -Indexes)にサーバが対応してないからだと思います。

右上に「x Close」とだけ表示されるのは、PHPが途中でエラーになってHTMLが不完全に出力されているからだと思います。
その状態のときにブラウザでHTMLソースを確認してみてください。
HTMLソース内のどこかにERRORとかWARNINGが出ていると思います。

Search-Replace-DB v3.1.0 と PHP7.3以降 の組み合わせの場合は
PHP7.3からswitch~case文中のbreakとしてのcontinueがWARNING扱いになったため
srdb.class.phpの中でWARNINGが発生するようになったようです。
https://prawn-cocktail.com/blog/1107/

投稿2020/05/24 18:29

shun-K

総合スコア508

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaugau

2020/05/25 07:32

shun-K 様 返信ありがとうございます。 成程、サーバが、Search-Replace-DBの中の.htaccessに記述されている「Options -Indexes」に対応してないからなのですね。 まあ無料サイトですし、運営に色々言える訳でもないので、対応してないなら我慢するしかないです。 https://prawn-cocktail.com/blog/1107/ このサイトは私も見ました。 他にも、PHP7.3と、breakとcontinueの問題は、いくつかのサイトで見ましたが、どこで見たかはちょっと思い出せないです、すみません…。 Chromeで実行して、「x Close」が表示された状態で、ソースを確認すると、Warningで「バックアップとれ」とか「気をつけろ」とか(Search-Replace-DB v3.1.0とv4.1.2)とか、「httpsじゃない」(v4.1.2)とかは見られましたが、それ以外は特にありませんでした。 Errorも探してみましたが、特にソースにはありませんでした。 Search-Replace-DB v3.1.0を実行したときに、一瞬breakとcontinueのエラーが表示されましたが、すぐに「x Close」になってしまいました。 v4..1.2は確認する間もなく「x Close」になってしまいます…。 https://server-recipe.com/578/ ここのサイトを眺めていると、Search Regex プラグインというのもあるんですね、はじめて知りました。 サーバがSearch-Replace-DBの中の.htaccessに記述されている「Options -Indexes」に対応してないのであれば、現状での私の環境では、PHPのバージョンをv5.6に一時的に落とした上でSearch-Replace-DB v2.1.0を使うか、All-in-One WP MigrationやDuplicatorやSearch Regexといったプラグインを使うかしかないようです。 返信ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問