iis7以fastcgi配置php时出现FastCGI进程意外退出问题解决
IIS 7启用32位应用程序

在之前的IIS7配置php中我们已经详细图解了了配置过程,也许有的朋友会按照上面说的配置不成功,配置完成后,运行程序总是报500的fastcgi服务器错误,其实只要在程序池中设置启用32位应用程序即可
另外由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接。
所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&Server.mappath(db)
driver=Microsoft Access Driver (*.mdb);DBQ=&Server.MapPath(db)
既然这样,就只能使用一个办法,将IIS的运行环境设置为32位:
具体方法是:
点击应用程序池---右面的高级设置---启用32位应用程序设置为true。
phpstudy使用说明

不是管理员administrator的用户,请右键以管理员身份运行。win8最好以管理员身份运行。牵扯到服务进程的管理必须以管理员身份运行。
端口问题无法启动时,请使用菜单『环境端口检测』进行端口检测,尝试启动。最重要的一点,你的机子一定要安装VC9运行库,phpStudy安装路径不得有汉字。
8. 重装系统后启动 参照:/a.php/190.html
9. 如何更新升级 参照:/a.php/191.html
10. 提示没安装Zend或Zend Optimizer not Installed 参照:/a.php/181.html
5. 快速建立MySQL数据库 参照:/a.php/187.html
6. 如何添加多站点 参照:/a.php/188.html
7. 如何控制单一启停 参照:/a.php/189.html
对学习PHP的新手来说,WINDOWS下环境配置是一件很困难的事;对老手来说也是一件烦琐的事。因此无论你是新手还是老手,该程序包都是一个不错的选择。
1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。
php 5.2.17 (php52)
Apache 2.4.18 (Apache)
Nginx 1.9.9 (nginx)
MySQL 5.7.10 (MySQL)
MySQL-Front 5.3 (SQL-Front)
phpMyAdmin 3.5.8.2 (phpMyAdmin)
要在 Windows Vista SP1 和 Windows 7 中激活 FastCGI 支持:
在 Windows 开始菜单中选择“运行...”(或在搜索框内),输入“optionalfeatures.exe”并按“确定”(或敲回车键);
常见的几种中间件解析漏洞

常见的⼏种中间件解析漏洞IIS解析漏洞IIS6.0解析漏洞1、打开“控制⾯板”,打开“添加或删除程序”,弹出“添加或删除程序”窗⼝。
2、单击窗⼝中的“添加/删除Windows组件”,弹出“Windows组件向导”窗⼝。
3.选中窗⼝中的“应⽤程序服务器”。
单击“详细信息”按钮,弹出“应⽤程序服务器”窗⼝。
4、选择组件时“Internet 信息服务(IIS)”与“应⽤程序服务器控制台”是必选的。
选中窗⼝中的“Internet 信息服务(IIS)”。
单击“详细信息”按钮,弹出“Internet 信息服务(IIS)”窗⼝。
5、选择“Internet信息服务管理器”与“万维⽹服务”。
选中窗⼝中的“万维⽹服务”,单击“详细信息”按钮,弹出“万维⽹服务”窗⼝。
6、其中“万维⽹服务”必须选中。
如果想要服务器⽀持ASP,则在选中“Active Server Pages”。
6、逐个点“确定”按钮,返回到“Windows组件向导”窗⼝,点击下⼀步。
⽬录解析漏洞:简介:在⽹站下建⽴⽂件夹的名称中以.asp或.asa等作为后缀的⽂件夹,其⽬录内任何扩展名的⽂件都被IIS当作asp可执⾏⽂件去解析并执⾏.1.在C:\Inetpub\wwwroot⽬录下创建1.asp⽬录,并在⽬录中创建1.txt⽂件,在⽂件中写⼊下⾯内容<%=now()%>即显⽰当前时间2.访问改路径⽂件解析漏洞:简介:在IIS6.0下,分号后⾯的内容不被解析,举个栗⼦,xx.asp;.jpg将会当作xx.asp去解析执⾏.IIS6.0 默认的可执⾏⽂件除了.asp,还包含这三种:.asa .cdx .cer. 例如:test.asa 、 test.cdx 、 test.cer1.在iis⽬录下创建⼀个以下格式的⽂件2.访问该路径IIS7.0解析漏洞⾸先我们在win7上安装IIS7控制⾯板程序打开或关闭windows功能切换php版本在phpstudy的www⽬录上先创建⼀个新⽂件,写上<?php phpinfo();?>找到我们的CGI设置,再点击请求限制把如下的勾去掉Nginx解析漏洞该漏洞与Nginx、php版本⽆关,属于⽤户配置不当造成的解析漏洞。
实战Nginx与PHP(FastCGI)的作用、安装、配置与优化

