banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

WordPressのインストール、アップグレード時に発生する500 Internal Server Errorの原因分析と解決方法

今日、wp2.7 をアップグレードしようとしたら、初めてサーバー 500 internal server error に遭遇しました。その後はただ待つだけです。データベースに接続し、PhpMyAdmin は正常に使用できます。データベースに問題はありません。静的ページ test.html をアップロードしてテストしましたが、正常に表示されました。Apache に問題はありません。test.php をアップロードしてテストしましたが、phpinfo ();? 500 internal server error が消えませんでした。続行します... 問題が発生しました。主な問題は PHP にあります。インターネットで検索し、phpcms の問題を疑っています。ディレクトリのパーミッションをチェックし、wp のルートディレクトリのすべてのファイルのパーミッションを 700 に変更しました。phpCMS をリフレッシュします... 待ちます。test.php をテストします... 通過しました。再度開きます... すべて OK です。

WP を使用したことがあるベテランの方々は、同様の問題に直面したことがあるかもしれません。関連するオンラインの質問も多いですが、初心者の多くは直接以下の手順を実行します:1. データのバックアップ、2. 再インストール、3. データの復元。または、大きなフォーラムに助けを求め、待つだけです。私自身も今日、WP の最初のストライキを経験しましたが、以前は boblog + 無料の仮想ホストを使用して何度も経験しました。ここで言及する無料の仮想ホストに注意してください。後で説明します。それでは、話をやめます。

まず、PHPCMS(PHP コンテンツ管理システム)について簡単に説明します。http://baike.baidu.com/view/110598.htmを参照してください。簡単に言えば、Php コンテンツ管理システムは、さまざまな PHP アプリケーション(ブログ、フォーラム、オンラインショップ、SNS など)の基盤サポートと管理を提供するソフトウェアです。つまり、1 つのサーバーに 20 個の WordPress などのブログシステムを配置する場合、統一された管理が必要です。現在の多くの仮想ホストはこのような状況です。サーバーは、複数のユーザーが独立して管理できるように、サーバーリソースを複数の独立した部分に割り当てることができますが、一度独立して管理されると、一部のユーザーは自分の独立した部分に特定の設定を行う必要がありますが、CMS の管理ニーズには合致しません。たとえば、ディレクトリのパーミッションの管理などです。そのため、CMS はユーザーの権限を無効にし、ユーザーの独立したシステムがこれらの権限を要求すると、成功すれば問題ありませんが、失敗すると CMS はユーザーの不正な権限を越えた操作を行う可能性があります。例えば、機能の無効化です。今日のエラー 500 internal server error はその一例です。WP では、CMS がユーザーディレクトリの PHP サポートをキャンセルした可能性が非常に高いため、ユーザーは困惑するでしょう。PHP がないと WP は何もありません。その結果、WP システムの 500 internal server error のようなエラーページが表示されます。

国内のほとんどの仮想ホストは CMS を使用して管理されており、多くの有料ホストはユーザーの権限管理に制限を設けていませんので、一般的には問題ありません。そのため、多くの WP や BoBlog が登場しています。ただし、国内の仮想ホストはユーザーの権限制限が比較的厳しい場合もありますし、ユーザーの操作を制限する場合もあります。そのため、これらのホストを使用している友人の多くは WP をインストールできないか、インストールに成功した後、突然 500 internal server error などのエラーが発生し、管理者に助けを求めるしかありません。問題が解決されない場合、再インストールするしかありません。私は不運な例です。

問題を分析したら、500 internal server error の解決策について説明します。原因は言わないでください。サーバーの権限許可がないことです(通常は rewrite)。ただし、WP にはこのような権限が必要です。たとえば、ディレクトリの削除、名前の変更、またはファイルの移動などです。私の問題も同じです。アップロードする前にパーミッションを変更するのを忘れました。700 は UNIX/LINUX のファイルパーミッションで、linux/UNIX ファイルパーミッション管理を参照してください。所有者以外には変更や削除の権限がありません。目的は所有者に最大の権限を与えることです。今、具体的な問題は、ディレクトリがこのように設定されていないか、パーミッションが変更されていない場合、WP でそれを削除しようとすると、明らかに権限が不足していると判断されますが、CMS は他のユーザーのファイルを破壊する可能性があると判断し、違法な権限を越えた操作を行う可能性があります。今日のエラー 500 internal server error です。

