人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

サーバAにあるphpを、
サーバB内のhtml内で実行したいのですが、うまくいきません。

同サーバ内なら、SSIの
<!--#include virtual="hoge.php"-->
と記述して何とかなったのですが、別サーバだとうまくいかないようです。


require()
include()
など試してみたのですが、htmlソースに
<?php
hogehogehoge
?>
と記述されるだけで、phpが実行されません。

何か解決法はありませんか?

※ちなみに、サーバBのhtml拡張子をphpに変更することはできません。





●質問者: petem
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:HTML PHP require サーバ ソース
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● t_shiono
●23ポイント

この方法が適しているか分かりませんが、

<!--#include virtual="hoge.php"-->

として、hoge.phpで、外部サーバのhoge.phpを読みに行ってはどうでしょうか?


あるいは、mod_rewriteなんかで、hoge.htmlのアクセスをhoge.phpへのアクセスとして処理させたりですとか、.htmlファイルもphpで処理するように設定するなんて荒業もあると思いますが・・・。

お使いの環境、ご希望の用途によって、どれがいい(できる)とはいいかねるので、アイディアレベルですが、何かの参考になれば。

◎質問者からの返答

サーバBにphpファイルを置いてしまうと、気軽に変更できなくなってしまうので、できれば避けたい手法です。

mod_rewriteというと

AddType application/x-httpd-php .html

こんな感じでしょうか。

先方の.htaccessをいじるのはかなり厳しそうな気配なので、可能な限りhtml内にコードを埋め込むだけで解決させたいと思っています。

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


2 ● pahoo
●23ポイント

#include virtual は自サーバのディレクトリしか読み込むことができませんので、(サーバBからサーバAにリンクが張られていればともかく)別サーバのファイルに適用することはできません。


それにしても、require, include が動かないのは不思議です。

サーバBはPHPを実行できる状態にありますか?


具体的な状況がよくわからないので、HTML内だけで処理するとなると、サーバBのHTMLコンテンツ内にフレーム(frame)かインラインフレーム(iframe)を使って、サーバAのPHPコンテンツを埋め込んでみてはいかがでしょうか。

これだと、PHPの実行処理はサーバA側で行われるので、サーバBがPHP処理できるか否かにかかわらず、フレーム内に求める表示が出てくるはずです。

ただし、セッションやCookieの処理がややこしくなりますので、その点はご注意ください。

◎質問者からの返答

ありがとうございます。

フレームを使うのは本当に最後の手段として考えています。


3 ● pahoo
●22ポイント

フレームを使うのは本当に最後の手段として考えています。

向こうのサーバでデータを処理させたい

条件は一度に出していただけると答えやすいのですが‥‥


サーバA側のPHPは、データ処理だけで表示処理まで請け負わなくて良いという条件であれば、Ajaxにしてはいかがですか。つまり、データ通信処理と表示処理は、サーバBのHTMLコンテンツにJavaScriptを埋め込んでやるのです。


設定された回答回数の上限になりましたので、これにて失礼します。


4 ● kn1967
●22ポイント

サーバAにあるphpを、

サーバB内のhtml内で実行したい

同じ場所に設置されているサーバ同士であっても、各サーバは独立していますので、お望みの事を実現するのは簡単ではありません。


その上

サーバBのhtml拡張子をphpに変更することはできません。

サーバに対する権限も碌にないという状態ではなおの事です。

phpを実行できないような環境であるならば

フレームやインラインフレームなどで対応するしかないでしょう。


ところで・・・

phpを実行出来るような環境であるとするならば

拡張子がhtmlのままでもphpを実行出来るように設定変更できる可能性が高いです。

レンタルサーバであるならばサーバ会社と契約コースで可能かどうか判断できますし

社内のサーバであるならばWebサーバソフト名で判断つきますので

コメント欄(コメント欄のほうが訂正が楽だから・・・)にでも書いてみてください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