WordPress Integratorで時々parse error  【解決済み】

質問全般・改善要望
返信する
Ryo
メンバー
メンバー
記事: 24
登録日時: 2009年8月25日(火) 13:19

WordPress Integratorで時々parse error  【解決済み】

投稿記事 by Ryo »

WordPress Integratorで時々エラーが発生します。
どなたか、解決策がありましたら教えてください。よろしくお願いします。

エラー内容:
« MODx Parse Error »
MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »

PHP error debug
Error: in_array() [function.in-array]: Wrong datatype for second argument
Error type/ Nr.: Warning - 2
File: /home/hogehoge/hogehoge.co.jp/public_html/transmit_wp/wp-includes/kses.php
Line: 1117
Line 1117 source: return ( ( ! in_array($i, $allowedentitynames) ) ? "&$i;" : "&$i;" );

Parser timing
MySQL: 0.0563 s (19 Requests)
PHP: 0.2423 s
Total: 0.2986 s

環境:
MODx 1.0.4J
WordPress 3.0
wordpressintegrator-123.zipを使用
Linuxサーバー
Apacheバージョン 2.2.3
Perlバージョン 5.8.8
PHPバージョン 5.2.14
MySQLバージョン 5.0.77

エラーが発生するとき:
時々・・・再現性無し。発生後、しばらくしてアクセスするとちゃんと表示されている。
再現性も無いため、何から調べて良いのかもわからず、途方に暮れています。
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: WordPress Integratorで時々parse error

投稿記事 by sama55 »

エラーメッセージは微妙に違いますが、$allowedentitynamesはグローバル変数のようなので、もうチャレンジされたかもしれませんが、下のトピは関係ありませんか?
http://modxcms-jp.com/bb/viewtopic.php?f=7&t=91

参考)
http://modxcms-jp.com/bb/viewtopic.php?f=7&t=232
http://ja.forums.wordpress.org/topic/312

再現性が低い原因は、wp_kses_named_entities()関数はpreg_replace_callback()で特殊な呼ばれ方をするようなので、その条件にヒットする時だけエラーになってるとか。。。
チラっと見ただけなので、外してたらすみません。
Ryo
メンバー
メンバー
記事: 24
登録日時: 2009年8月25日(火) 13:19

Re: WordPress Integratorで時々parse error

投稿記事 by Ryo »

sama55さん

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

再現性が無い&wordpressのアップデートなどしていないので、ソースは全くいじっていなかったですが、samaさんのご指摘が正解かもしれません。

該当するkses.phpのコードはwordpress3.0.0から追加されたようなので、とりあえず、global変数を追記してみました。

追記はこちら
global $allowedentitynames;

ちゃんと表示されたけど、それが追記して大丈夫になったのか、条件にヒットしなかっただけなのかわかりません^^;
しばらく様子を見て、また報告させていただきます。
Ryo
メンバー
メンバー
記事: 24
登録日時: 2009年8月25日(火) 13:19

Re: WordPress Integratorで時々parse error

投稿記事 by Ryo »

その後、エラーは出なくなりました。
global変数がwordpress3.0.0になって増えたのが原因のようです。

samaさん、ありがとうございました。
返信する