web-dev-qa-db-ja.com

PHPはIIS

1つのサイトをLinuxからWindowsに転送したところ、奇妙な致命的なエラーメッセージが表示されます。私のLinux PHPには256MBのメモリ制限があり、「メモリ不足」の致命的なエラーは1つもありませんでした。

今IIS同じメモリ制限がありますが、受信しすぎています

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32508940 bytes) in C:\...\functions.php on line 0

私は何が起こるかを見るために(400MB)を増やしようとしました、そしてこれは私が得たものです

PHP Fatal error:  Allowed memory size of 419430400 bytes exhausted (tried to allocate 65013862 bytes) in C:\....\dbfunctions.php on line 1073741824

奇妙なことに、それは同じアプリケーション、同じメモリ制限設定です。また、2番目のエラーが「1073741824行目」と表示されているのも奇妙ですが、そのファイルには500行あります。これはWindows/IIS/PHPの問題ですか?

私の構成:IIS 8.0、PHP 5.3.28、PHPハンドラーphp-cgi.exe

PHP用のWindowsキャッシュ拡張機能

Phpのハードメモリ制限を設定するPHP)のWindowsキャッシュ拡張機能を中心に展開する問題が多数あるようです。

Microsoft IIS.netの記事

Wincacheを削除すると問題が解決する例やブログ投稿がありますが、これはサイトのパフォーマンスに悪影響を与える可能性があります。

似たようなwincacheに関連する問題の例

IISのメモリの管理PHP

  • _php.ini_-ルートフォルダにあります。 TextPadで編集し、momory_limitの値を変更します。 4Mでは8Mまででは不十分な場合など。

  • _admin.php_(エラーがここにある場合)で、12MBのメモリが追加しようとしている場合は、_ini_set 'memory_limit', '12M'_の後にメモリ制限行を追加します

  • _.htaccess_に行を追加できます:_php_value memory_limit 32M_

  • _wp-config.php_はメモリを制御できます。あなたはこのように見える線を入れます

    define('WP_MEMORY_LIMIT', '32M');

Phpbb.comおよびtechnet.Microsoft.comから取得した情報

4
Citizen