エックスサーバーのphpの設定

2024年2月12日

取得したテスト用の新規ドメインのWebサイトの常時SSL化

.htaccess の先頭に以下の3行を追加します。

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

サーバーパネルへログインし、「.htaccess編集」メニューをクリックします。既存の設定は削除せず、上記の3行を追加しました。

最初から以下の2行の設定はありました。この記述は、エックスサーバーの機能「Xアクセラレータ」に関する記述です。

SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode

PHPのバージョンを変更

2024/2現在のドメイン追加時のPHPのデフォルトのバージョンはPHP8.1.22(推奨)でした。

最新のバージョンのPHP8.2.9に変更しました。

Xアクセラレータ の設定はデフォルトでVer.1

2024/2現在のドメイン追加時のXアクセラレータのデフォルトのバージョンはVer.1でした。

Ver.2に変更しました。

Ver.2を有効にすると ドメインのルートディレクトリのpublic_html直下に.user.iniファイルが作成されました。Xアクセラレータ Ver.2 適用中は、PHPの設定ファイルのphp.ini ファイルの値を上書きする.user.iniファイルが利用されます。

また、ルートディレクトリにtestディレクトリを作成しました。

phpinfo.phpを作成してtestディレクトリへアップロード

<?php
phpinfo( );
?>

以下にアクセスするとphpの情報が出力されます。

https://otest.blog/test/phpinfo.php

脆弱性があると公開しておくとよくないので、確認後は、コメントにしました。

PHP8以上で使えるJITを有効化

JITはPHP8以上で、php.iniに設定値を書くことで有効化できます。

opcache.jit = off

opcache.jit = on

に変更しました。

(実際の方法はエックスサーバーのマニュアルにもなく、
コメントアウトすればOKという記事もあったがならなかった)

phpinfoを確認

JITはDisabled→Onになった

opcache.jit のLocalValueが no value→1 になった

これはJITが正しく有効になっている?

調べてもわからなかったので一旦保留で。

XPageSpeed

「XPageSpeed」を使用することで、Webサイトのデータ表示は最適化されます。こちらの設定は今後、試す。

以上です。

サーバーキャッシュ設定はオフに

phpでユーザーごとの動的なコンテンツはオフにしたほうが無難?

ウェブサーバー上に、特定のユーザーや特定の環境のみに公開を制限しているコンテンツデータ等がある場合、本来広く公開されていないはずのデータがリバースプロキシ上にキャッシュされ、意図しないユーザーがそれらのデータへアクセス可能となってしまうことがありますので、ご注意ください。

レスポンスヘッダに以下を含むコンテンツはキャッシュしないため、sessionを使用する場合は問題なさそうですが、サーバーキャッシュはオフにしました。

  • Cache-Controlに「no-cache」「no-store」「private」「must-validate」のいずれかを含む場合
  • Set-Cookieを含む場合

phpphp,xserver

Posted by zzz