サポート » 使い方全般 » wordpressが表示されない原因は何が考えれますか?

  • 解決済 Hal_Hal

    (@hal_hal)


    非常に困っております。
    他の某サービスにも質問させていただきましたが、
    こちらの皆様にもご質問させてください。
    よろしくお願いします。

    html拡張子のまま、ページにwordpressを組み込もうと思っています。

    その前提として、httpd.confには
    AddType application/x-httpd-php .php .html
    が記述されてあります。

    以下が問題のソースです。

    <?php require('絶対パス(省略)/wp-blog-header.php'); ?>
    <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
    <?php query_posts('showposts=1');?>
    <?php if(have_posts()):while(have_posts()):the_post(); ?>
    ~~~内容(省略)~~~~
    <?php endwhile;endif; ?>
    <?php wp_reset_query()?>

    これをアップすると、ページデザインは表示されますが、記事部分が表示されません。
    特にエラーも表示されません。
    ソースを見ると、

    <?php require('絶対パス(省略)/wp-blog-header.php'); ?>
    <?xml version="1.0" encoding="UTF-8"?> ←★変わった部分
    <?php query_posts('showposts=1');?>
    <?php if(have_posts()):while(have_posts()):the_post(); ?>
    ~~~内容(省略)~~~~
    <?php endwhile;endif; ?>
    <?php wp_reset_query()?>

    となっています。
    一部を除いて、php命令文がそのままソースに表示されてしまいます。

    <?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
    <?xml version="1.0" encoding="UTF-8"?>となっていることから、
    php命令文は解釈されている(動いている)で間違いないですよね?

    ということは、wordpressを組み込むソースが悪いと思うのですが、
    何が悪いのか全く分かりません。

    絶対パスが間違っていれば、エラー表示になる(ページが表示されるはずない)と思うのですが、
    サーバーによっては絶対パスが間違っていても、エラーが表示されなかったりするのでしょうか?
    ただ、wp-blog-header.phpへの絶対パスに間違いはないと思われます。
    補足情報として、wordpressを別ドメインで動かしているので、“絶対パス”で指定しています。

    最初はhtmlでphpを動かすための指定が間違っているのだと思いました。
    そこでhtaccessにおいて色々試しましたが全て駄目でした。
    AddHandler x-httpd-php .php .html

    <Files xxxx.html>
    AddType application/x-httpd-php .html
    </Files>

    など

    また、別サーバーで試すと上記ソースできちんと動きます。
    これは、サーバーの仕様による問題でしょうか?
    何か.htaccessに指定すれば動くと思うのですが、
    全く分かりません。
    完全にお手上げ状態です。

    簡単な過ちを犯しているだけかもしれません。
    wordpress熟練者の皆様、どうか力を貸してください。
    よろしくお願いします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんにちは、

    ワードプレスをインストールして、新規投稿や編集を行い表示する環境は、運営するための環境です。

    エラーを表示したり、エラーログを記録する環境を作ったうえで、自分のやりたい事に専念したほうがいいと思います。

    一例を紹介します

    wp-config.phpの冒頭に記述します。
    カスタマイズしないときには、$debug_mode =false;にします。
    デバッグ ログは、wp-content/degub.log に記録されるはずです

    $debug_mode = true;
    
    if($debug_mode === true){
    
    	define('WP_DEBUG',true);
    
    //WP_DEBUG_LOG is by default false. WP_DEBUG_DISPLAY is by default true.
    	define('WP_DEBUG_LOG', true);
    
    //seved wp-content/debug.log
    	define('SCRIPT_DEBUG', true);
    
    //圧縮されていないファイルの読み込み
    	define('WP_DEBUG_DISPLAY',false);
    
    }

    他の某サービスにも質問させていただきましたが、
    こちらの皆様にもご質問させてください。

    あなたにアドバイスしようと思った人は、手間と時間をかけています。
    二股かけては いけません。

    モデレーター jim912

    (@jim912)

    Hal_Halさん、こんにちは。

    とりあえず、require すべきなのは、wp-blog-header.php ではなくて、wp-load.phpです。
    理由は、ワードプレスの記事をHTMLに表示させる際に文字化けが起きるとか。

    一部を除いて、php命令文がそのままソースに表示されてしまいます。

    が何故そうなっているかは、わかりませんがまず、上記の修正を試してみて下さい。
    nobitaさんの debug を有効にする方法も有益です。

    皆様、ご回答ありがとうございます。

    >nobita様
    wp-config.phpを利用したエラーログ取得は、
    仰る通り、非常に有効ではないかと思います。
    表に出るわけでもなさそうなので、稼働中のサイトでも試しやすいですね。

    私の質問に答えてくださるために皆様がかけた手間と時間を
    無碍にするつもりは微塵もありませんが、
    私の行為で皆様に不快感を与えてしまうとしたら、
    それは本意ではありませんので、以後、気をつけたいと思います。

    >jim912様
    requireすべきなのは、wp-load.phpなのですね。
    初耳でした。有益な情報ありがとうございます。

    一部を除いて、php命令文がそのままソースに表示されてしまいます。

    やはり謎現象ですか。
    私にも、これが本当に意味が分かりません。
    wordpressは正常に動いているし、別ページも問題ないのですが、
    .html拡張子でwordpressを組み込んだこのページだけが駄目なのです。
    こんなことなら、最初から.phpで動かして
    .htaccessで.html偽装すればよかったと後悔していますが、
    残念ながら後の祭り。
    権限上、いまさらどうにも出来ない立場におります。

    お忙しい中、本当にありがとうございました。

    質問者です。ふと思いついたことがありますので、
    そのために補足情報を書かせていただきます。

    [サイト] /home/xxxxx/html/ → http://example.com/
    [wordpress] /home/xxxx/wordpress/ → http://wp.example.com/
    のようなサーバー環境でサイトを構築しております。

    wordpressの設定にて
    【サイトアドレス】をhttp://example.com/xxxx/に設定しました。
    wordpressを別フォルダ・別ドメインで動かすための設定は全て行っており、
    http://example.com/xxxx/において、wordpressは順調に動いております。
    http://example.com/xxxx/下のファイル(トップ及び詳細ページ)は、
    全てテーマの中のindex.phpを利用しています。

    ここまではOKです。

    次、http://example.com/xxxx.htmlにもwordpressの記事を…という理由により、
    今回の質問のような手段と結果に至った訳ですが、

    /home/xxxxx/html/以下において、
    /home/xxxx/wordpress/へのリクエストを許可していないから、(もしくはその逆??)
    なんて理由は考えられませんよね?

    phpは動いている、そして絶対パスは間違っていない、
    けれどリクエスト許可がないから、エラーにはならないけど
    <?php require('絶対パス(省略)/wp-blog-header.php'); ?>が動かないんじゃと思ったもので。

    それとも、
    それだったら、http://example.com/xxxx/が正常に動くはずはないのでしょうか?

    【○】wordpressインストールフォルダ直下
    http://wp.example.com/index.php

    【○】wordpressで設定したサイトアドレス直下
    http://example.com/xxxx/index.php

    【×】今回問題となったページ
    http://example.com/xxxx.html

    いずれも、require('絶対パス(省略)/wp-blog-header.php');において
    同じパスが書かれてあります。

    可能性の話で構いません。
    有り得るか有り得ないか、皆様のご意見はいかがでしょうか?

    モデレーター jim912

    (@jim912)

    require は失敗していれば、致命的なエラーが発生し止まってしまうためxml宣言の部分も反映されないはずです。

    こんにちは

    一部を除いて、php命令文がそのままソースに表示されてしまいます。

    PHPのコードがソースに表示されるのは、そのページがPHPファイルとして扱われていない事になります。
    そのディレクトリが .htaccessが利用できる環境なのかどうか確認したほうがいいと思います

    参考:http://httpd.apache.org/docs/2.2/ja/howto/htaccess.html

    phpとして扱われているかどうか確認する例

    問題のファイルの先頭に、貼り付けて、phpinfoが表示されるかチェックしてみる

    <?php
    
    // すべての情報を表示します。デフォルトは INFO_ALL です。
    phpinfo();
    
    // モジュール情報だけを表示します。
    // phpinfo(8) としても同じです。
    phpinfo(INFO_MODULES);
    
    ?>

    皆様、ご回答ありがとうございます。

    >jim912様

    require は失敗していれば、致命的なエラーが発生し止まってしまうためxml宣言の部分も反映されないはずです。

    そうですか。
    いい線いってる!?と思いましたが、私の思いつきは違うようですね……。

    >nobita様

    PHPのコードがソースに表示されるのは、そのページがPHPファイルとして扱われていない事になります。

    普通そうですよね。
    なぜかxml宣言が反映されていることを除けば、、
    .html文書がphpとして動いていないというのが根本的かつ間抜けな原因である、と言えるに違いありません。
    むしろそうであってほしい。

    また、.htaccessにおいて
    AddTypeもAddHandlerも駄目ということは、nobita様の仰る通り、
    http://www.example.com/直下において.htaccessが使用できないか、
    AddTypeもAddHandler以外のコードが必要なのかもしれません。

    とりあえず、皆様のご回答を参考に、
    ・/直下で.htaccessが使用できることを再確認
    ・wordpressコードを除き、簡単なphp命令文でphp文書として動いているか再確認
    ・wordpressのエラーログを確認
    など、基本的な確認作業から実行し、コツコツ原因を潰していきたいと思います。

    この場で解決をご報告できないのが残念ですが、
    解決まで長い時間が掛かりそう(権限上の問題で)なので、
    このご質問を【解決済み】として閉じさせていただきます。

    この度はお忙しい中、ご回答いただき、
    本当にありがとうございました。

    wordpressをはじめてまだ1ヶ月ほどですが、
    MTとは違った面で面白いなと思っております。
    ポータルサイトやビジネスサイトが構築できるぐらいまで
    wordpressを極めるのが目標です。
    また、このフォーラムにお邪魔することになるかと思いますが、
    そのときはよろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「wordpressが表示されない原因は何が考えれますか?」には新たに返信することはできません。