实战Nginx与PHP(FastCGI)的作用、安装、配置与优化一、什么是 FastCGIFastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。
多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。
FastCGI是从CGI发展改进而来的。
传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器。
这在处理高并发访问时,几乎是不可用的。
另外传统的CGI接口方式安全性也很差,现在已经很少被使用了。
FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。
当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。
这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。
二、Nginx+FastCGI运行原理Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。
FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。
为了调用CGI程序,还需要一个FastCGI的wrapper (wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。
当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。
PHP5.6中php-fpm的配置,启动,停止和重启

该文主要讲述:如何配置php-fpm、常见报错解决方法和php-fpm的启动、关闭和重启。
LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求。
而php需要php-fpm这个组件提供该功能。
在php5.3.3以前的版本php-fpm 是以一个补丁包的形式存在的,而php5.3.3以后只需在编译安装时使用–enable-fpm加载该模块即可,无需另行安装。
[root@localhost php-5.6.25]# /usr/local/php/sbin/php-fpm[29-Aug-2016 17:36:05] ERROR: failed to open configuration file'/usr/local/php/etc/php-fpm.conf': No such file or directory (2)[29-Aug-2016 17:36:05] ERROR: failed to load configuration file'/usr/local/php/etc/php-fpm.conf'[29-Aug-2016 17:36:05] ERROR: FPM initialization failed启动php-fpm发现缺乏配置文件/usr/local/php/etc/php-fpm.conf此时只需复制php-fpm的配置文件在安装php时提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相应目录下即可,此处有两种方法,均可提供配置文件,即分别将末班复制到/usr/local/php/etc/或者/usr/local/etc/并重命名为php-fpm.conf①[root@localhost etc]# cd /usr/local/php/etc/[root@localhost etc]# lspear.conf php-fpm.conf.default[root@localhost etc]# cp /usr/local/php/etc/php-fpm.conf/usr/local/etc/php-fpm.conf利用/usr/local/php/sbin/php-fpm启动FPM[root@localhost etc]# /usr/local/php/sbin/php-fpm②[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf[root@localhost etc]# /usr/local/php/sbin/php-fpm至此php-fpm配置完成,鉴于fpm是置于PHP和Nginx之间的一层应用,所以配置成服务开机自启。
Windows2008R2 IIS7.5 PHP5.3.22安装配置 错误0x800736b1

前言:本人在配置的时候遇到了很多问题所以整理了本文,用以记录存档,也可以方便能看到本文档的朋友,如果您遇到了类似问题可以少走弯路。
文章末尾有一个注意事项,请一定留意,建议看完本前言之后先看注意事项(本文核心)。
本文章内容并非我自己一字一字敲出来的,多来自网络(技术博客、微软官方帮助、PHP支持等)如有侵权请告知笔者:杞都天子。
另:微软的PHP配置说明:/zh-cn/library/hh994592#Install_PHP1.安装IIS1.1单击“开始”,指向“管理工具”,然后单击“服务器管理器”。
1.2在“角色摘要”中,单击“添加角色”。
1.3使用“添加角色”向导添加 Web 服务器角色。
1.4此处较为简单,而且网上参考文献也较多,所以本文点到为止。
2.安装配置PHP2.1下载php-5.3.22-nts-Win32-VC9-x86.zip并解压到D: \php53222.2复制php.ini-development,并修改文件名为php.ini,进行如下修改:extension_dir = <PATH TO EXTENSIONS>Extension_dir 指向存储 PHP 扩展的目录。
此路径可以是完全限定路径(例如,D:\php5322\ext\)或相对路径(例如,.\ext)。
在 Php.ini 文件中的较低级别指定的扩展位于 extension_dir 中。
如果指定的扩展未位于 extension_dir 中,则 PHP 会在开始执行脚本时显示一条警告消息,并且应用程序可能会因缺少功能而显示错误。
extension = xxxxxx.dll对于启用的每个扩展,对应的 extension= 指令(用于告知 PHP 在启动时要加载extension_dir 中的哪些扩展)是必需的。
将自己需要安装的组件前的”;”去掉。
例如一般是extension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dlllog_errors = On(可以不设置此项,笔者未设置)PHP 错误还会记录到 PHP 错误日志记录设施中。
nginx报错502

nginx报错502http请求流程:⼀般情况下,提交动态请求的时候,nginx会直接把请求转交给php-fpm,⽽php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器。
Nginx 502 Bad Gateway错误是FastCGI有问题解决办法遇到502问题,可以优先考虑按照以下两个步骤去解决。
1、查看当前的PHP FastCGI进程数是否够⽤(max_children值)netstat -anpo | grep "php-cgi"| wc -l如果实际使⽤的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够⽤,需要增⼤。
2、部分PHP程序的执⾏时间超过了Nginx的等待时间(php内存不⾜)增加nginx.conf配置⽂件中FastCGI的timeout时间,例如:fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;php.ini中的memory_limit=64M,重启nginx。
如果这样修改了还解决不了问题,可以参考下⾯这些⽅案:3、max-children和max-requests⼀台服务器上运⾏着nginx php(fpm) xcache,访问量⽇均 300W pv左右最近经常会出现这样的情况:php页⾯打开很慢,cpu使⽤率突然降⾄很低,系统负载突然升⾄很⾼,查看⽹卡的流量,也会发现突然降到了很低。
这种情况只持续数秒钟就恢复了检查php-fpm的⽇志⽂件发现了⼀些线索:Sep3008:32:23.289973[NOTICE] fpm_unix_init_main(), line 271: getrlimit(nofile): max:51200,cur:51200Sep3008:32:23.290212[NOTICE] fpm_sockets_init_main(), line 371:using inherited socket fd=10,“127.0.0.1:9000″Sep3008:32:23.290342[NOTICE] fpm_event_init_main(), line 109: libevent:using epollSep3008:32:23.296426[NOTICE] fpm_init(), line 47: fpm is running, pid 30587在这⼏句的前⾯,是1000多⾏的关闭children和开启children的⽇志原来,php-fpm有⼀个参数 max_requests,该参数指明了,每个children最多处理多少个请求后便会被关闭,默认的设置是500。
IIS应用程序池出错解决方法

2011-05-20 23:46 108人阅读评论(0) 收藏举报" 为应用程序池'AppPool #1' 提供服务的进程关闭时间超过了限制" 的错误出现究其原因是由于网站的访问量连接数过大,引起应用程序池处理连接的时候,新的还没有接替,而旧的又要回收,但在回收的过程中不及时,照常应用程序池当机,网站无法访问,出现了这个错误。
当网站无法访问的时候,手动回收应用程序池,即可恢复,不过手动恢复的话,毕竟很麻烦,你不能一天都盯着这个网站看吧?问题出在应用程序池的话,那我们就从应用程序池的配置下手来看是否能解决问题。
1、首先建议每个网站分别建立一个应用程序池,一个应用程序池将对应不同的w3wp.exe 进程,在“命令提示符”下使用iisapp命令可以察看网站对应的w3wp.exe的pid值,方便查找出问题的进程。
2、应用程序池的配置个人意见觉得在应用程序池的属性窗口中,“回收”和“运行状况”2个选项卡的配置比较重要。
2.1、回收选项卡1、回收工作进程(分钟):在工作进程运行多少分钟后回收工作进程,默认启用,并且设置为1740分钟(29小时);2、回收工作进程(请求数目):在工作进程处理多少个HTTP请求后终止此工作进程,默认禁用,如果启用则默认值为35000;3、在下列时间回收工作进程:在指定的时间回收工作进程,默认禁用;如需启用,勾选后点击添加按钮添加回收的时间即可,使用24小时制定义回收的时间;4、消耗太多内存时回收工作进程:最大虚拟内存(兆):当工作进程使用的虚拟内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为500 M;建议设置为不超过虚拟内存总数的70%;最大使用的内存(兆):当工作进程使用的物理内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为192 M;建议设置为不超过物理内存总数的60%;2.2、性能1、在空闲此段时间后关闭工作进程(分钟):当工作进程空闲多少分钟后关闭此工作进程,这降低了空闲工作进程对系统资源和CPU性能的消耗,默认启用并且设置为20分钟;2、核心请求队列限制为(请求次数):当HTTP.sys接收到某个客户端发送的HTTP 请求时,如果处理此请求的对应应用程序池的工作进程还处于忙状态,则HTTP.sys将接收到的请求保存在对应应用程序池的请求队列中,直到工作进程空闲为止。
Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建教程

:由于种种原因,服务器一直都用Windows 2003,之前有感于Processed in一直都高于2.0,于是不得已痛下决心,预计花费一天时间等待机房技术帮安装Windows 2008操作系统,中途还是比较周折,刚开始由于没有说明机房技术安装的是Windows 2008 32位的。
一想这怎么行呢,有64位不用我干嘛整那32位的呢,于是在一小阵子纠结后果断又安排机房技术重新给安装Windows 2008 R2,顺便说一下,Windows 2008 R2没有32位的,只有64位一个版本。
以后别傻了,要记住教训,若不是机房技术人品好,恐怕来回让你折腾烦了,给你一拖再拖,网站瘫痪在那时间一久伤不起啊。
下面还是进入正题吧,首先我们来讲一下我们看完此教程后需要完成的目标:Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建+并做适当的Discuz优化注:此教程适合新手或没有搭建成功人士,高手算了,人生苦短就飞过吧!本人水平有限,难免有不足地方,如有错误地方请指正,尊重原创,转载请注明!本文原文地址:/thread-70329-1-1.html整个环境的搭建与测试大致可以分为十部分来:我们需要安装好一个Windows 2008 R2 操作系统,这一步我想不是我们这个阶段所要考虑的事情,因为很多东西需要机房的技术来配合你来完成。
你想做也无法做,所以此步略过!:安装IIS7.5与FastCGI,因为Windows 2008R2自带环境了IIS7.5与FastCGI,这一点与IIS6.0区别很大,IIS6.0需要自己安装FastCGI.而IIS7.5 自带已集成了FastCGI 模块,所以只要安装时只要勾选上CGI模块后,即可装上FastCGI.:安装MySql 5.5.29,这个不用说了,开源的数据库软件系统,Discuz必不可少。
如何配置MySql请看分节教程!:选择正确的PHP版本,并下载。
WIN7下配置 IIS7.0+PHP+MySQL+Zend+Phpmyadmin

WIN7的用户越来越多,很多朋友都更新上来了,呵呵,当然我的也是WIN7系统,但是很多时候我们做网站需要本地测试,只装IIS7.0只能支持ASP,只装Apache+PHP...又只能支持php,但是我们平时接触的所用到网站程序不只一种,同时安装IIS和Apache那当然是可以的但是80端口只能选一,感觉很麻烦,如何在WIN7下配置IIS7.0+PHP+MySQL+Zend+Phpmyadmin?那下面我分享我的经验。
1)、需要准备的程序:声明下我的系统win7 旗舰版X86(32位)1.IIS 7.0-----------------------------------系统自带的就行2.php-5.2.10-Win32-x86.ZIP-----------测试了很多版本,这个为我测试成功且最高版本的3.MySQL 5---------------------------------这个自己选择对版本没多大要求4.ZendOptimizer-3.3.3---------------------zend3.3.3就好了.5.Phpmyadmin----------------------------这个用的人很多,我不用这个,后面推荐一个我用的MySQL管理工具(说明:这里出来IIS系统自带的,其他的我都是用的解压版的)2)、依次安装配置上述程序:2-1)、安装IIS:安装iis我就不多少了,实在不懂的网上大把资料,自己去搜下!要注意的是:你后面配置PHP运行方式的时候是用“ISAPI筛选”还是“Cgi-fcgi”,如图选择:如何配置下面会讲到,这里支持ASP就可以了.(请根据自己的需要选择,都选上也行.)2-2)、安装/解压php压缩包(这里我所讲到的是压缩包,安装版的实际也叫傻瓜版)把php的压缩包解压,例如我的:D:\HostServer\PHP (或其它目录)2-2-1)、配置PHP:打开D:\HostServer\PHP (或其它目录) php.ini-dist,重命名为php.ini,用记事本打开查找:extension_dir = "./"将其路径知道你的PHP目录下的扩展功能目录中,这里PHP5对应修改为extension_dir = "D:/PHP/php5/ext"。
php-FastCGI 进程意外退出 解决办法

