前言

前段时间整了一个挂Q的平台。源代码是从网上下载的,后期稍微调整了一下链接和title之类的文字就上线了。详细在这里

运行了一段时间,除了偶尔出现QQ下线上线,整体效果基本上符合预期,个人感觉很满意,也小有成就感。

但是运行了个把星期后,免费空间不给力了。提醒我网站挂起,原因是超过1000次CPU使用超过20%,要求去hos***24上整一个无限制的。

本来吧,我不愿意这么麻烦去换空间。但是用了一年多三蛋空间,感觉时不时的不给力,一会儿网站删除了,一会儿因为这种那种原因挂起了;恰好手头上还有另一个空间,amazon的一年免费空间,暂时就先顶着吧。

但是问题也来了,亚马逊的虚拟服务器是windows 2008的系统,最初设计的时候是为了承载一个asp.net的网站,安装了IIS 7.5+.net4.0/4.5。对于php+mysql的组合,没有做任何的相关配置。

既然如此,少不得从(bai)零(du)开始。

百度出来的结果挺多也挺详细的,图文并茂,有安装有配置,very good, let's start it!

正文

Firstly,先下载相关的文件:下载PHP , 下载Mysql.

下载PHP时要留意,我下载的是文件php-5.6.3-Win32-VC11-x64.zip,这里有几个信息,版本5.6.3,x64的,这里还有一个VC11。

VC9 and VC11

More recent versions of PHP are built with VC9 or VC11 (Visual Studio 2008 and 2012 compiler respectively) and include improvements in performance and stability.

The VC9 builds require you to have theVisual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64 installed.

The VC11 builds require to have the Visual C++ Redistributable for Visual Studio 2012x86 or x64 installed.

这是PHP的官方解释,也就是说VC11对应的需要Visual C++ Redistributable 2012版本的环境,而VC9则需要c++2008版本的环境。这个要特别留意。搞错了版本,后面浏览php页面时会失败。

VC++如有必要则需安装,如果电脑上已有相应的版本,则不需考虑。

第二步:配置PHP。主要是配置php.ini

下载的包直接解压缩到c:\PHP文件夹。复制其中的php-development.ini为php.ini,并进行如下修改(要去掉开头分号):

①修改扩展路径:extension_dir = "c:\PHP\ext" (这里写自己的实际路径)

②找到要扩展的部件(可能不止一个),如:extension = php_mysql.dll(这里留意,按需取消前面的;注释,不要图方便全部取消,可能会报错的,笔者经历...)

③时区:date.timezone = asia/shanghai

④fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启为1

⑤cgi.fix_pathinfo=1

⑥cgi.force_redirect=0 默认为1,如果你使用IIS,需要将其关闭为0

⑦session存储路径,如:session.save_path = "d:\server\web\session" (这里写一个保存session的路径)

配置完成后,将php.ini拷贝一份放到c:\windows下。在win7的IIS7上配置php时,并不需要把php.ini和相关文件拷到系统目录下了。

第三步:设置IIS。(安装过程不说了,确保iis上安装了cgi模块)

打开IIS,选中站点,打开处理程序映射界面。

在右侧操作选项卡中点击“添加模块映射”,根据图中所示配置好各个选项即可。点击“是”,模块安装成功。

点击ISAPI和CGI限制,点击添加,路径为C:\php\php-cgi.exe,描述可写php,允许执行扩展路径,确定。

第四步:检验成果

在IIS里面新建一个网站,将端口设置成除80以外的其他端口,例如1234,在网站的文件夹下新建一个文件index.php,在里面输入

<?php phpinfo(); ?>

设置站点的默认页面为index.php。

在浏览器中输入"http://localhost:1234",将看到下面的画面,到此php配置成功。

可能出现的问题:

Q:“the program can't start because msvcr110.dll...”

A:Visual C++的版本不正确。

Q:"500 php-cgi.exe 报错"

