phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
phpの許容メモリサイズ134217728バイト枯渇問題の解決方法
報告されたエラー
致命的なエラーです。xxxx/mysqli_result.php の行 183 で、134217728 バイトの許容メモリサイズを使い果たしました (128 バイトを割り当てようとしました)。
パースしています。
134217728/1024/1024 = 128
解答1.
ini_set関数で設定オプションの値を変更する。
ini_set('memory_limit','256M'); //メモリを256Mにアップグレードする。
解決策2.
1. php.iniを修正する
phpの設定を変更する
vi /usr/local/php/etc/php.ini
memory_limit = 128 を memory_limit = 256 に変更。
php-fpmの再起動
/etc/init.d/php-fpm を再起動します。
Nginxの再始動
サービス nginx restart
PHP5では、memory_limitの設定が従来の8Mから128Mに拡張されました。
設定での定義は、以下のように説明されています。 memory_limit = 128M ; スクリプトが消費できる最大メモリ量 (128MB) シングルスレッドでのスタンドアロンメモリ使用量の最大値です。
つまり、Webリクエストのためにスレッドに与えられるメモリ使用量の上限を定義したものです。
memory_limitのメモリ割り当て、標準は128Mです。スタンドアロンスレッドが128Mを超えたら、PHPはエラーを報告します。致命的なエラーです。Allowed memory size of 33554432 bytes メモリ8Gのサーバーで、同時応答が50に達し、それぞれが128Mのピークに達した場合、サーバーが動かなくなるのもこの時だと思います。
128Mのメモリ構成を減らそうとすると、64Mに調整すれば基本的にサーバーの負荷は半分くらいになりますし、32Mに調整できればさらに良くなりますね。しかし、アプリケーションに求められる要件はもっと高く、最初からこのことを意識して構築されていないテーブルも少なくありません。データのストレージとしてmemcacheを使うのであれば、事前にデータテーブルの設計と配置の最適化を済ませておき、PHPの独立スレッドのメモリ使用量を減らすと、数%の効果以上にサーバーのレスポンスと負荷が軽減されるはずです。
私のWeChat公開アカウントです。心禅道(xinchandao)
私のWeChat公開アカウントです。双色球预测合买 (ssqyuce)
関連
-
[解決済み】警告。数値でない値に遭遇しました
-
[解決済み] Optionsディレクティブで禁止されているディレクトリのインデックス
-
[解決済み] PHP - 文字列から数字以外の文字をすべて削除する [重複].
-
[解決済み] phpでsplit()のエラーを修正する方法は?[重複しています]。
-
[解決済み] Composerの[ComposerDownloader⇄TransportException]エラーの修正方法
-
[解決済み] 接続の取得に失敗しました: php_network_getaddresses: getaddrinfo に失敗しました。名前またはサービスが不明
-
[解決済み] php_network_getaddresses: getaddrinfo に失敗しました。名前またはサービスが不明
-
[解決済み] PHPでURLの検証を行う [重複]。
-
[解決済み] localhost/xampp/index.phpにアクセスできません。
-
php_network_getaddresses: getaddrinfo に失敗しました。名前またはサービスが不明
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み] $wpdb->update または $wpdb->insert を実行すると、引用符の前にスラッシュが追加される
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] WooCommerceの注文明細を取得する方法
-
[解決済み] Bootstrap 4のGlyphiconが表示されない理由 [重複]について
-
[解決済み] mysqli_connectが動作しない。
-
[解決済み] 子のインスタンスから親の関数を呼び出すには?
-
[解決済み] laravelでリターン付きの外部URLにリダイレクトする。