"php-cgi.exe - FastCGI 进程意外退出" 解决办法问题描述:
win7下iis中php-cgi.exe - FastCGI 进程意外退出
错误提示:
HTTP 错误500.0 - Internal Server Error
D:\phpStudy\phpf\php-cgi.exe - FastCGI 进程意外退出
解决方案1:
服务器windows2008上面配置PHP时。
IIS7.0显示正常,但phpinfo.php显示不正常,出现“HTTP 错误500.0 - Internal Server Error
C:\PHPServer\PHP\php-cgi.exe - FastCGI 进程意外退出”的提示。
双击PHP目录下的文件php.exe则出现“msvcr110.dll”丢失的提示。
到Microsoft网站下载“Microsoft Visual C++ 2012 Redistributable”软件包安装,注意86及64都安装,安装好后,再双击PHP目录下的文件php.exe,则就不提示“msvcr110.dll”丢失了,一切正常。
网站测试http://localhost/phpinfo.php也出现了“PHP Version 5.6.30”版本的信息提示。
说明支持PHP了。
文件下载地址:
/zh-CN/download/details.aspx?id=30679
解决方案2:
我的情况是用的是阿里云服务器本身一开始用的正常情况下突然重启服务器后,php显示上图错误,百度各种解决方案都无法解决,最后服务器再次重启下就好了,所以我这种情况有可能是,强制重启服务器出现的意外情况。
Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

