WebサーバーでNextcloudのPHPメモリ警告をクリアする

Nextcloudの管理画面でPHPメモリ制限が512MB未満と表示されている場合、値を適当に増やしてもphp.ini警告が解消されない可能性があります。NextcloudはWebインターフェースを提供するPHP環境をチェックしますが、コマンドラインPHPは異なる設定を読み込む可能性があるためです。memory_limitアクティブなWeb PHPサービスに対して値を設定し、そのサービスを再起動してから、Nextcloudの管理画面で値を確認してください。

Nextcloud 35の管理マニュアル(2026年10月10日確認)によると、PHPのメモリ制限は最低でも512MBに設定すべきとのことです。これはスクリプトごとの上限値であり、すべてのPHPプロセスが必ずしもその量を使用するという保証ではありません。上限値を引き上げることで、メモリを大量に消費するリクエストの処理を完了させることはできますが、物理的なRAMが増えるわけではありません。小規模なサーバーでは、同時実行されるPHPワーカーが多すぎると、システムメモリが枯渇してしまう可能性があります。

まず、NextcloudがPHPをどのように実行しているかを確認します。

設定を編集する前に、WebスタックとPHPのバージョンを確認してください。Nextcloud管理画面の概要にPHPのバージョンが表示されている場合は、それをメモしておきましょう。シェル上では​​、php --iniコマンドラインPHPバイナリで使用される設定ファイルが表示されますが、PHP-FPMまたはApacheがブラウザリクエストに使用するファイルを特定するものではありません。

php --version
php --ini

一般的な Debian または Ubuntu 環境では、PHP-FPM は と読み取られることが多く/etc/php/<version>/fpm/php.ini、Apache の mod_php は と読み取られることが多いです/etc/php/<version>/apache2/php.ini。CLI 設定は通常 にあります/etc/php/<version>/cli/php.ini。は<version>、インストールされている PHP のバージョン (例: ) に置き換えてください8.3。他のオペレーティングシステムやコントロールパネルでは、パスが異なる場合があります。

Nextcloudのマニュアルには、AIO、Snap、NCP、Community Dockerなどのターンキーデプロイメントでは、PHP環境が事前に設定されていることも記載されています。これらのインストールでは、ホストレベルの設定がphp.ini適用されると考えるのではなく、デプロイメントでサポートされている設定方法を使用してください。

ウェブPHPのメモリ制限を512MB以上に設定してください。

PHP-FPMとNginxまたはApache

アクティブな FPM 設定をバックアップしてから、そのファイルを編集しますphp.ini。Debian または Ubuntu では、コマンドは次のようになります。バージョンとパスをサーバーに合わせて変更してください。

sudo cp /etc/php/8.3/fpm/php.ini /etc/php/8.3/fpm/php.ini.backup
sudo nano /etc/php/8.3/fpm/php.ini

既存のmemory_limitディレクティブを見つけて、少なくとも512MBに設定してください。

memory_limit = 512M

競合する複数のコピーを追加するのではなく、既存のディレクティブを編集してください。PHP-FPM プール構成で が設定されている場合php_admin_value[memory_limit]、そのプールレベルの設定が優先されることがあります。警告が解消されない場合は、アクティブなプール ファイルを確認してください。

対応する PHP-FPM サービスを再起動して、新しい Web リクエストが更新された設定を使用するようにします。たとえば、サービス名は次のようになりますphp8.3-fpm。

sudo systemctl restart php8.3-fpm

ApacheがPHP-FPMを使用している場合は、PHP-FPMを再起動し、Webサーバーの設定も変更した場合にのみApacheをリロードまたは再起動してください。ディストリビューションの正しいサービス名を使用してください。

mod_php を使用した Apache

ApacheがPHPをモジュールとしてロードする場合、Apache SAPIの設定を編集します(通常/etc/php/8.3/apache2/php.iniはDebianまたはUbuntu)。 を設定しmemory_limit = 512M、ファイルを保存して、お使いのオペレーティングシステムのサービス名を使用してApacheを再起動します。

sudo systemctl restart apache2

アクティブなWebサーバーがmod_phpを使用している場合、FPMファイルを編集しないでください。また、その逆も同様です。管理画面の概要に関する警告には、Webサーバーによって読み込まれるPHP設定が関係します。

公式Nextcloud Dockerイメージ

公式の Nextcloud Docker イメージにはPHP_MEMORY_LIMIT、デフォルト値が の環境変数が記載されています512M。Compose ファイルまたはその他のコンテナデプロイメント構成でこの環境変数を設定し、そのデプロイメント方法を使用してコンテナを再作成または更新してください。実行中のコンテナ内で手動で編集した内容は、コンテナが置き換えられると失われる可能性があります。他のイメージやオーケストレーション プラットフォームでは異なる設定が使用される場合があるため、実際に実行するイメージのドキュメントを参照してください。

変更がウェブインターフェースに反映されているか確認してください。

管理者としてサインインし、「管理設定」>「概要」を再度開きます。メモリ警告が消えていること、および報告されているPHP制限が512MB以上であることを確認してください。サービスを再起動した後、ページを更新してください。以前に読み込まれたページは、古い状態のまま表示される場合があります。

