トラブルシューティング

PHP 拡張機能と設定

Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.

KapsuleHost ウェブホスティングが提供する PHP バージョンと拡張機能、自分で変更できる設定、および変更が反映されるまでに最大 5 分かかる理由について説明します。

サイトに関する PHP のすべての設定は 1 つの場所にあります: Websites をクリックし、サイトをクリックして、Advanced を選択してから PHP をクリックします。このページには、バージョン選択ツール、変更可能な設定、Composer ランナー、および PHP エラーログが表示されます。

KPanel のサイト PHP タブ

PHP バージョンの選択

4 つのバージョンから選択できます: 8.4, 8.3, 8.2, 8.1。新しいサイトのデフォルトは 8.3 です。

ソフトウェアが実際にサポートしている最新バージョンを選択してください。新しい PHP はかなり高速であり、セキュリティ修正がより長期間サポートされます。最新バージョンにすぐに移行しない理由は互換性です: 数年前に書かれた古いプラグインやカスタムコードは、テストされたことのないバージョンでは完全に動作しなくなる可能性があります。

変更するには、バージョンを選択して Apply Version をクリックします。再起動の必要がなく、ダウンタイムなしで変更が即座に反映されます。

ステージング環境で先に PHP バージョンを変更し、サイト全体をクリックして確認してから、本番環境で変更してください。本番環境で変更する必要がある場合は、監視できるときに実行し、前のバージョンに戻すのは 1 クリックだけだと知っておいてください。ステージング環境を参照してください。

バージョン変更がサイトを破損した場合は、前のバージョンに戻してログを読んでください。エラーは実行できなかったファイルを指します。PHP バージョンの変更エラーログを参照してください。

変更できる設定

PHP ページには 5 つの設定がドロップダウンとして表示されます。これらは実際に問題を引き起こす設定であり、表示される理由はそのためです。

設定デフォルト利用可能な値制御内容
memory_limit256M128M, 256M, 512M, 1024M, 2048M1 つのリクエストが使用可能なメモリ量
max_execution_time3030, 60, 120, 300, 6001 つのリクエストが実行できる秒数
upload_max_filesize64M16M, 32M, 64M, 128M, 256Mアップロード可能な単一ファイルの最大サイズ
post_max_size65M17M, 33M, 65M, 129M, 257Mフォーム送信の最大合計サイズ
max_input_vars30001000, 3000, 5000, 100001 つの送信に含められるフィールド数

必要な場合:

  • 特定のサイズ以上のアップロードが失敗する: upload_max_filesize を上げ、post_max_size も一緒に上げます。
  • 大きなフォームまたはページビルダーが保存時にフィールドを失う: max_input_vars を上げます。これは見えないのでイライラします。エラーが出ないため、余分なフィールドは黙って破棄されます。
  • ページがエラーなしで途中で停止する: memory_limit を上げます。WordPress メモリ制限を参照してください。
  • 大規模なインポートまたはエクスポートがタイムアウトする: max_execution_time を上げ、コマンドラインからジョブを実行することを検討してください。WP-CLIを参照してください。

post_max_sizeupload_max_filesize より大きくする必要があります。アップロードは POST の内部を移動するからです。この条件が満たされていない組み合わせを選択した場合、プラットフォームは post_max_size を自動的に上げます。これが選択しなかった値を表示する理由です。

変更が最大 5 分かかる理由

これはこのページで最も一般的な混乱であるため、正確に説明する価値があります。

設定はサイトのドキュメントルートにある .user.ini ファイルに書き込まれます。PHP はそのファイルを読み込み、300 秒間キャッシュします (5 分)。そのキャッシュが期限切れになるまで、PHP は前の値を使用し続けます。

そのため、変更を保存した後:

  • ページは最大 5 分間、古い制限を報告します。
  • phpinfo() は最大 5 分間、古い制限を報告します。
  • ハード更新は役に立ちません。ブラウザキャッシュをクリアしても役に立ちません。
  • 何かを再起動する必要がなく、再起動することもできません。待つだけです。

5 分以上経過してもその値が変わっていない場合は、本当に何か問題があり、サポートチケットを開く価値があります。

.user.ini を自分で編集する

SFTP または SSH 経由で .user.ini を直接編集することができます。プリセットされていないディレクティブが必要な場合などに便利です。サイトのドキュメントルートに置かれます。SFTP アクセスを参照してください。

形式は 1 行に 1 つのディレクティブです:

memory_limit = 512M
max_execution_time = 120

.user.ini でできることに関する 2 つの重要な制限があります:

PHP がディレクトリごとまたはユーザーごとに設定することを許可するディレクティブに限定されます。 上記の 5 つはすべてこれに該当します。disable_functions などシステムレベルでのみ設定できるディレクティブ、または extension= で拡張機能を読み込むことは、.user.ini ファイルで無視されます。エラーは出ませんが、単に何もしません。これが人々が午後を費やす理由です。

パネルは単純なキーのみを読み込みます。 opcache.enabledate.timezone などドット付きのディレクティブは PHP で有効ですが、パネルフォームに表示されません。手動で設定してから後でパネル経由で何かを変更した場合は、その後ファイルを確認してください。

Kapsule ウェブホスティングは Apache ではなく nginx を実行しています。.htaccess ファイルは誰にも読まれません。.htaccess ファイルに配置された PHP ディレクティブ (php_value memory_limit など) は、ここでは全く機能しません。.user.ini またはパネルを使用してください。WordPress と .htaccessを参照してください。

利用可能な拡張機能

標準ビルドは広範であり、WordPress、WooCommerce、およびほとんどの PHP アプリケーションが要求するすべてを含めています。

データベース: mysqli, pdo_mysql, sqlite3, pdo_sqlite 画像: gd, imagick, exif キャッシング: Zend OPcache, redis, memcached テキストとロケール: mbstring, iconv, intl, gettext, ctype XML とデータ: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json ネットワーク: curl, soap, sockets, ftp, openssl 数学と暗号: bcmath, sodium, hash, random ファイルとシステム: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer

知る価値のあるバージョン差: imap 拡張機能は 8.3 以前に存在していますが 8.4 にはありません。このリリースで PHP 自体から削除されたためです。アプリケーションがまだこれを必要とする場合は、8.3 にとどまるか、そのアプリケーションを最新のメールライブラリに移動してください。

インストールされていない: PostgreSQL ドライバー、MongoDB、Xdebug、mcrypt、ionCube と SourceGuardian などの商用コードローダー。

パネルから拡張機能を有効または無効にすることはできません。アプリケーションが リスト内にないものを必要とする場合は、チケットを開いて実行しているものを説明してください。それを追加できるかどうかは拡張機能によって異なります。サポートチケットを開くを参照してください。

実際に読み込まれているものを確認する

推測する代わりに:

  • WordPress 上: Tools、Site Health、Info、Server の順にクリックします。PHP バージョンと関連する制限が表示されます。
  • SSH 経由: php -v でバージョンを確認し、php -m で読み込まれた拡張機能を確認します。SSH キーを追加を参照してください。

phpinfo() ファイルをウェブルートに残さないでください。パス、拡張機能、設定を見つけた人に公開し、自動スキャナーはまさそのファイル名を探しています。確認するために作成したら、その直後に削除してください。

関連ガイド

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く
PHP 拡張機能と設定