サポート » その他 » サーバーのプラン変更による、HTTP ERROR 500について

  • 質問させていただきます。
    ロリポップのプランをアップグレードしたところ、利用してるHPが回覧出来なくなりました。
    ERRORの表示としては HTTP ERROR 500と出ています。
    Wordpressにログインもできず、白い画面のままです。
    ロリポップサポートに問い合わせた返答として下記のように来ました。

    Answer

    お調べしたところプラグイン「taxonomy-terms-order」と
    テーマ「precious」側でエラーが発生していたため一時的に
    上記プラグインとテーマを無効化させていただきましたが、それでも以下のエラーが発生いたしました。
    
     ※なお現在は有効化しております。
    
    ━━━━━━━━━━━━━━━━━━━━━━━━━━
    >Warning: Cannot modify header information - headers already sent by (output started at /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-config.php:85) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/pluggable.php on line 1227
    ━━━━━━━━━━━━━━━━━━━━━━━━━━
    
    大変恐れ入りますが、WordPressは他社開発のソフトであり、
    サーバーではなくWordPressのプログラムであるPHP(pluggable.php)でエラーが発生している場合は、
    弊社でエラーの原因について特定することが難しい内容となります。
    
    お手数をおかけし恐縮ですが、WordPress公式フォーラムにて
    上記のエラーが発生している件について原因と対策方法について
    お問合せいただきたくお願い申し上げます。
    
    WordPress側から弊社に確認事項がございましたら改めてご連絡いただきたく存じます。
    
     ▼WordPress フォーラム (外部サイトです)
      http://ja.forums.wordpress.org/

    以上

    こちらでも、素人ながらロリポップFTPからアクセスし、エディタを開き該当の
    wp-config.php:85
    pluggable.php on line 1227
    の各指定lineを見ても何が悪いのか皆目見当につきません。

    皆様のお知恵をお借りできないでしょうか?
    よろしくお願いいたします。

    ヘルプの必要なページ: [リンクを見るにはログイン]

