.htmlでphpを実行する【エックスサーバー sv2001以降】

エックスサーバーにアップしているHTML上でphpを実行する方法です。

サーバー番号が2001番より大きいサーバーが対象です。

.htaccessの記述

必要な記述は下記1行のみ

AddHandler fcgid-script .html

 

.htaccessをサーバーからダウンロードして編集する際、下記のような記述があった場合は、行頭に#を付けてコメントアウトして下さい。

コメントアウト前

suPHP_ConfigPath /home/mega003/mineraru-fande-shon.net/xserver_php/
AddHandler x-httpd-php5.3 .php .phps

コメントアウト後

#suPHP_ConfigPath /home/mega003/mineraru-fande-shon.net/xserver_php/
#AddHandler x-httpd-php5.3 .php .phps

 

動作テスト

HTMLファイルに簡単なPHPのコードを書いてテストすると良いと思います。

<?php echo 'テスト';?>

echoとかprint関数のような文字を表示するようなコードを書いて、指定した文字列(上記だと「テスト」)が表示されるかどうかで動作をテストしてみて下さい。

 

元のHTMLにXML宣言文がある場合

HTMLが、XHTMLで書かれている場合、1行目にXML宣言文を書いていると思います。

<?xml version="1.0" encoding="UTF-8"?>

 

.htaccessの記述を有効にして、上記の宣言文をそのままにすると

このように500エラーが出るか、PHPのエラー文が表示されます。

 

XML宣言文を残す場合は

<?php echo'<?xml version="1.0" encoding="<$mt:PublishCharset$>"?>'."\n";?>

このように宣言文をechoなどで出力するように修正して下さい。

 

参考サイト

2017年版:エックスサーバー(Xserver)で、PHPを拡張子.htmlのファイル内で動作させる - Qiita
二年ぶりにエックスサーバーを契約したところ、PHP周りの仕様が変わっていました。 検索しても正しい情報が出にくいので共有しておきます。 ※Movable TypeのTIPSではないのですが、MTはこの手の設定が必須となることが多いの...