1

そこから MysqliDb Class を使用しています。

https://github.com/ajillion/PHP-MySQLi-Database-Class/blob/master/MysqliDb.php

ローカルPCで使用したときは問題ありませんでした。しかし、私は昨日ホストを購入しました。そして、約5分前にファイルをアップロードしましたが、機能しません。ホストを確認し、error_log ファイルを作成しました。

PHP Fatal error:  Allowed memory size of 75497472 bytes exhausted (tried to allocate 4294967296 bytes) in /home/(..)/MysqliDb.php on line 417

この問題は何ですか?

このコードを構成ファイルで使用しました。しかし、同じようには機能しませんでした。

ini_set('memory_limit', '192M');
4

2 に答える 2

-1

ini_setサーバーの制限に影響を与えるコマンドはブロックされる傾向があります (そのため、エラーの表示などに関連するものしか使用できない場合があります)。

4.2 Gb を割り当てようとしていることに注意してください。これは、Web サイトにとってかなり大量の情報です。

推奨事項:

  • その大量の情報をロードしようとする無限ループを作成しているかどうかを確認してください (そのクラスだけでなく、独自のコードでその呼び出しの前に)。
  • より軽量なmysqliクラスを使用してください (デフォルトで PHP 5 に付属するものを試しましたか?)
  • あなたの問題が別の方法で解決できるかどうかを確認してください(おそらく非同期ですか?その量のメモリはWebサイトにとって非常識です)、おそらくCやC ++などの別の言語を使用して、Apacheから負荷を解放します。
  • ホスティング プロバイダーに相談し、4.2 Gb のデータをロードできるように説得してください。
于 2013-04-02T12:12:34.397 に答える