0

多くのメモリを必要とする特定の PHP スクリプトを実行すると、「メモリ不足 (割り当てられた 137887744) (93 バイトを割り当てようとしました)...」というエラーが発生します。

私が知っているすべての場所でこれを増やしてみました..

php.ini、php.iniをローカルフォルダに複製してここに増やしました。スクリプトファイルなどで ini_set() をオンにします。

phpinfo によると、メモリは 512M です。

メモリを増やすためにできることの提案はありますか?

ありがとう、マーティン。

4

2 に答える 2

0

これは、PHP 自体が原因ではありません (Pekka がコメントで述べているように)。ini設定からのエラーメッセージは、「許可されたメモリ」を超えていることを示しており、これはまっすぐな「メモリ不足」です。ini 設定を変更しても機能しません。

優先度 1 は、スクリプトをチェックすることです。画像や非常に大きなファイルを処理しない限り、そのメモリ要件に近づくことはできません。最初にそのビットを再確認してください。

オプション 2: Apache / PHP が動作するためのメモリを許可する必要があります (スクリプトを最適化できないと仮定します。おそらく VPS を実行しているか、ユーザーが使用できるメモリに対するその他の制限があります。"limits" というファイルがあります)。 .conf" (詳細はセキュリティ ディレクトリにありman limits.confます) と、ユーザーごとに制限できるメモリ管理アプリケーション smem があります。ホスティングに行って、それらを増やしてください。ただし、共有サーバーを使用している場合は、理由とおそらくアップグレードしてほしいです!

于 2012-11-24T11:54:05.133 に答える
0

多分これは誰かを助けるでしょう。同じ問題がありました。私が読んだすべてのことは、これがApacheのRLimitMEM設定によって引き起こされたことを示していました. これで問題は解決しませんでした。何日も髪を抜いた後、 /usr/local/apache/conf/rlimit-config を見つけて編集することで、最終的に問題を修正しました

于 2013-06-10T21:31:45.730 に答える