如何确定 FastCGI 是否用于运行 php 脚本
我有一个托管网站,但我在配置Joomla时遇到问题(在IIS7上运行Joomla + php + mySQL + win server 2008)。我在本地计算机上运行了类似的配置(Joomla + php + mySQL on IIS7 + vista x64),所以我至少能够按照各种教程中所示的有关如何设置的说明进行操作。
托管网站的症状是我无法在Joomla中打开任何SEO设置(甚至不能打开第一个设置“搜索引擎友好URL”)。我得到404(找不到文件)或URL显示正确重写,但它始终是显示的主页内容。我在家用机器上遇到了类似的问题,事实证明这是因为我没有使用FastCGI来托管php,所以我决定在托管网站上进行调查。
无论如何,我注意到在托管站点上托管joomla的目录的web.config文件中有以下行:
<add name="Plesk_Handler_3522909676" path="*.php" verb="*" modules="IsapiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php5isapi.dll" resourceType="Either" />
根据过去的经验,我知道php在不运行fastCGI时存在一些问题。我注意到根文件夹中的web.config使用了以下行:
<add name="Plesk_Handler_0286090609" path="*.php" verb="*" modules="CgiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php-cgi.exe" resourceType="Either" />
我在joomla目录中的web.config中复制了它,并得到了不同的行为......但仍然不起作用。如果我在运行phpInfo()的joomla目录中加载一个.php文件,在Server API下,它显示CGI / FastCGI。这是否肯定了FastCGI正在被使用?为什么Web配置中的处理程序指向module=“CgiModule”而不是module=“FastCgiModule”(我甚至不确定是否存在,但我只是发现提到CgiModule可疑)。
这是一个托管网站,所以据我所知,我无法访问AdplicationHost.config文件...