PHP settings are controlled by file named ‘php.ini’. この設定ファイルは、Apache Web サーバーが起動するときに読み込まれます。 デフォルトのPHP設定を変更するには、’php.ini’ファイルを編集し、Webサーバーを再起動します。
すぐに使えるPHP設定はかなりうまく機能しますが、設定ファイルをカスタマイズすると、ハードウェアアーキテクチャやソフトウェア設計に応じて、何が最適に機能するかを選択することができます。
Prerequisites
- A VPS Plan (visit HostAdvice’s VPS reviews for the best VPS providers)
- A non root user with sudo privileges
- Apache web server
- PHP
ステップ 1: あなたの php.NET の場所を決定してください VPS のインストール。ini ファイル
時折、重要な php.ini ファイルを管理する必要があります。 ファイルの場所は、サーバー上で動作している PHP のバージョンによって多少異なります。
/etc/php/php_version/apache2/php.ini
例えば、PHP 7.0 を実行している場合、ファイルの場所は:
/etc/php/7.0/apache2/php.ini
同じケースが PHP 7.2 でも当てはまります。 設定ファイルは次の場所にあります:
/etc/php/7.2/apache2/php.ini
Step 2: Opening the PHP configuration file for editing
ファイルの場所を決定したら、次のステップでは nano エディターを使用してファイルを編集します。 以下のコマンドを使用してファイルを開きます:
$ sudo nano php_ini_file
たとえば:
$ sudo nano /etc/php/7.2/apache2/php.ini
ステップ 3: php.ini ファイルを変更する
記事の最初で述べたように、大部分のウェブサイトまたはウェブアプリケーションではデフォルトの PHP 設定が機能するかも知れません。
ほとんどの場合、以下の PHP 設定を編集することになります:
PHP max_execution_time
これは PHP スクリプトが終了するまでに実行可能な最大時間を秒単位で設定するものです。 時には、数分間実行されるべき要求の多いスクリプトがあり、この値を変更する必要があります。 デフォルト値は 30 秒ですが、より大きな値を設定することができます。
デフォルト値:
max_execution_time =30
任意の値に変更 例: 1800
max_execution_time =1800
PHP upload_max_filesize
このディレクティブのデフォルト値は 2M (two Megabytes) です。 この値は、PHP スクリプトを使用してアップロードするファイルの最大サイズを制御します。
たとえば、phpMyAdmin を使用して大きなデータベースをアップロードする場合、この値を変更することが必要になります。
デフォルト値:
upload_max_filesize=2M
大きな値に変更 例: 16M
upload_max_filesize=16M
PHP post_max_size
この値はポスト データで許可されるデータ量を制限します。 通常、多くのウェブフォームを使用する PHP スクリプトに影響します。 また、この値はPHPスクリプト経由でアップロードされるファイルを制御するため、常に ‘upload_max_filesize’ よりも大きくする必要があります。 post_max_size’ のデフォルト値は 8M です。
post_max_size =8M
デフォルト値:例:
post_max_size =32M
PHP memory_limit
PHP 7.2 ‘memory_limit’ のデフォルト値は128Mです。 時々、不完全に書かれたPHPスクリプトがサーバーのメモリを大量に消費し、VPS上で動作している他のアプリケーションに影響を与えることがあります。 これを避けるために、PHP の ‘memory_limit’ はスクリプトに割り当てられるメモリの量を制御します。
デフォルト値
memory_limit = 128M
カスタム値例
memory_limit = 256M
また、VPSで利用できるRAMに応じて、PHPスクリプトに無制限のメモリを割り当てたい場合は、-1を使用できます
memory_limit = -1
PHP エラー報告設定
以下の指示文を使用すると、PHPでエラー報告の動作を制御することができます。
display_errors:> この値を ‘On’ または ‘Off’ に設定し、スクリプトの実行時にエラーを表示するかどうかを決定します。 PHP 7.2 では、デフォルト値は ‘Off’
display_errors = Off
値を ‘On’ に変更することにより、エラー報告を有効にすることができます:
display_errors = On
log_errors: この値は、スクリプトからのエラーをサーバーのログ ファイルに保存するかどうかを指定します。 実稼働環境では、一般ユーザにエラーを表示する代わりに、ログに記録する必要があります。 PHP 7.2 のデフォルト値は ‘On’
log_errors = On
値を変更することにより、エラーログをオフにすることができます:
log_errors = Off
error_reporting.On: この値を変更することにより、エラーログをオフにすることができます。 このディレクティブは、エラーの報告レベルを指定します。 PHP 5.3 以降のバージョンでは、デフォルト値は ‘E_ALL & ~E_DEPRECATED & ~E_STRICT’
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
報告させたいエラーに応じて値を変更することができます。 例えば、Noticeを含めるには、以下の値を使用します
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE
PHP Date/Time settings
また、PHPスクリプトが使用するデフォルトのタイムゾーンを変更することもできます。 PHPの公式サイト(http://php.net/manual/en/timezones.php)でサポートされているタイムゾーンの一覧を確認できます。
例えば、タイムゾーンをニューヨークに変更したい場合は、以下の値を使用します。
date.timezone= "America/New_York"
php.iniファイルの編集が終わったら、CTRL + X、Y、 Enterを押して変更を保存してください。 また、以下のコマンドを使用して、設定を再読み込みするためにApacheを再起動する必要があります:
$ sudo service apache2 restart
Conclusion
このガイドでは、Ubuntu 18.04 サーバーの PHP 設定を見つけ出して編集する方法について述べました。 また、WebサイトやWebアプリケーションのパフォーマンスを最適化するために調整すべき基本的な設定についても説明しました。 PHPの設定ファイルを変更することで、Webサイトをよりスムーズに運用できる環境になると信じています
。