A:这类错误十之八九是由于php.ini的配置导致的。上面两种情况都会出现这个报错。直接的方法运行php文件夹中的php-cgi.exe,如果出现黑漆漆的弹框,说明这里没问题。如果有报错框或者控制台出现其他的信息,则进一步跟进。

参考文章:

Win7下通过FastCGI配置IIS7以执行php脚本

PHP5.4没有php5isapi.dli配置

Windows server 2008搭建php运行环境

2008 win 部署PHP+mysql

IIS 7上部署PHP的更多相关文章

  1. 在IIS服务器上部署svg/woff/woff2字体

    在url没错的前提下,字体文件报404错误,如.woff,.woff2 出错原因: IIS不认SVG,WOFF/WOFF2这几个文件类型 解决方案: 在IIS服务器上部署svg/woff/woff2字 ...

  2. IIS 7上部署PHP【后续一】

    在之前成功在windows 2008+iis7环境下部署php的基础上,今天把之前的挂Q网站转移到了这个服务器下. 文件拷贝到服务器后,问题继续出现. 首先出现的问题是,Mysql的数据库名称和账户密 ...

  3. IIS上部署Net.Core

    部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...

  4. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

  5. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法IIS上部署MVC网站,打开后500错误

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  6. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  7. IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法

    IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决方法 IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrl ...

  8. Express在windows IIS上部署详解

    最近公司在用Express+angularjs+wcf开发系统,让我在windows上部署系统,遇到不少问题,不过最后还是解决了,在IIS上部署系统, 首先windows需安装以下软件: 1.node ...

  9. IIS上部署网站404错误

    新装的系统上部署.net网站遇到403.404错误,可能原因记录: 1.应用程序池选择错误,一般选择4.0的 2.ASP.NET4.0应用程序池未安装(一般先安装了framework4.0,后安装ii ...

随机推荐

  1. ADO.NET事务

    在发布System.Transaction命名空间之前,可以直接用ADO.NET创建事务,也可以通过组件.特性和COM+运行库(位于System.EnterpriseServices命名空间中)进行事 ...

  2. [转]PostgreSQL源码结构

    PostgreSQL采用C/S(客户机/服务器)模式结构.应用层通过INET或者Unix Socket利用既定的协议与数据库服务器进行通信. 另外,还有一种‘Standalone Backend’使用 ...

  3. Java 8 Streams filter examples

    1. Streams filter() and collect() package com.mkyong.java8; import java.util.Arrays;import java.util ...

  4. ELK日志相关

    转: Logstash 讲解与实战应用 原创qw871122016-08-20 16:06:07评论(1)40217人阅读 一.Logstash 介绍 Logstash 是一款强大的数据处理工具,它可 ...

  5. 如何在Android Studio中添加注释模板信息?

    如何在Android Studio中添加注释模板信息? 在开发程序的时候,我们一般都会给文件自动添加上一些关于文件的注释信息,比如开发者的名字,开发的时间,开发者的联系方式等等.那么在android ...

  6. mysql查询今天、昨天、本周、本月、上一月 、今年数据

    mysql数据库中的关于查询日期的一些操作如下: --今天 select * from 表名 where to_days(时间字段名) = to_days(now()); --昨天 --本周 SELE ...

  7. mui封装做好的手机版网站为apk

    BOSS提到的一个功能,就是把已经做好的手机网站http://xxx.com/m/home/index ,想着看起来应该蛮简单,一个html页面里就一个iframe就好了,然后宽度和高度都设置为100 ...

  8. RenderTexture动态创建纹理

    CCRenderTexture,它允许你来动态创建纹理,并且可以在游戏中重用这些纹理. 使用 CCRenderTexture非常简单 – 你只需要做以下5步就行了: 创建一个新的CCRenderTex ...

  9. C++ pair(对组)用法

    类模板:template <class T1, class T2> struct pair 参数:T1是第一个值的数据类型,T2是第二个值的数据类型. 功能:pair将一对值组合成一个值, ...

  10. 每日英语:Does China Face a Reading Crisis?

    For much of the last year, intellectuals and officials in China -- land of world-beating students an ...