准备工作在完成IIS上进行PHP5安装配置工作之前,首先需要下载PHP5.2和PHP5.3,PHP5.3以php-5.3.2-Win32- VC9-x86为准,具体下载地址请参考PHP环境搭建:Windows7 Apache+PHP+Mysql一文。
Windows7 IIS7安装在进行IIS7 PHP安装配置之前,首先需要安装IIS7,Windows7默认并没有安装IIS,安装过程如下:首先进入控制面板,点击程序和功能,再点击左侧打开和关闭Windows功能,勾选Internet Information Services可承载的Web核心,确定安装。
在完成安装后,在勾选Internet信息服务,选择安装必要的IIS功能,注意由于在配置PHP5.2和PHP5.3 时,IIS7中是以ISAPI和FastCgi方式配置PHP的,所以Cgi和ISAPI 扩展和ISAPI筛选器务必勾选(此处由于我首先以ISAPI方式配置PHP5.2,我没有勾选Cgi),如图:安装IIS7在完成Windows7 IIS7的安装后,即可在控制面板中的管理工具中看到Internet信息服务管理器选项。
如何在Windows7 IIS7上以ISAPI方式配置PHP5.2?IIS7 PHP5.2配置第一步:php.ini配置解压php-5.2.13-Win32-VC6-x86.zip,重命名为php52iis,将其复制到C盘根目录下,将php.ini- list文件名更改为php.ini,打开php.ini进行配置,php.ini的配置与PHP环境搭建:Windows7 Apache+PHP+Mysql基本一样,注意extension_dir的目录指向必须准确,即1 extension_dir = "C:/php52iis/ext"另外在PHP5.2版本中没有date.timezone选项,所以无需设置。
在完成PHP5.2中php.ini的配置工作后,将其复制至C:\WINDOWS目录下,同时将PHP52iis目录下的libmcrypt.dll,libmysql.dll,php5ts.dll三个文件到C:/windows/System32目录下。
【转】关于502badgateway报错的解决办法

