到目前为止,我只在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中安装了样本。
答案 0 :(得分: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
答案 1 :(得分:0)
这让我检查了应用程序池。
此时我注意到那里有倍数。我选择了phalangerAppPool并且摆脱了我的错误,但带来了一个新的。
处理程序“PageHandlerFactory-Integrated”有一个错误的模块 模块列表中的“ManagedPipelineHandler”
但是,该错误很容易解决(fix)