Dec 04, 2008, 12:52 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
Search via SMF or Google: modx forums all of modxcms.com web
  MODxCMS.com   Forums   Help Login Register  
News:Donate to MODx: Donations
Pages: [1] 2   Go Down
  Print  
Author Topic: MODx Parse Error - document.parser.class.inc.php  (Read 9485 times)
0 Members and 1 Guest are viewing this topic.
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« on: May 08, 2006, 08:28 AM »

問題点と思えそうなものをひとつ見つけました。参考程度にお付き合いください。
僕自身よく理解できてないので、とりあえずメモ書き程度にトピ立てます。

http://modxcms.com/bugs/task/163

おそらくココに書いてある内容が、それと認識されているものだと思います。
そうだとすれば解決は時間の問題と言えそうですが。

で、どういう問題かというと。

http://mooo.jp/cub5

Googleでの検索結果です。MODx Parse Errorの表示です。
ところが実際にページを開いてみると、ちゃんと表示されていることが多い。
なぜこの問題に気付いたかというと、検索エンジンとは相性がいいはずの
MODxなのに実際にはなかなか成果が上がらないサイトがあったからです。

それでFEED Validator(http://feedvalidator.org/)や
HTML-lintなどで確認してみたら、どうやらIEやFireFoxなどでは確認
できないエラー表示に気付いたというわけです。つまり、Googleからは
こういうふうに見えていたのかもしれないなあ、と。
そういやGoogle Sitemapsでは目視では正常なのにいつもエラー扱いでした。

で、とりあえずの対症療法を見つけました。「MODx設定」で
「訪問の記録」をオフにするとエラーが表示されなくなるみたいです。
とりあえず個人的にはそれで解決でいいのですが。

「MODx Parse Error」で検索すると、このMODxフォーラム全体でも
わりと多くの情報が得られるみたいですが、まだじっくり目を通せてません。
また何か気付いたら報告します。

みなさんも気になるようであればHTML-lintなどで確認してみると
もしかするともしかするかもです。 Shocked

「こういう設定を試してみてくれ」といったものがあれば気軽に言ってください。
人柱として、できる範囲で試してみます。
ちなみにxrea s173およびs176サーバです。MODxのバージョンは最新の0.9.21。
さくらのレンタルサーバで運用しているサイトも2つありますが、それはどちらも
問題なしでした。xreaとの違いというとセーフモード稼働かな?

HTML-lintじゃなくて、ブラウザ in ブラウザみたいなサービスはなかったかな?
そういったサービスで表示を確認してみるのが分かりやすそう。
« Last Edit: May 08, 2006, 08:58 AM by yama » Logged
eastbind
Sr. Member
****
Posts: 253


This ideograph means LOVE! I love MODx.


WWW
« Reply #1 on: May 08, 2006, 06:38 PM »

そのエラーは、むしろ
http://modxcms.com/bugs/task/296
こちらのものですね。
「訪問者の記録」(visitor logging)は0.9.5でSlimstatに置き換わるそうなので、
そうなれば1件落着といけばよいのですが。
WebLoginも怪しそうですが、このエラーを確実に起こす方法ありますか?
User-AgentをgooglebotやHTML-lintのものにしてみましたが、まったく再現しません。(あたりまえ? Wink
« Last Edit: May 10, 2006, 06:45 AM by eastbind » Logged
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #2 on: May 08, 2006, 07:19 PM »

どうもです。そのSlimstatも試してみましたが、やはりMODx Parse Errorでした。
ブラウザでは問題なく表示されているのが気付きにくく始末が悪い。

さくらインターネットとland.toで立てているサイトは問題なく、xreaで運用して
いるサイト2つだけがこの状況です。phpinfoをよく比べてみて、xreaと同じような
条件になるようにすればさくらやlandtoでも再現できるかもしれないですね。
あとで調べてみます。セーフモード稼働だから、ってことも関係ありそうかな?

11時30分追記。今回の対応(訪問記録をオフにすること)で、ようやく検索
エンジンの検索結果一覧のトップに表示されるようになりました。
今まで最下位だったので違いが大きいです。(社名で検索して30件中30番目)
そうかー、こんなところで足を引っ張ってたのか Cry

これではアクセス解析ができないので、引き続き調査してみます。クセのある
さくらで比較するのは問題の切り分けがしにくいので、ロリポップで再現条件を
探してみます。なんらかの条件でheaders already sent ってことになるわけですね。
« Last Edit: May 09, 2006, 04:26 AM by yama » Logged
ZeRo
Sr. Member
****
Posts: 384



WWW
« Reply #3 on: May 09, 2006, 01:47 AM »

そういえば・・・ぷちやでも訪問者の履歴はOFFにしています。land.toでもOFFにしてます、そーいえば。

根本的な原因はわかってはいませんが、ほかのアクセス解析とかいろいろと試したりしたときもIncludeで動かすと同じことになりました。
対処療法的に結局今はJavascriptで動かしたりしてたりしてます。
今はSlimStatとpphloggerの2つを入れてます、前者はプラグインで呼び出して、後者はJavascriptで呼び出してです。
SlimStatは、日本語化対応できてないので 検索キーワードに関するところだけ直したような・・記憶が薄れてますが、先月ぐらいにやったような気がします。

pphloggerをIncludeで呼び出した場合に出るのは、クッキーをセットするのでそれが問題だったような気がしていますが、ほかのものの場合の原因は完全に掴めていません。
全然、役に立ってないコメントですが・・同じ問題だったなぁとつい・・ Embarrassed

Logged

WCMアナリスト兼アドバイザー兼デベロッパー兼・・・・
eastbind
Sr. Member
****
Posts: 253


This ideograph means LOVE! I love MODx.


WWW
« Reply #4 on: May 09, 2006, 05:14 PM »

私の環境ではどうやっても再現しないので Tongue
PHP設定で関係しそうなoutput_bufferingやoutput_handler、session_cache_limiterまで試したんですが... Cry

お聞きしたいのですが、もしやhttpサーバはapache 1.3.xでmod_gzip入りって事は無いですよね?
Logged
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #5 on: May 09, 2006, 08:04 PM »

phpinfoのLoaded Modulesで見てみると、たしかにmod_gzip入ってます。(Apacheは1.3x)
問題のないロリポップ・さくらにはmod_gzipはありません。

http://www.port80software.com/surveys/top1000compression/#checkyoursite
参考情報。上記のURLで確認すると、zlib.output_compressionをオフにしているにも
関わらずxreaのサーバでは「gzipで圧縮されています」と結果が出ます。
Logged
eastbind
Sr. Member
****
Posts: 253


This ideograph means LOVE! I love MODx.


WWW
« Reply #6 on: May 09, 2006, 09:09 PM »

ありゃ、入ってますか Shocked
それじゃ試しに.htaccessに「mod_gzip_on No」と書き入れてみてくれませんか?
Logged
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #7 on: May 09, 2006, 09:38 PM »

さっそく試してみましたが状況変わらず。MODx Parse Errorでした。
(先述のprot80software.comでは「圧縮シテナイ」に変わってたのを確認)
Code:
Warning:  Cannot modify header information - headers already sent by (output started at /virtual/*****/public_html/*****/manager/includes/document.parser.class.inc.php:466) in /virtual/********/public_html/*****/manager/includes/document.parser.class.inc.php on line 430
ちなみにエラーの内容は上記のとおり。これはサーバ側が表示しているアラートですよね。
document.parser.class.inc.php(※MODx0.9.2.1)の466行目と430行目と。

そして上記のアラートに続いて、
Code:
<html><head><title>MODx Content Manager  &raquo; </title>
      <style>TD, BODY { font-size: 11px; font-family:verdana; }</style>
      <script type='text/javascript'>
      function copyToClip()
      {
        holdtext.innerText = sqlHolder.innerText;
        Copied = holdtext.createTextRange();
        Copied.execCommand('Copy');
      }
    </script>
      </head><body>
      <h3 style='color:red'>&laquo; MODx Parse Error &raquo;</h3>
      以下省略
と続きます。

ちなみに先にも書きましたが、IEやFirefoxなどでは普通に表示されています。
html lint やrss validなどを通して見た場合のみに見られる、エージェントの違いに
依存するタイプのエラー表示です。
(このトピを途中から見た人には分かりにくいと思うので、念のため書いておきます)
« Last Edit: May 09, 2006, 09:45 PM by yama » Logged
ZeRo
Sr. Member
****
Posts: 384



WWW
« Reply #8 on: May 09, 2006, 09:54 PM »

eastbindさん、
[mod_gzip_on No]は小技としてありがたく覚えておこうと思います。
早速、これをNoにしてPHPのCompressionをONにしてみました。

yamaさん、
これXreaですよね?
slimstatとかほかのものを呼び出してはいないんですよね?

Win版のwgetでダウンロードしても同じことになりますかね・・・

Logged

WCMアナリスト兼アドバイザー兼デベロッパー兼・・・・
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #9 on: May 09, 2006, 10:20 PM »

slimstatを呼び出したり「訪問の記録」をオンにしたりするとこのエラーが出ます。
つまり対応方法はあるけどアクセス解析ができなくなるから不便。
(JavaScriptトリガータイプなら問題ないけどロボットを補足できない)

サーバはs176とs173。
document.parser.class.inc.phpを開いてみると、
466行目は「ob_end_flush();」、430行目は「header($header);」。

なるほどwgetなんてものが。html lintではなくwgetを使ってみます。
試してみたところ、wgetでhtml lintと同様の出力を確認できました。
こっちのほうが分かりやすいです。

以下、ほとんど個人的なメモ書き。
slimstatというとOnWebPagePrerender。たぶん「訪問の記録」も
同様のロジック。「headers already sent」がこれと関係あるかどうか。
http://modxcms.com/event-prerender.html
Logged
eastbind
Sr. Member
****
Posts: 253


This ideograph means LOVE! I love MODx.


WWW
« Reply #10 on: May 09, 2006, 10:28 PM »

お、皆さん返事が早い Shocked

この現象は、User-Agentではなくて、cookieに「MODxLoggingCookie」をセットして送ってこないHTTPクライアントで起こるはずなのですが。ですからwgetでも起こせるはず...
とりあえずmod_gzipはオフにしたほうがいいと思います。というより共用サーバにmod_gzip入れる人がいるとは。よほどCPUがあまってるのかしらん... Tongue
他にsetcookie()やob_flush()で問題のある設定ってあったかなぁ Huh
もっと考えますです。

P.S.
そうだ。php_flag output_buffering Off っていうのを.htaccessに入れてみるというはどうでしょう。mod_gzip_on Noの状態で。確かxreaってob=4096だったような...
« Last Edit: May 09, 2006, 11:40 PM by eastbind » Logged
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #11 on: May 10, 2006, 03:21 AM »

試してみました。結果ですが、やはり466行目430行目の例のアラート。変化なしでした。
引き続き、解決の糸口を探ってみます。
Logged
ZeRo
Sr. Member
****
Posts: 384



WWW
« Reply #12 on: May 10, 2006, 04:36 AM »

訪問者履歴をONだとなりますねぇ、SlimStatのみ有効だとwgetでは出ません。
SlimStatは、headerもSetCookieも呼んでないのでこれで出るのはちょっと疑問ですが・・。
headerエラー以外の別のエラーとかでてませんか??

でも、ソースを見る限りではMODxのLog用Cookieを出す前によけないなものは出してないような気がするんですけど。
かなり、謎かも・・
0.9.5でSlimStatに切り替わるまではOFFが無難っていうことですかねぇ

SlimStatの日本語化も真面目に考えないと・・・
Logged

WCMアナリスト兼アドバイザー兼デベロッパー兼・・・・
yama
Moderator
*
Posts: 539


MODx研究中


WWW
« Reply #13 on: May 10, 2006, 04:59 AM »

すみません、今slimstatを試してみたら大丈夫でした。
ついうっかり訪問履歴をオンにしたままslimstatを試してたのかも。
ホントすみません。汗

とりあえず代替手段としてslimstatが使えるってことですね。
代替どころかこっちのほうがよさそうですが。
« Last Edit: May 10, 2006, 05:01 AM by yama » Logged
ZeRo
Sr. Member
****
Posts: 384



WWW
« Reply #14 on: May 10, 2006, 09:10 AM »

すみません、今slimstatを試してみたら大丈夫でした。
ついうっかり訪問履歴をオンにしたままslimstatを試してたのかも。
いえいえ、無事解決できてよかったですよ Smiley

とりあえず代替手段としてslimstatが使えるってことですね。
代替どころかこっちのほうがよさそうですが。
管理画面から見れないのがちょっと寂しいところですけどね
SlimStatとLogger併用して遊んでます
Logged

WCMアナリスト兼アドバイザー兼デベロッパー兼・・・・
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP

Copyright © 2005-2008 MODxCMS, All rights reserved. Contact Us
Styles by ziworks.com

Powered by SMF 1.1.4 | SMF © 2005, Simple Machines LLC

Valid XHTML 1.0! Valid CSS!