WordPress—500 internal server error   xmlrpc のエラー

いわゆるブログライターというもので、バージョンアップしたばかりの自分のサイトに投稿しようとアクセスしたら、こんなエラーが。

[tegaki]なんじゃこりゃ?[/tegaki]

xmlrpc.php のエラーかな、でもサーバーエラーなんだから、サーバーかな?

500エラーっていうのはCGIの設定なんかが間違っているときに出たりしますよね。でも、CGI なんか使ってないし。。。?

さっそくググッてみたら、こんなエラーがけっこう多発している様子。原因をみんなそれぞれ考えるんだけれどみんなそれぞれで、コレ、という答えが見つかりません。

INIファイル、CONFファイルの設定ミスかと思って調べてみたけれどわかりませんでした。

そこで思いついて、 サーバーにあるエラーログファイルを見てみました。

そしたら、こんなエラーが記録されていました。icon_eek

PHP Warning:  include_once(/hoge/hoge/hoge/wp-includes/class-IXR.php) [<a href='function.include-once'>function.include-once</a>]: failed to open stream: No such file or directory in /hoge/hoge/hoge/xmlrpc.php on line 55
PHP Fatal error:  Class ‘IXR_Server’ not found in /hoge/hoge/hoge/xmlrpc.php on line 108

これをみてわかりました。

どうやら xmlrpc.php のなかに書いてある、class-IXR.php ファイル、そんなファイルやディレクトリーはないと言っています。(55行目)

さらに、たぶんこれを受けてだろうと思いますが、IXR_Server なんて見つかりませーんとか言っています。(108行目)

ないと言われても困るので、FTPで探してみたら、やっぱりないんです、コレが。

そのかわりに、class-ixr.php ファイルならありました。icon_mrgreen

そうです。これです。ファイル名なんて小文字が常識と思っていて、FTPの設定が大文字を小文字にして転送するになっていました。

ところがWopdPress ファイルの中には大文字を使ったファイルがちまちまあります。

wp-includes/class-IXR.php

xmlrpc.php  の55行目にも、そのように書いてありました。

開いた口がふさがらないとはこんなときに使うのでしょうか。

さっそくFTPでファイル名をclass-IXR.php に修正したところ、無事にエラー画面はでなくなりました。icon_mrgreen

これはWordPressのバージョンアップ以後に起こったことです。似たようなことをしている人が少なからずいるのではないでしょうか。。

わたしだけかな。。。?

5 Responses

  • (゜ー゜)(。_。)ウンウン
    すごいですね!
    PHPのバージョンの認識なのかな?
    ( ̄ヘ ̄)ウーン
    基本的に、UNIXから派生したOSは、かなり厳密にファイル名を調べているようです。
    同じ現象にあっていたJ君は、少し時間を置けば、うまくいったので、気にしていませんでした。
    勉強になります。
    この記事はかなり有用ですね!
    すごいぃ・・・ :mrgreen:

  • あのぉ
    OSは、Linuxとか、Window以外でやっていますか?
    記事を拝見している限りでは、Windows でいいのかな?と最近、思っていますが・・・
    f(^-^;ポリポリ

    しかし、とことん調査する姿勢は、J君よりすごいです。

    ちなみに、インストールしてる、DBとかSQLとか、全てプラグインで一覧表示されます。

    http://lesterchan.net/portfolio/programming/php/

    WP-ServerInfo 1.31

    J君にはよく理解できませんが、ダッシュボードで見ています。
    f(^-^;ポリポリ

  • J君こんばんわ :razz:
    そうなんです、UNIX系のOSは大文字小文字を区別するんです。だから昔からインターネットにアップするファイル名はすべて小文字にする、というのが常識だったはずなのに。 :cry:

    旦那に笑われました、それは大昔の話だと。WIN95から大文字小文字を区別できるようになったのだと。
    どうせ古い人間です。。。 :oops:

    OSはサーバーがLINUXで、クライアントがWIN、MACなどなど。
    FTPとTELNETとVNCを駆使してやってます。

    別にちょっと歩いてサーバーの前に行けばいいだけなんですが、そのちょっとがめんどくさくて。。

    また素敵なプラグインをご紹介いただきまして
    ちょっといれてみますね。
    どうもありがとうございます。 :mrgreen:

  • コメントのページ、寝ぼけながらプラグインを入れ込んでいたらこわしました
    ねむいのであすなおします、下記のprevewボタンはまだ正常に動作しません、フツーの投稿ボタンになって :mrgreen: ます

  • (‘-’*)オハヨ♪
    また、やってしまいました。
    \(_ _。)ハンセイシテマス
    缶チューハイを9本呑んでパソパソ・・・
    いけません。
    しかし、お酒は昨日で終わりです。

    J君も古い人間です。
    何せ・・・パソコンが世に出回る前の、80系キット マイコンの時代の人間ですから・・
    f(^-^;ポリポリ
    アセンブラが世に出回る前、機械語を16進数で直接入力していました。
    (^Q^)/ ギャハハ
    ここまでいくと学生時代の話ですが・・・

    昔は専ら制御系のシステムが専門だったので、アセンブラとかが得意でした。
    なので、UNIXとかWindowsとか、オープン系は苦手なのです。
    (^_^;;

    おっと、年齢がバレテシマイマスネ・・・
    ヾ(^▽^*おわはははっ!!

Leave a Reply