How to Edit PHP Settings in Apache on an Ubuntu 18.04 VPS or Dedicated Server

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サイトをよりスムーズに運用できる環境になると信じています

コメントを残す

メールアドレスが公開されることはありません。