【トラブル】secure wordpress 2.0.3でエラーが出る

スポンサーリンク

更新できるプラグインがたまってきたので、まとめて更新してみました。更新は無事終わったのですが、投稿編集時にパーマリンクを編集しようとしてもできない…。はて、と思い下の方を見るとエラーが出てましたorz

( ! ) Fatal error: Call to undefined method Services_JSON::encodeUnsafe() in /wp-includes/compat.php on line 136
Call Stack
#	Time	Memory	Function	Location
1	0.0008	204312	{main}( )	../post.php:0
2	0.8405	56658088	include( '/wp-admin/admin-footer.php' )	../post.php:276
3	0.8418	56658312	do_action( )	../admin-footer.php:29
4	0.8423	56658864	call_user_func_array ( )	../plugin.php:395
5	0.8423	56658864	WP_List_Table->_js_vars( )	../plugin.php:395
6	0.8423	56658864	json_encode( )	../class-wp-list-table.php:891

一度に8つぐらいのプラグインを更新したので最初はどのプラグインが原因かわかりませんでしたが、4つぐらいOFF→エラーが出ているかどうか確認、を繰り返すと最後にsecure wordpressが残りました。原因はこれっぽい。
とはいえsecure wordpress2.0.0のReadme.txtを見ると

= Requirements =

* WordPress version 2.6 and higher (tested at 3.1)

* PHP5 (tested with PHP Interpreter >= 5.2.9)

とあるので、今まで使えていたことが運が良かったのかも^^; PHPのバージョンは5.1.6,wordpress本体は3.1.3なので。wordpress本体も3.2からPHP 5.2.4以降が必要だし、本格的にPHP5.2系が必要になってきている気もします。

とはいえPHPのバージョンをアップすると他のプラグインのエラーが出そうな予感もするので、まとめて時間が取れるようになったらしてみようと思います。今回はとりあえず、secure wordpressのバージョンを2.0.0に戻すとエラーが出なくなりました。

2011/07/28 追記—-
wordpress 3.1.3のままphpを5.3.3にバージョンアップするとエラーが出なくなりました。やっぱりphpのバージョンが原因だったようです。