さくらのレンタルサーバーにおいてhtmlファイルでPHPを実行する

さくらサーバーでhtmlファイル内でphpを実行するには、以下のようにする。

php.cgiファイルを作成し、以下を記述して保存。

php.cgi
#!/bin/sh
exec /usr/local/bin/php-cgi

PHPのバージョンを指定する場合は、exec /usr/local/php/[version]/bin/php-cgiのように記述する。
文字コードはutf-8、改行コードはLF
作成後、適用するディレクトリにアップロードし、パーミッションを755(705)にする。

.htaccessファイルに以下を記述して保存。

#html include php
Action myphp-script /php.cgi
AddHandler myphp-script .php .html

/php.cgiはルートディレクトリからのパス。/phpディレクトリに設置した場合は、Action myphp-script /php/php.cgiとなる。

エラー解消法など

.htaccessファイル保存後に500エラーとなる場合は、php.cgiを設置した親ディレクトリのパーミッションが755(705)になっているか確認する。

また、php.cgiを設置しているディレクトリ内の別のディレクトリにサブドメインをあてている場合は、影響を受けて404エラーとなる。この場合、サブドメインをあてているディレクトリも同様に上記のphp.cgiの設置と.htaccessの記述をする必要がある。