令和6年11月1日より学外・eduroam からの電子メール利用時に多要素認証が必須になります。登録がお済でない方は、電子メールサービスの多要素認証を利用する に沿って登録手続きを行ってください。

問題

  • 仮想ウェブサービスで 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"

関連記事