0

到目前为止,我只在 Visual Studio 中使用过这个 web.config。但是,我现在正尝试将我的网站发布到 IIS,并且存在与我的 web.config 相关的错误。它似乎在模块的配置数据上崩溃。

<?xml version="1.0"?>

<configuration>
    <system.web>
      <compilation targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
  <phpNet>
    <classLibrary>
      <add assembly="php_mcrypt.mng, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="mcrypt" />
      <add assembly="php_curl.mng, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4ef6ed87c53048a3" section="curl" />
    </classLibrary>
    <scriptLibrary/>
  </phpNet>

</configuration>

错误:

在此处输入图像描述

此屏幕截图是在尝试双击 IIS 的“功能视图”中的任何“功能”时出现的。但是,如果我只是通过浏览器访问该网站,则错误是相同的:

无法读取配置部分“phpNet”,因为它缺少部分声明

phpNet 用于Phalanger,应该安装扩展,但我不知道如何检查。就像我说的那样,这个 web.config 和 phalanger 在 Visual Studio 中运行良好,所以我不知道出了什么问题。特别是因为安装程序确实在 iis 中安装了示例。

4

2 回答 2

1

您缺少配置节定义

<configSections>
<section name="phpNet" type="PHP.Core.ConfigurationSectionHandler, PhpNetCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=0a8e8c4c76728c71" />

没有这个,.NET 不知道 'phpNet' 配置部分。

这也意味着,您没有使用 setup.exe 安装 Phalanger。这里有一些关于在没有正确安装的情况下使用 Phalanger 的信息(重要的是关于配置的部分)http://www.php-compiler.net/blog/2011/installation-free-phalanger-web

于 2012-11-13T08:55:05.343 回答
0

我发现这个帖子http://crdevelopment.net/2012/06/12/fixing-iis-error-the-configuration-section-system-web-extensions-cannot-be-read-because-it-is-missing- a-section-declaration/

这导致我检查应用程序池。 在此处输入图像描述

在这一点上,我注意到那里有倍数。我选择了 phalangerAppPool 并摆脱了我的错误,但带来了一个新的错误。

处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

然而,这个错误更容易解决(修复

于 2012-11-12T16:36:40.887 回答