コンフリクト!
昨日辺りから、フィードが500エラーを返してて何でだろうと色々調べてみると、昨日入れたExec-PHPが問題だったらしい。
Exec-PHP単体で動かしてる分には良かったんだけど、”Syntax Highlighter for WordPress”と同時に使用すると、フィードでPHPを実行しようとしてるみたいで。*1
さらに、フィードではSyntax Highlighterも動かないから[php]も置換されずにそのまま出てるわけで…
“eval()’d code on line 20″とか’[‘が多いとかいうエラーが出てました。
フィードでPHPを動かす必要性はあまりない。
てことでExec-PHPで実行される前に[php]~[/php]をオミットすることにする。
exec-php/includes/runtime.php
1 2 3 4 5 6 7 8 9 10 11 | function eval_php($content) { // to be compatible with older PHP4 installations // don't use fancy ob_XXX shortcut functions $content = preg_replace('/\[php[^<>#x5d;*\](.*\r\n)+\[\/php\]/i', "", $content); ob_start(); eval("?>$content<?php "); $output = ob_get_contents(); ob_end_clean(); return $output; } |
空白に置換するんじゃなくて、何かしらの文字列にした方がいいかもねぇ。
「PHPソース省略」とか。
あと、PHPだけじゃなくてHTMLソースも消した方がよさそう。*2

205StudioTR