解決策は、まず自分のホストが十分な権限を与えていることを確認することです。最低でも rewrite が必要です。国内の有料ホストは現在、それを提供できますが、無料ホストは必ずしもそうではありません。無料ですから、制限はあるべきです。ウェブトラフィックの制限と同じように。私は美橙 VPS(中国ネットの電信データセンター)+ 息壤仮想ホスト(ダブルライン)を使用しています。VPS の権限には問題がないはずです。息壤のホストも rewrite+overwrite をサポートしており、権限に問題はありません。

問題は、ファイルとディレクトリのユーザーの設定権限にあります。Linux ホストを使用していて、システムが Windows で、FTP でアップロードしている場合、問題はありません。コンピュータ上のファイルが読み取り専用に設定されていない限り、サーバーにアップロードされるファイルは、ファイルの所有者として FTP アカウントがデフォルトで設定され、最高の権限(7)を持っています。同時に、サーバーの Apache 管理グループユーザー(通常はそうです)もファイルの権限を 7 に設定しています。したがって、サーバーに制限がない限り、ローカルファイルのプロパティ(読み取り専用を解除)を変更してから再度アップロードすると、問題が解決されます。その後、管理者に連絡して、権限を再設定することを忘れないでください。必ず管理者に連絡してください。彼らは最高の権限を持っています。禁止されたスクリプトの解析権限を変更してくれます。そのため、問題が解決されます。国内のホストプロバイダーのサービス品質は一般的には良好です。30 分で問題が解決されます。そうでない場合は、ホストを変更することを検討してください。無料ホストは比較的遅いです。無料ですから。

次に、UNIX/Linux ホストに Linux システムをアップロードする場合、ユーザーは次のような経験をすることがあります。あるサーバーに FTP でファイルをアップロードし、サーバーが特定の設定を行っていない場合、ファイルのパーミッションレコードは保持されます。これはオペレーティングシステムでパーミッション配列と呼ばれ、2 つの端末(ホストとサーバー)でファイルを管理するために便利です。たとえば、私のホストにファイルが 700 に設定されている場合、ホスト上では 700 です。700 は問題ありませんが、許可が非常に低い場合はどうでしょうか?問題が発生します。ファイルがサーバーに到着すると、パーミッション設定が保持され、WP を使用してディレクトリ構造を変更するなどの操作を行うと、言うまでもなく 500 internal server error が発生します。CMS+WP で最も一般的なエラーです。泣きます。無料ホストの友人たちは、管理者にメールを送信してからただ待つだけです。もし海外のホストを使用している場合は、泣き続けるしかありません。いつ解決されるかわかりません。私自身はかつて yahoo.com が提供する無料のホストを使用したことがあります。メールを送信しましたが(時間も悪かったです、午前 9 時)、管理者からの返信は翌日の昼までに 20 時間かかりました。ウェブサイトが 1 日に 1000IP ある場合、損失は言うまでもありません。

したがって、Linux ユーザーは、ファイルをアップロードする前に必ず sudo を使用して、すべてのファイルのパーミッションを 777 に変更することを忘れないでください。最低でも 700 にする必要があります。それからアップロードしてください。そうでない場合、突然の 500 internal server error が訪れるでしょう。また、仮想ホストのユーザーはできるだけ早く管理者に連絡して PHP の禁止を解除してもらってください。バックアップ、再インストール、復元に時間を費やすことはありません。私は無料のスペースを使用していたときに何度も経験しました。

VPS またはそれ以上を使用している場合は、直接 CMS のバックエンドにアクセスして、禁止された部分を変更し、CMS をリセットすることができます。1 分以内に問題が解決します。

最後に、この実践プロセスの説明を通じて、私は皆さんに注意を喚起します。「LINUX ホストで最も重要なのは何ですか?権限です!」アップロードする前に必ずファイルの権限を変更してください。

もし何か質問があれば、またはこの記事に何か問題があれば、コメントを残してください。必ず返信します。

この記事を「共同創作契約」の下で転載、変更、公開することを歓迎します。転載する際は、出典を明記してください。ありがとうございます。CG

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。