問題
- 仮想ウェブサービスで PHP を使ったウェブサイトを公開したいです。どうすればいいですか。
解決方法
仮想ウェブサービスでは、標準で PHP スクリプトが動作するように設定されています。しかし、PHP スクリプトの内容によっては、次の事前設定が必要な場合があります。
PHP ファイルの関連付けを書き換える
.htaccess ファイルで .php とは異なる拡張子のファイルを PHP に関連付けしている場合、そのファイルは PHP として動作しません。
# CGI ファイルや dhtml ファイルを PHP スクリプトとして実行する AddType application/x-httpd-php .cgi .dhtml
サーバーの設定変更が必要となりますので、上記に当てはまる設定をコメントアウトし、PHP として動作させたいファイルの拡張子をサポート窓口までご連絡ください。
PHP 系ディレクティブを .user.ini ファイルに書き直す
.htaccess ファイルで php_value ディレクティブや php_flag ディレクティブを使っているとエラーになります。
php_flag magic_quotes_gpc Off php_value max_input_time "120"
該当する行を削除して保存します。
同じディレクトリに .user.ini ファイルがなければ作成します。パーミッションは 600 としてください。
.user.ini ファイルに先ほど削除したディレクトリの内容を php.ini 形式で書き直します。
[PHP] magic_quotes_gpc = Off max_input_time = "120"
.user.ini ファイルは300秒に1回の頻度で再読み込みされます。変更してもすぐには反映されませんのでご注意ください。
セッションディレクトリを準備する
PHP セッション機能(ログイン状態の保持などに利用されます)を利用している場合、セッションディレクトリを準備しなければ正常に動作しません。
ホームディレクトリに phpsession ディレクトリを作成します。パーミッションは 701 としてください。
ドキュメントルートディレクトリ(public_html(SSLなし)・public_html_ssl (SSL))に .user.ini ファイルがなければ作成します。パーミッションは 600 としてください。
.user.ini ファイルに以下のように session.save_path 設定を記述します
[PHP] session.save_path = "ホームディレクトリの絶対パス/phpsession"