HTTP错误500.0 - 内部服务器错误发生未知的FastCGI错误

时间:2011-05-30 12:08:15

标签: php iis iis-7.5

我正在使用Plesk 10在Windows Server 2008上运行IIS7。我的网站在plesk下,网站不在plesk下,只在IIS上。 plesk下的网站成功运行php文件,但另一个网站出错:

  

HTTP错误500.0 - 内部服务器
  错误发生未知的FastCGI错误

     

模块FastCgiModule
  通知ExecuteRequestHandler
  处理程序PHP5-FastCGI-php
  错误代码0x8007010b
  请求的URL http://*.com:80 / test.php物理
  路径C:\ IIS * .com \ test.php
  登录方法匿名
  登录用户匿名

PHP5-FastCGI-php的配置与plesk下的网站完全相同。 php-cgi.exe位于C:\ Program Files(x86)\ Parallels \ Plesk \ Additional \ PleskPHP5 \

修改 这是我的php.ini,但我没有收到任何错误。

error_reporting = E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
log_errors = On
error_log = "C:\Program Files (x86)\...\log\test.log"
error_log = syslog

6 个答案:

答案 0 :(得分:9)

授予阅读&对文件夹所有人执行列出文件夹内容

C:\ Program Files(x86)\ Parallels \ Plesk \ Additional \ PleskPHP5

现在php已启动并运行每个应用程序池。 plesk的主要问题是,只有使用作为psacln成员的用户的应用程序池标识运行的站点。

答案 1 :(得分:2)

我认为比授予EVERYONE更好,就是授予内置IIS组“IIS_IUSRS”读取,读取和执行以及列出PHP文件夹中的文件夹内容。

答案 2 :(得分:2)

我遇到了同样的问题,并寻求解决方案2天。这是反复试验。 错误代码为0x8007010b。 在IIS日志中

#Fields: ... sc-status sc-substatus sc-win32-status time-taken
         ... 500       0            267             4

错误0x8007010b和267(使用命令NET HELPMSG 267)都说The directory name is invalid.

解决方案:

  1. 授予IUSR完全访问权限:
    • 我的webapp文件夹
    • 包含要运行的可执行文件的文件夹(在我的情况下为python.exe)
  2. 在IIS中,转到->身份验证(双击它)->选择匿名身份验证(应启用)->编辑...->选择“特定用户”集IUSR
  3. 选择根IIS(单击)->身份验证(双击它)->选择“匿名身份验证”(应启用)->编辑...->选择“特定用户”集IUSR

执行步骤1-3后,错误500.0消失了。在我的情况下,缺少第3步。我认为这是一个重要的细节。

希望有帮助!

答案 3 :(得分:0)

尝试在日志中查找更多信息。 然后尝试在面板的目录中找到所有* .log文件。那些有最新修改时间的人应该有机会。

日志只能在php.ini中定义。尝试搜索它们 - 不信任任何* .ini文件:)

答案 4 :(得分:0)

我遇到了同样的问题。一旦我尝试进入phpmyadmin页面,它就会给我500错误响应。解决这个问题:

步骤1)你要在php.ini(在php文件夹中)启用扩展名“extension = php_gd2.dll”,“extension = php_mbstring.dll”和“extension = php_mysql.dll”(如果你这样做了)那已经转到第二步了。)

步骤2)在c中创建一个名为“temp”的文件夹,在该文件夹中创建另一个名为“phpsessions”的文件夹,执行此操作后转到php.ini(在php文件夹中)并查找“session.save_path” 并使用您创建的php会话的位置替换引号之间的任何内容,即“C:\ temp \ phpsessions”,并且不要忘记取消注释;

祝我的伙伴们好运:P

答案 5 :(得分:0)

前言:此解决方案适用于我的 Python Flask 应用程序

如果您的文件权限正确,问题可能出在您的应用程序池设置中。

  1. 转到 IIS 管理器
  2. 点击您服务器的 Application Pools 标签
  3. 点击Set Application Pool Defaults...
  4. Identity 下的 Process Model 设置为 LocalSystem

未来的读者,我花了几天时间寻找这个问题的解决方案。希望这能在很短的时间内解决您的问题:)