さくらサーバーでhtmlファイルでPHPを動作させる方法

  • 作成日 2019.10.10
  • 更新日 2020.07.20
  • php
さくらサーバーでhtmlファイルでPHPを動作させる方法

lolipopから、さくらサーバーにコンテンツを移行させる案件があったので作業メモ

lolipop内 .htaccess設定ファイル

既存の .htaccess設定は下記ですが、、さくらサーバーでは動作しないよう

AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

さくらサーバー設定

「php.cgi」というファイル名で、下記の内容を作成

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

作成した「php.cgi」を TOPページと同階層(/home/ドメイン名/www)にアップし、 パーミッションを705に設定する

※winscpで編集

.htaccess設定

下記の内容で.htaccessを作成

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

同様にアップロードすれば完了

サーバーエラー(Internal Server Error)発生

下記のエラーが発生

さくらのコントロールパネルからエラーログを確認したところ

suexec policy violation: see suexec log for more details

が発生

どうやら文字コードの問題らしいため、 Windows Subsystem for Linux のubuntuを利用して作成

再度、アップでエラーは解消。

また、ルートディレクトリ直下の別ディレクトリ(ここではtestという名前とする)のみを対象にする場合は、.htaccessが/php.cgiのままだと

Action myphp-script /php.cgi

下記のエラーが発生します。

script not found or unable to stat

下記のように記述する必要があります。

Action myphp-script /test/php.cgi