いわゆるブログライターというもので、バージョンアップしたばかりの自分のサイトに投稿しようとアクセスしたら、こんなエラーが。
[tegaki]なんじゃこりゃ?[/tegaki]
xmlrpc.php のエラーかな、でもサーバーエラーなんだから、サーバーかな?
500エラーっていうのはCGIの設定なんかが間違っているときに出たりしますよね。でも、CGI なんか使ってないし。。。?
さっそくググッてみたら、こんなエラーがけっこう多発している様子。原因をみんなそれぞれ考えるんだけれどみんなそれぞれで、コレ、という答えが見つかりません。
INIファイル、CONFファイルの設定ミスかと思って調べてみたけれどわかりませんでした。
そこで思いついて、 サーバーにあるエラーログファイルを見てみました。
そしたら、こんなエラーが記録されていました。![]()
| 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 ファイルならありました。![]()
そうです。これです。ファイル名なんて小文字が常識と思っていて、FTPの設定が大文字を小文字にして転送するになっていました。
ところがWopdPress ファイルの中には大文字を使ったファイルがちまちまあります。
wp-includes/class-IXR.php
xmlrpc.php の55行目にも、そのように書いてありました。
開いた口がふさがらないとはこんなときに使うのでしょうか。
さっそくFTPでファイル名をclass-IXR.php に修正したところ、無事にエラー画面はでなくなりました。![]()
これはWordPressのバージョンアップ以後に起こったことです。似たようなことをしている人が少なからずいるのではないでしょうか。。
わたしだけかな。。。?