15件の返信を表示中 - 1 - 15件目 (全23件中)
  • 原因を探るため、まずはデバッグを有効にしてエラーを表示することをおすすめします。

    wp-config.phpの該当箇所をfalseからtrueに書き換えます。
    define('WP_DEBUG', false);

    define('WP_DEBUG', true);

    こんにちは

    PHP のバージョンが上がった (7.4.12) ことで、エラーが発生していると思われます。
    WordPress バージョンが 4.4.24 のようなので、PHP のバージョンを7.0以下へ変更してみてはどうでしょうか。

    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    回答ありがとうございます。
    投稿前にtrueは変更したのですが、HPにアクセスしても「現在機能してありません」と特に変化が無い状態です。
    それともエラーの表示される場所が違うのでしょうか?
    抜けている点があれば、ご教授いただければと思います。

    トピック投稿者 tksk

    (@tksk)

    @ishitaka

    回答ありがとうございます。
    PHPのバージョンをダウングレードですが、ロリポップはアップグレードするとダウングレードできず、困っております。
    https://support.lolipop.jp/hc/ja/articles/360048375214

    現状選べるのは
    7.3 CGI
    7.4 CGI
    7.4 モジュール版 ←現在の設定

    ほかに解決案など、お気づきの点があればご教授いただければと思います。

    エラーの表示が表示されないのは、セキュリティ向上のため、お使いのサーバーではPHP設定でdisplay_errorsがoffになっているからではないかと思います。

    管理画面から一時的にonにすることが可能であれば、エラーが表示されるかもしれません。

    参考:HTTP ERROR 500というエラーが発生します(ロリポップ)

    問題解決後は、再度onにすることをお忘れなく。

    ただ、今回の件はWordPress本体をアップデートしない限り、対応は難しいと思います。

    • この返信は2年、 11ヶ月前にAoba Momouchiが編集しました。
    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    返信ありがとうございます。

    onにしたことで、下記のようなエラーが表示されました。

    Warning: Use of undefined constant ‘WPLANG’ - assumed '‘WPLANG’' (this will throw an Error in a future version of PHP) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-config.php on line 85
    
    Warning: Use of undefined constant ‘ja‘ - assumed '‘ja‘' (this will throw an Error in a future version of PHP) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-config.php on line 85
    
    Fatal error: Uncaught Error: Using $this when not in object context in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/taxonomy-terms-order/taxonomy-terms-order.php:136 Stack trace: #0 /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-settings.php(254): include_once() #1 /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-config.php(94): require_once('/home/users/0/l...') #2 /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-load.php(37): require_once('/home/users/0/l...') #3 /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-blog-header.php(12): require_once('/home/users/0/l...') #4 /home/users/0/lolipop.jp-91250be96fa71f5b/web/index.php(17): require('/home/users/0/l...') #5 {main} thrown in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/taxonomy-terms-order/taxonomy-terms-order.php on line 136

    プラグインエラーでしょうか?
    85のラインと136ラインを調整する必要があるのでしょうか。

    またWordpressのアップデートは、ログインできない場合はFTPで外部アップデートなどが必要になるのでしょうか。

    重ね重ねの質問で申し訳ありませんが、ご助力お願いします。

    先の返信で「問題解決後は、再度onにすることをお忘れなく。」と書きましたが間違えました。解決後は「on」ではなく「off」にしてください。

    さて、今回の一番の原因はプラグインのエラーです。Category Order and Taxonomy Terms Orderを更新する必要があります。しかし管理画面が見えませんので、FTP経由などで上書きするか、もしくは応急処置で該当ファイルを下記のように直してください。

    /wp-content/plugins/taxonomy-terms-order/taxonomy-terms-order.phpの136行目
    add_action( 'wp_ajax_update-custom-type-order-hierarchical', array(&$this, 'saveAjaxOrderHierarchical') );
    ↓(頭に#をつけてコメントアウト)
    #add_action( 'wp_ajax_update-custom-type-order-hierarchical', array(&$this, 'saveAjaxOrderHierarchical') );

    wp-config.phpファイルの85行目の記述も、今後のPHPバージョンパップで問題になります。この際ですから直しておくと良いです。「JA」を「’ja’」「WPLANG」を「’WPLANG’」のように、シングルクオーテーションマーク(”)やダブルクオーテーションマーク(””)で囲ってください。

    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    わかりやすくアドバイスくださり大変感謝しております。
    ご指摘の#をつけることを、実行いたしました。
    またJAやWPLANGに関しては、’ja’になっていました。

    修正後再度確認致しましたが、HTTP 500 ERRORの表示になっております。
    デバッグを確認してみた所、次は違う表示になっていました。

    Deprecated: Array and string offset access syntax with curly braces is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/custom-field-template/custom-field-template.php on line 3249
    
    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; custom_field_template has a deprecated constructor in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/custom-field-template/custom-field-template.php on line 35
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/photo-gallery/photo-gallery.php on line 558
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/photo-gallery/photo-gallery.php on line 560
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/pomo/translations.php on line 208
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/pomo/translations.php on line 208
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/pomo/translations.php on line 208
    
    Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/load.php on line 607
    
    Deprecated: Function create_function() is deprecated in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-includes/pomo/translations.php on line 208
    
    Fatal error: 'break' not in the 'loop' or 'switch' context in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/themes/precious/admin/theme-options.php on line 858

    また同じように、コメントアウトなどの作業が必要になるのでしょうか?
    お手数だと思いますが、ご助言いただければ幸いです。

    上記の内、「Deprecated:」については、取り敢えず無視して構いません。PHP設定でdisplay_errorsをoffにすれば消えるはずです。

    最後の「Fatal error:」が問題ですが、これはPHP7になり仕様が変わったためにエラーになっています。

    再び、(管理画面を表示するまでの)応急処置ですが、/wp-content/themes/precious/admin/theme-options.php の858行目のbreak;の頭に#を付けてコメントアウトしてください。

    これでもし管理画面を表示できれば、プラグイン等のアップデート等を行ってください。
    それからお使いのテーマ「precious」がWordPressの最新版に対応できるかどうかの確認もしてください。

    引き続きエラーが出るかもしれませんが…。

    • この返信は2年、 11ヶ月前にAoba Momouchiが編集しました。
    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    日曜の夜分に、早々の返信ありがとうございます。
    再度コメントアウト後エラーが、再度同php内に出現したので、エラー分を読解し処理を行ったところ管理画面に行くことができました!

    しかしID,PASSを入れてもログインができず、画面の上部にERROR文が表示されました。

    大量のDeprecated:の中、

    Warning: Cannot modify header information - headers already sent by (output started at /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/custom-field-template/custom-field-template.php:3249) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-login.php on line 387
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/custom-field-template/custom-field-template.php:3249) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-login.php on line 400
    
    Warning: Cannot modify header information - headers already sent by (output started at /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-content/plugins/custom-field-template/custom-field-template.php:3249) in /home/users/0/lolipop.jp-91250be96fa71f5b/web/renewal/wp-login.php on line 402

    このWarningが影響出てるようでしょうか?
    該当のwp-login 387~402まではこのように表記されています。

    header('Content-Type: '.get_bloginfo('html_type').'; charset='.get_bloginfo('charset'));
    
    if ( defined( 'RELOCATE' ) && RELOCATE ) { // Move flag is set
    	if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
    		$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );
    
    	$url = dirname( set_url_scheme( 'http://' .  $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) );
    	if ( $url != get_option( 'siteurl' ) )
    		update_option( 'siteurl', $url );
    }
    
    //Set a cookie now to see if they are supported by the browser.
    $secure = ( 'https' === parse_url( wp_login_url(), PHP_URL_SCHEME ) );
    setcookie( TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN, $secure );
    if ( SITECOOKIEPATH != COOKIEPATH )
    	setcookie( TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN, $secure );

    また管理画面には下記のような文も表示されております。
    エラー: 予期しない出力により Cookies がブロックされました。ヘルプが必要な場合はこちらのドキュメンテーション(http://wpdocs.osdn.jp/Cookies)を読むか、サポートフォーラムをご利用ください。

    ログインまではあと少しだと思うのですが、エラーが出ており再度困惑しております。
    何か別の作業が必要になるのでしょうか?
    申し訳ありませんが、ご助力引き続きよろしくお願いいたします。

    もしここまでの措置でログイン画面が出るようになりましたら、再度PHP設定でdisplay_errorsをoffにしてみてください。ログインできるでしょうか?

    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    falseに戻したら、ログイン出来ました!!
    ありがとうございます!!!

    Wordpress、プラグイン、テーマの更新を実施しました。
    しかしHPの500は改善せずでした・・・

    アップデートが完了したようですので、WordPress本体に関してはPHPのエラーがなくなったはずです。

    ところでWordPressのインストール先は「/renewal/」のようですが、トップページからだと「/wp2020/」に変更になっているので、表示できないのはそのあたりの整合性が取れていないことが原因ではないかと思います。

    もともと公開されているところに、renewalとして新しいWordPressを入れたのでしょうか。

    サブディレクトリ「/renewal/」を維持したまま、ルートディレクトリで公開する方法として、WordPress を専用ディレクトリに配置するというものもありますので、ご検討ください。

    トピック投稿者 tksk

    (@tksk)

    @aoixtreme

    大変お恥ずかしながら、昨日の17時頃にWordpress更新できると思い、素人判断でロリポップのWordpress簡単インストールを実施してしまいました。
    その結果、一度新しいWPが実装されましたが、wp-configから修正して対応しております。
    $table_prefix = ‘wp〇〇’;

    もしかして、そちらの影響が今回の整合性が取れてないことと影響しているのでしょうか?

15件の返信を表示中 - 1 - 15件目 (全23件中)
  • トピック「サーバーのプラン変更による、HTTP ERROR 500について」には新たに返信することはできません。