【转】关于502badgateway报错的解决办法502 Bad Gateway服务器作为⽹关或者代理时,为了完成请求访问下⼀个服务器,但该服务器返回了⾮法的应答。
解决办法是:再刷新⼀下⽹页或清理⼀下电脑的缓冲⽂件在打开你想打开的⽹页就好了. ⼀般情况下,这种办法是⾏得通的,但也不排除你所访问的⽹页被屏蔽的可能,如果你所访问的⽹页被屏蔽的话,就不管你怎么刷新也是没⽤的了。
1.什么是502 bad gateway 报错简单来说502是报错类型代码bad gateway错误的⽹关2.产⽣502错误的原因连接超时我们向服务器器发送请求由于服务器当前链接太多,导致服务器⽅⾯⽆法给于正常的响应,产⽣此类报错,具体如下:第⼀个原因:DNS 缓冲。
这种情况的通常原因是因为你在未开启vpn的情况下访问了facebook这样的⽹站。
这个时候⾃然访问不上,同时却在本机留下了缓冲。
这种情况通常在⼏分钟之内就可以访问了。
也可以尝试在dos窗⼝运⾏ ipconfig /flushdns,该命令会刷新DNS缓冲。
第⼆个原因:你的浏览器开了代理什么的。
确认⼀下关掉代理。
第三个原因:dns 被劫持了,即使使⽤国外的dns,也会被劫持。
有些机⼦开vpn能够访问,有些机⼦确不能。
并且排除了代理、防⽕墙、本地⽹络的原因。
这个时候同时ping远程⽹站,⽐如facebook。
不能访问的机⼦通常获取了⼀个怪异的ip,从任何地⽅都ping不通的ip。
⽽能访问的机⼦ip,在不能访问的机⼦上直接可以访问,也可以ping通。
这种情况我们可以去掉VPN服务器的DNS。
切换另外的dns。
在windows系统中,可以在本地⽹络连接的属性中,去掉默认的dns,选⽤国外的dns,⽐如google的。
或opendns。
3.502错误的HTTP周期任何客户端(如Web浏览器或我们的CheckUpDown机器⼈)经过下列循环时,与您的Web服务器沟通:打开⼀个IP套接字连接到该IP地址。
IIS7添加PHP支持

