所有的PHP网站停止在IIS7上工作,内部服务器错误500

我在Windows Server 2008上使用Web平台安装程序安装了多个drupal 7站点。

直到知道他们的工作没有任何问题,但最近内部服务器错误500开始出现(每一个这么多的请求一次),现在它发生的所有请求到任何的PHP网站。

没有太多的细节可以继续下去,在工作的时间和现在的时间之间没有任何变化(无论如何我也不知道)

日志文件充满了消息,如

[09-Aug-2011 09:08:04] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:08:16] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:08:16] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:08:20] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:08:22] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:08:51] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:09:56] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:09:57] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:12:13] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:15:09] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:15:09] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:21:28] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 [09-Aug-2011 09:21:28] PHP Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 261904 bytes) in Unknown on line 0 

我曾尝试增加php.ini中的内存限制:

 memory_limit = 512MB 

但是,这似乎也不能解决问题。

这是IIS中的全局phpconfiguration当我逐个查看网站时,我注意到PHP似乎已被禁用。

PHP未启用。 注册新的PHP版本以通过FastCGI启用PHP

所以我试图再次注册PHP版本

 C:\Program Files\PHP\v5.3\php-cgi.exe 

但是,当我尝试应用我得到的变化

执行此操作时发生错误详细信息:由于对象的当前状态,操作无效

除此之外似乎没有任何其他信息。 我不知道为什么突然的PHP不再为这些网站提供。

PS:我已经重新启动IIS,服务器等…此服务器托pipe在亚马逊S3,所以我给了服务器更多的权力

更新这些似乎是两个不同的问题

  1. 我用memory_limit = 128MB而不是memory_limit = 128M
    注意“M”而不是“MB”
  2. 128M的memory_limit是不够的,不得不增加到512M

第一个问题导致每个请求的内部服务器错误。

增加到512MB似乎解决了一段时间的问题,但一段时间后,服务器错误返回。 请注意,IIS内部的PHPpipe理器仍然显示没有PHP可用于站点(全局configuration确实将其视为可用)

所以这个问题还没有解决

    你可以尝试安装IIS的PHPpipe理器,看看PHP是否为您的网站正确configuration?

    在这里下载, http://phpmanager.codeplex.com/

    希望这可以帮助。 -标记

    Drupal全新的安装应该不需要太多的内存。 大多数havy页面是'/ modules'。 如果任何其他页面需要更多的内存,这意味着一个缓慢/错误/错误的代码被添加到网站。 它可能是第三方模块或较慢的SQL查询。

    尝试这个:

    • 进入PHP状态页面(admin / reports / status / php)并检查内存限制。
    • 内存限制也可以在settings.php文件和.htaccess文件中设置。 检查这些文件。
    • 安装devel模块。 启用显示缓慢的SQL查询并分析它们。 一旦你发现一个坏模块只是禁用它,并再次检查内存使用情况和SQL查询。