それでも低い数値が表示される場合は、以下の考えられる原因を順番に確認してください。

  • SAPIが間違っています: CLIファイルは変更されましたが、PHP-FPMまたはApacheは別の設定を使用しています。
  • PHPのバージョンが間違っています。現在稼働しているWebサービスは、あなたが編集したバージョンとは異なるバージョンで動作していますphp.ini。
  • 上書き: FPMプール、ホスティングコントロールパネル、またはローカルPHP構成がグローバル設定を上書きします。
  • サービスが再起動されませんでした。既存のPHPワーカーは、以前の設定を引き続き使用しています。
  • コンテナ構成:編集されたホストファイルがコンテナにマウントされていないか、環境変更後にコンテナが再作成されていません。

CLI の出力はphp --inicron や OCC ジョブには役立ちますが、それ自体では Web 値を検証することはできません。phpinfo()サーバー上に公開ページを放置することは避け、代わりに保護された Nextcloud 管理画面の概要ページ、またはホストのセキュア診断ツールを使用してください。

上限値が高くても不十分な場合

Nextcloudの512MBという推奨値は、あくまで最小構成の目安であり、普遍的なサイジング方式ではありません。大規模なプレビュー、インポート、またはアプリ固有の操作では、より多くのメモリが必要になる場合がありますが、制限を大幅に引き上げると、各PHPプロセスが消費するRAMが増える可能性があります。ホストがスワッピングを開始したり、オペレーティングシステムがPHPワーカーを終了したりする場合は、プロセスごとの制限をさらに引き上げるのではなく、PHP-FPMの同時実行数を減らすか、メモリ容量を追加してください。より高い値を選択する前に、通常のピーク時の実際のRAM使用量を確認してください。

警告が消えても元の操作が失敗する場合は、Nextcloudのログ、Webサーバー、またはPHP-FPMのログで、より具体的なPHPエラーを探してください。メモリ制限の警告は、PHPのプロセスごとのメモリ割り当て上限に関するものであり、無関係なアップロード制限、タイムアウト、ディスク負荷、またはアプリケーションエラーを診断するものではありません。

公式資料

コメントを残す

Nextcloudのウェブアップロード制限を2GB以上に引き上げる

Nextcloudのウェブアップロード制限を2GB以上に引き上げる

PHP、Nginx、Apache、一時ストレージ、タイムアウトの設定を調整することで、Nextcloudブラウザからのより大きなファイルアップロードを可能にし、どの制限がファイルのアップロードを妨げているかを確認してください。

WebサーバーでNextcloudのPHPメモリ警告をクリアする

Nextcloudが実際に使用するPHPメモリの制限を設定し、該当するサービスを再起動して、管理画面の概要で512MBの設定を確認してください。

S3互換バケットをNextcloud外部ストレージに接続する

NextcloudのS3バックエンドを使用して、適切なエンドポイント、認証情報、アクセス範囲、および検証手順を設定し、互換性のあるオブジェクトストレージバケットをマウントします。

ストレージを壊さずにNextcloudデータを外部ドライブに移動する方法

ストレージを壊さずにNextcloudデータを外部ドライブに移動する方法

永続的なUUIDマウント、メンテナンスモード、検証済みコピー、および元のパスのシンボリックリンクを使用して、Linux Nextcloudのデータディレクトリを安全に外部ドライブに移動します。

Nextcloudのアップデート後に発生したデータベースエラー:最初に確認すべきこと

SQLエラーの診断、データベース接続の確認、中断された移行の安全な完了を行うことで、アップデート後にNextcloudへのアクセスを復元します。

OCCを使用してNextcloudの管理者パスワードをリセットする

NextcloudのOCCコマンドを使用して、サーバーシェルから管理者パスワードをリセットする方法を説明します。ユーザー名、権限、外部ログインプロバイダーに関するガイダンスも含まれています。

Nextcloudを提供するHTTPSエンドポイントにHSTSヘッダーを追加する

NextcloudのHSTS警告を解消するには、Apache、NGINX、またはTLSプロキシでヘッダーを設定し、公開HTTPS応答が安全に動作することを確認してください。

インターネット接続がないと報告されるNextcloudアプリのインストールに関するトラブルシューティング

インターネット接続がないと報告されるNextcloudアプリのインストールに関するトラブルシューティング

App Storeのインストール失敗の原因を、DNS、HTTPS、プロキシ、TLS、またはNextcloudサーバー自体の設定の問題に絞り込んでください。

スケジュールされたキューを使用して、NextcloudプレビューのCPUスパイクを抑制する

サムネイル作成作業を制御されたバックグラウンドスケジュールに移行し、使用されていないプレビューサイズをトリミングし、Nextcloudサーバーに過負荷をかけることなくキューを検証します。

Nextcloudデスクトップ同期で「ファイルの処理中」を解消しましょう

Nextcloudの同期を妨げているファイル、除外ルール、接続の問題、またはクライアントデータベースの状態を特定し、アップロードとダウンロードが安全に行われることを確認します。