エックスサーバーでPHPをHTMLファイル内で使えるようにする

エックスサーバーでPHPをHTMLファイル内で使えるようにする

エックスサーバーを使用しているウェブサイトのHTMLファイル内でPHPを使えるようにしたいときがありました。

共通パーツをPHPのincludeで読み込むようにしたいという目的があり、.html拡張子でPHPプログラムを実行できるようにする必要があったのですが、エックスサーバーでは.htaccessにコードを1行追加することで、PHPをHTMLファイル内で使えるようにすることができます。

エックスサーバーでサーバー番号が2001番より大きいサーバー環境とPHP7.4.13のバージョンで行ったやり方です。

 

エックスサーバーで.htaccessを開く

 

エックスサーバーでPHPをHTMLファイル内で使えるようにするために.htaccessにコードを記述するので、以下3つの方法のどれかでhtaccessファイルを開きます。

 

  1. エックスサーバーのサーバー管理からサーバーパネルに進み「.htaccess編集」を開く。
  2. エックスサーバーのファイル管理からファイルマネージャに進みpublic_htmlの下の階層の「.htaccess」ファイルを編集ボタンで開く。
  3. FTPサーバーでサーバーに接続してpublic_htmlの下の階層の「.htaccess」を開く。

 

PHPをHTMLファイル内で使えるようにするコード

 

開いた.htaccessファイルには、AddHandlerから始まる以下のコードを記述します。

 

AddHandler fcgid-script .html

 

コードの記述後は.htaacessの編集内容を保存します。

 

Advertisement

 

PHPをHTMLファイル内で使えるようにするAddHandlerから始まるコードについては、少しは理解しておきたかったので、簡単にではありますが調べた内容を紹介します。

 

AddHandler

AddHandlerはApacheのハンドラで、ファイルが呼ばれたときに実行される動作の Apache における内部表現です。

 

fcgid-script

fcgid-scriptが指定されているファイルはFastCGIとして動作して、 サーバにより実行され、その出力がクライアントに返されます。

 

FastCGIという用語が出てきましたが、FastCGIはCGIの動作方法として1つの方法になり、通常のCGIプロセスは無駄が多いため、最初のプロセスを保持して高速化を頑張りますよ。みたいな方法です。

参考:エックスサーバー「FastCGIについて」

 

エックスサーバーでのFastCGI設定は、以前は設定の項目があった記憶があるのですが、PHP5.1.x以降のバージョンではFastCGIが常時ON(変更不可)で対応しているようです。

参考:エックスサーバー「PHPの高速化について」

 

 

そのため例えばtest.phpのように作成したphpファイルにphpinfo()を記述してサーバーにアップ後、test.phpページでServer APIを確認すると、FastCGIに対応していることが分かります。

 

.html

コード最後の部分の.htmlは、PHPをHTMLファイル内で使えるようにするため、.html拡張子が対象になるように指定しています。

 

PHPが.html拡張子のファイルで使えるようになる

 

エックスサーバーの.htaccessにAddHandler fcgid-script .htmlのコードを記述すると、PHPが.html拡張子のファイルで、つまりHTMLファイルで使えるようになります。

 

<?php echo 'PHP出力テスト'; ?>

 

PHPのecho文で文字列をHTMLファイルで出力してみると、.html拡張子のファイルで文字列が表示するので、PHPが使えるようになったのが確認できます。

 

エックスサーバーカテゴリの最新記事