3、把 php.ini 保存,然后复制到 Windows 目录下。 4、打开“Internet 信息服务(IIS)管理器”,在“应用程序池”中新建一个应用程序池,取名为 PHP,.Net 版本为“无托管代码”。
8、以上工作做完后就基本完工了,下面测试: 在 IIS 指定的站点目录下建一个文件 phpinfo.php,里面的内容就是经典的 PHP 测试函数:
<?php phpinfo(); ?>
保存后打开浏览器看结果:localhost/phpinfo.php,如果能看到类似下面的页面就说明你成功了:
5、在“ISAPI 筛选器”中点右键“添加”,起名为 php,可执行文件选成 C:\php\php5isapi.dll。
6、在“ISAPI 和 CGI 限制”里点右键“添加”,路径还是选成 c:\php\php5isapi.dll,描述还写成 php,选中“允许执行扩展路径”。
7、在“处理程序映射”里右键“添加脚本映射”,请求路径填*.php,可执行文件还选 c:\php\php5ispai.dll,名称还叫 php。
IIS7 添加 PHP 支持 适用于 Vista/Windows 2008/Win7) 支持(适用于
PHP 5.3 以上的版本在 IIS 中的运行方式是 FastCGI,本文个 5.3 以前的版本 配置 IIS 之前,在“程序和功能”里面的“打开或关闭 Windows 功能”里不但要安装 IIS,而且还要安装两个重要的 ISAPI 组件,如下图:
下面开始配置 PHP 1、把 PHP 目录下的 php.ini-dist(显示扩展名)改成 php.ini,然后用记事本打开,在里面找到 extension_dir = "./",然后把里面的./改成 c:\php(就是把 PHP 解压到的那个路径)。 2、还是在 php.ini 这个文件里,找到下面这三行,把它们前面的分号删掉(带分号是注释的意思)
服务器意外重启之后PHP-FPM不能启动

服务器意外重启之后PHP-FPM不能启动周一又是新的开始!所有事情都按照往常的节奏按部就班,有条不紊的进行着。
首先是检查下各网站及应用系统是否正常,然后看看日志信息是否也有异样,一圈下来结果跟以前差一样没有其它问题。
今天唯独没有像往一样,上线之后并没打开系统监控(平时都是用SecureCRT登录系统之后,打开TOP命令让它一直在线,偶尔看下)。
到了早上10点多快11点的时候,随手又点击了一下网站,这下出现的画面让我为之一醒(不是一惊)原文就是:An error occurred.Sorry,the page you are looking for is currently unavailable.Please try again later.If you arre the system administrator of this resource then you should check the error log for details.所实话这个介面还真不多见,但跟这个相似的就是前后端连接超时也会出现一个提示页面,但内容不太一样。
这下我就急了,难道被人黑了?因为最近老有朋友说他的网站被挂马了,所以我一个冲上来的念头就是被人黑了。
连忙SSH登录后台看看,最后的登录IP也是自己的,这才稍有点放心,是自己紧张过头了。
稍作冷静之后,再结合提示页面的信息,应该是系统服务出了问题而非被入侵造成。
于是就从检查日志、进程、端口等方面着手展开排查,很快就在php-fpm.log日志文件有所发现,几乎全部都是同样的信息,如下:connect() failed (111: Connection refused) while connecting to upstreamupstream: fastcgi://127.0.0.1:9000from these line it is clear it is not listening to port 9000. Or its listen queue is full.然后再检查下PHP-FPM进程和9000端口,我勒个去~没有进程(自然就没有端口了),到底怎么回事?我安装的时候明明已经加入开机启动PHP-FPM服务的,怎么现在居然没起来呢?索性手动启动试试:##services php-fpm start 回来之后,居然提示已经运行php-fpm already running...#services php-fpm stopStopping php-fpm: [FAILED]提示失败!!!!我再根据日志信息问过度娘,她说出现这样的提示应该是日志超过了2G导致,要解决这个问题就把相关参数调整一下,把log_level由notice改为error,只记录错误级别的信息。
Windows server 2012 R2中php出现The FastCGI process exited unexpectedly的解决方法

Windows server 2012 R2中php出现The FastCGI process exited unexpectedly的解
决方法
在windows server 2012 r2中通过“web平台安装程序”安装php5.6之后,运行php程序有时会出现“C:\Program Files (x86) \PHP\v5.6\php-cgi.exe –The FastCGI process exited unexpect edly”的错误。
这个问题在很多的论坛中有人提出过,但是按照很多人提出的方案仍无法解决,为此我在国外的论坛上搜索,终于找到了解决方案,下面是具体的解决方案,其实很简单。
错误提示如下:
解决方案:
需要安装:Visual C++ Redistributable Package 安装运行使用Visual Studio 2012 生成的C++ 应用程序所必需的运行时组件。
这里需要注意的是,如果你的操作系统是64位操作系统,需要同时安装32位组件。
不然还是会出现错误提示。
下载链接:https:///zh-CN/download/details.aspx?i
d=30679
选择下载按钮
下载完安装就行了。
然后就可以运行php程序了。
一句话木马绕过和防御

一句话木马绕过和防御作者:jaivy若有错误欢迎指正,非常感谢!若有疑问欢迎讨论,共同学习!·WebShellWebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。
中国菜刀可以连接asp、aspx、php、jsp的一句话木马。
·常见的一句话木马Asp:<%eval request("x")%>aspx: <%@ Page Language="Jscript"%><%eval(Request.Item["x"],"unsafe");%> php: <?php @eval($_POST['x']);?>密码均为x一、本地检测及绕过方法·前台文件扩展名检测(弹小框框的一般就是该检测了)(本地漏洞客户端漏洞改扩展名,burp抓包,改回来即可)四种办法绕过,1 . 00截断(两种方式实现,但实质都一样)00截断原理:计算机遇到'\0'字符,就认为字符串结束了。
(可以联系c语言字符串后面自动添加了一个‘\0’来判断是否到达末尾来理解)方法一:在hex中修改(在16进制中修改)找到文件名pass.php.jpg对应的地方把2e改为00(【2e】是字符【.】对应的hex值)方法二直接在.php后面加上%00然后选中%00,对其进行url-decode 处理方法三:直接用在.php后面加上【’\0’】(但此方法是有时无效)方法四:直接把【pass.php.jpg改为pass.php】·content-type参数检测(修改数据包content-type)ContentType 一般参数有application/x-cdf 应用型文件text/HTML 文本image/JPEG jpg 图片image/GIF gif图片把ContentType 由application/x-cdf改为image/gif·文件内容检测:文件内容检测脚本中getimagesize(string filename)函数会通过读取文件头,返回图片的长、宽等信息,如果没有相关的图片文件头,函数会报错,是一种比较严的防御措施。
PHP超时处理全面总结

在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景:1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现2. 为了保证Web服务器不会因为当个页面处理性能差而导致无法访问其他页面,则会对某些页面操作设置3. 对于某些上传或者不确定处理时间的场合,则需要对整个流程中所有超时设置为无限,否则任何一个环节设置不当,都会导致莫名执行中断4. 多个后端模块(MySQL、Memcached、HTTP接口),为了防止单个接口性能太差,导致整个前面获取数据太缓慢,影响页面打开速度,引起雪崩5. 。
很多需要超时的场合这些地方都需要考虑超时的设定,但是PHP中的超时都是分门别类,各个处理方式和策略都不同,为了系统的描述,我总结了PHP中常用的超时处理的总结。
【Web服务器超时处理】[ Apache ]一般在性能很高的情况下,缺省所有超时配置都是30秒,但是在上传文件,或者网络速度很慢的情况下,那么可能触发超时操作。
目前apachefastcgiphp-fpm模式下有三个超时设置:fastcgi超时设置:修改httpd.conf的fastcgi连接配置,类似如下:缺省配置是30s,如果需要定制自己的配置,需要修改配置,比如修改为100秒:(修改后重启apache):如果超时会返回500错误,断开跟后端php服务的连接,同时记录一条apache 错误日志:[ThuJan2718:30:152011][error][client10.81.41.110]FastCGI:commwithserv er"/home/forum/apache/apache_php/cgi-bin/php-cgi"aborted:idletimeout( 30sec)[ThuJan2718:30:152011][error][client10.81.41.110]FastCGI:incompletehe aders(0bytes)receivedfromserver"/home/forum/apache/apache_php/cgi-bin /php-cgi"其他fastcgi配置参数说明:[ Lighttpd ]配置:lighttpd.confLighttpd配置中,关于超时的参数有如下几个(篇幅考虑,只写读超时,写超时参数同理):主要涉及选项:server.max-keep-alive-idle=5server.max-read-idle=60server.read-timeout=0server.max-connection-idle=360说明:对于一个keep-alive连接上的连续请求,发送第一个请求内容的最大间隔由参数max-read-idle决定,从第二个请求起,发送请求内容的最大间隔由参数max-keep-alive-idle决定。
【推荐下载】iis以fastcgi配置php时出现FastCGI进程意外退出问题解决

iis 以fastcgi 配置php 时出现FastCGI 进程意外退出问题解决2018/06/09 3 很多人在配置iis7+fastcgi+php 时出现了500 错误FastCGI 进程
意外退出同时php-cgi.exe 进程崩溃。
如图
这个问题一般都是php 配置出了问题导致的。
解决方法一般都是先将php 程序目录放进系统path 变量中,右键计算机-》属性
-》高级系统设置-》环境变量,设置path 路径,增加PHP 所在目录,这样可以在不
用iis 的情况下使用php -v 的命令来检查php 的配置情况。
例如:php.ini 中我把extension_dir 属性的路径写错了。
在命令行中输入php -v
就会有以下显示(点击放大)
php 不能加载扩展库文件,当然会报错了。
我配置的时候是出现如下问题:
查阅了网上的很多种方法,大都是说没有安装vc++2015 ,结果我试了之后还是
报错。
又经过一番搜索,最终找出了真正影响的原因:那就是缺少了
.Framework 的安装。
现将整个流程整理如下:
1.去微软官网下载.Framework 4.6.1
——其适用于Windows 7 SP1、Windows 8、Windows 8.1、Windows 10、Windows Server 2008 R2 SP1、Windows Server 2012 和Windows Server 2012 R2 操。
Window server 2008 R2 SP1系统及域服务器

Window server 2008 R2 SP1系统及域服务器安装配置手册1Window server 2008 R2 SP1系统硬件要求:2Window server 2008 R2 SP1系统安装:本安装过程以光盘安装方式进行讲解,其他的安装方式都具有相似性,不做过多说明。
机器配置要求和Windows 7差不多。
首先将电脑配置从CD-ROM启动(或者启动按快捷键调出bootmenu),出现“按任意键开始安装——”的英文提示按任意键开始进行安装过程。
本教程以图解方式为主,间或文字进行说明。
2.1开始安装将系统安装盘放入光驱,重启计算机,将计算机从光盘引导,进入安装界面。
2.2语言区域设置选择安装语言、时间和货币格式、键盘和输入方法,单击“下一步”。
2.3正式安装现在已经可以安装系统,点击“现在安装”2.4系统正在准备安装程序2.5选择要安装的server2008 R2的版本版本不一样所安装的组件及角色都不一样。
在这里我们选择Windows Server 2008 R2 Enterprises (完全安装),单击“下一步”2.6Microsoft安装许可条款勾选“我接受许可条款(A)”,单击“下一步”2.7选择进行何种类型的安装我们选择“自定义(高级)安装”,点击“自定义(高级)安装”2.8选择要按照的位置我们这里可以选择“驱动器选项(高级)(A)”对硬盘进行分区及格式化操作,现在我们选择磁盘0,单击“下一步”2.9开始自动复制文件安装系统功能及更新,并显示安装进度。
安装完毕后系统自动重启。
2.10安装完成系统为第一次登录做准备。
2.11首次登录需要给系统管理员设置一个密码,点击“确定”按钮。
输入要设置的密码,点击蓝色箭头按钮。
(密码规则:)2.13出现按“ctrl+alt+delete”登录界面。
2.14第一次登录系统登录成功后会显示初始配置任务窗口,我们可以按照提示一步一步配置服务器。
也可以先不配置服务器,点击“关闭即可”。