Top > PHP・MySQL > さくらサーバーで、HTML上にPHPを読み込ませる方法

さくらサーバーで、HTML上にPHPを読み込ませる方法

さくらインターネットの場合、既存の状態ではHTML上でPHPを動かすことができない。
XREAやエックスサーバーなら、.htaccessを用意して、

AddType x-httpd-php .html (エックスサーバーの場合) や
AddType application/x-httpd-php html (XREAなど) と記述すれば、
拡張子がHTMLでもPHPを動かすことができる。

これに対し、さくらインターネットでは、前述のコードを記述した.htaccessを
用意してもHTML上でPHPは動かない。

さくらインターネットの場合は、PHPはCGIとして動く。それを逆手に取り、
PHPの実行結果をSSIとして、HTML上に読み込む方法が可能である。

ちなみにさくらインターネットはスタンダードプラン以上でないとPHPが使えない。

まず、.htaccessを用意する。この中には以下のコードを記述。

AddType text/x-server-parsed-html .html


実行したいPHPに関しては、拡張子を.phpとして別にファイルを用意。
1行目に

#!/usr/local/bin/php

とパスを記述した上で、スクリプトを書く。サーバーにアップロードしたら、
パーミッションを「755」に変更。

ここでは以下のようなスクリプトを用意したとしよう。

#!/usr/local/bin/php

<?php
echo "こんにちは";
?>

ファイル名を、hello.php とする。


読み込むHTML側は、

<html>
<body>

<p><!--#include virtual="hello.php" --></p>

</body>
</html>

という感じでSSIでincludeする。これによりHTML上にhello.phpの
実行結果が読み込まれる。

ソースコードを確認するとHTMLで実行結果が読み込まれているから、
SEO的な面でも不利にはならない。さくらで外部からコンテンツを読み込み
たい場合は便利かも。

この手法は、通常のHTMLファイルもSSIとして処理されるので、
サーバーに負荷をかけるので、その点には注意が必要だろう。

PHP・MySQL

PHPやMySQLについてまとめたカテゴリ。PHPのスクリプトの書き方やMySQLの取り扱いなど。

関連エントリー

アーカイブ