php以fastCGI的方式运行时文件系统权限问题及解决方法

php以fastCGI的方式运行时文件系统权限问题及解决方法,第1张

在IIS7.0上以FastCGI方式配置好PHP运行环境,测试可以正常运行PHP程序后,将PHP程序部署上去,导入程序原来的数据和配置信息。很快就有问题出来啦下面我们就详细记录下。

今天准备将一个php

demo放在IIS下运行,网站在IIS下的配置是这样的:

应用程序池是集成模式下的.net

framework

2.0(2.0或4.0没什么关系,因为php以fastCGI的方式在跑),

应用程序池标识配置为IIS内置的NETWORKSERVICE,

使用的认证方式为匿名身份验证。

打开本地的网站,访问php页面,

出现了500错误

好吧,是权限问题,最简单的解决办法是把C:UsersAdministratorPhpstormProjectsphpDemo的权限设成Everyone,

并允许完全控制:

重新访问php页面,成功了:

上面的方法是够简单,但也太不安全了,平时本地搭个demo这样做没问题,真正上线的时候,这样做迟早出问题的。

于是重新设置,把该目录下的只读权限赋给NETWRORKSERVICE帐号再试一下

不过问题还是没有解决,访问的时候,出现了401错误

错误信息中包括显示登录用户为匿名,检查了网站下的身份验证(再点击

匿名身份验证->编辑),原来网站默认情况下,在登录方法为匿名时,使用的默认登录用户为IUSR(就是我们看到的匿名登录用户了)

那么解决办法就是:

1.

将IUSR设置为C:UsersAdministratorPhpstormProjectsphpDemo的读权限,类似之前对NETWORKSERVICE的设置。

2.

或选择使用应用程序池标识即可。

经试验,方法1与2都成功。

Note:NETWORKSERVICE在IIS7中隶属于iis_iusers用户组,之前对NETWORKSERVICE的设置也可以改为对iis_iusers的设置,同样也可以解决问题,只是权限被进一步放宽了而已。

以上所述就是本文的全部内容了,希望大家能够喜欢。

原因:设置错误造成的。解决方法:尝试添加新功能配置来解决此问题。

如下参考:

1.第一个右键点击开始菜单,点击管理工具,找到服务器管理器点击打开,如下图。

2.在道路左上角找到一个斑点颜色点击,右边出现一个面板,单击角色下面的Web服务器(IIS)。

3.进去并下拉找到角色服务,可以看到安装了哪些功能,哪些功能没有安装,在这里找到http重定向,如下图。

4.选择要安装http重定向的函数,然后单击Next下一步,如下图。

5.过一会儿,成功在几分钟后,你可以看到安装了什么功能,然后你可以使用它们,如下图。

错误一: 处理程序“FastCGI”在其模块列表中有一个错误模块“FastCgiModule”。

英文系统提示:Handler “FastCGI” has a bad module “FastCgiModule” in its module list。

原因分析:这个主要是没有安装应用程序开发功能。

解决办法:把应用程序开发功能选择上就可以了,PHP的CGI版本,CGI的功能是必须选择的。

错误二:模块IsapiModule通知ExecuteRequestHandler处理程序PHP-Handler错误代码0x800700

或 处理程序“AboMapperCustom-5095705”在其模块列表中有一个错误模块“IsapiModule”

原因分析:没有安装ISAPI扩展。

解决办法:在IIS安装ISAPI扩展即可。

错误三:The FastCGI Handler was unable to process the request.

原因分析:这种多出现于PHP升级,一般是你升级前的PHP.ini存放在C:\windows\system32\php.ini

解决办法:删除C:\windows\system32\php.ini,并重启IIS。

错误四:

解决办法:这个可能是权限不足导致的,在网站根目录的上一级目录加Users的读权限即可。

错误五:

错误提示:Unable to place a FastCGI process in a JobObject. Try disabling the Application Pool CPU Limit feature

原因分析:IIS开启了程序池的CPU限制,而FastCGI模式的PHP不支持CPU限制。

解决办法:取消程序池CPU限制,或使用ISAPI模式的PHP。

错误六:

安装PHP7.0套件出现错误“FastCGI进程意外退出”,双击“php-cgi.exe”出现提示“无法启动此程序,因为计算机中丢失 api-ms-win-crt-stdio-l1-1-0.dll。尝试重新安装该程序以解决此问题。”,如图:

原因分析:出现此种情况,是因为服务器无法安装VC++ 2015运行库,导致php运行环境不具备,因此出错。

解决办法:据分析,出现此种情况的解决办法最好就是重装系统,并且更换 *** 作系统,如果还不行,建议打SP1补丁。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11380607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存