Windows10 Build 10586(我的操作系统)。
IIS 7.0 或更高版本,Win10 上带有的就可以了。
至于IIS嘛,以前就布置好了的,这里就不写了。
首先选好一个目录,用于安装PHP,例如我选择的目录是
,
我习惯把一些重要的东西安装在这个位置,方便管理。接下来,把前面下载好的zip文件解压,解压到你选择的目录里。目录里应该有的层级是这样的:
C:\Program Files\PHP
……..|
…….+ – dev
……..|……..|
……..|……..| – php5ts.lib ————— php5.lib 的非线程安全版本
……..|
…….+ – ext —————————– PHP 扩展库的 DLL 文件目录
……..|……..|
……..|……..|-php_bz2.dll
……..|……..|
……..|……..|-php_cpdf.dll
……..|……..|
……..|……..|-…
……..|
…….+ – extras ————————- 空
……..|
…….+ – pear ————————— PEAR 的初始版本
……..|
……..|
……..|-go-pear.bat ——————– PEAR 安装脚本
……..|
……..|-…
……..|
……..|-php-cgi.exe ——————– CGI 可执行文件
……..|
……..|-php-win.exe ——————- 无窗口执行脚本的可执行文件
……..|
……..|-php.exe ————————- PHP 命令行可执行文件(CLI)
……..|
……..|-…
……..|
……..|-php.ini-development ——— 默认的 php.ini 设置
……..|
……..|-php.ini-production ———– 推荐的 php.ini 设置
……..|
……..|-php5apache2_2.dll ———– 非线程安全版本中无此文件
……..|
……..|-php5apache2_2_filter.dll —- 非线程安全版本中无此文件
……..|
……..|-…
……..|
……..|-php5ts.dll ———————– PHP 核心 DLL(php5.dll 的非线程安全版本)
……..|
……..|-…
.
以上内容引用自官网
然后选中 php.ini-production 文件,复制到桌面或其它临时的工作目录,重命名为 php.ini,再以文本方式打开,找到以下行并作如下修改:
以下所有行修改后,都要删除行首的“;”,以使其生效。
extension_dir = [C:\Program Files\PHP]\ext,中括号里的是你的 PHP 安装目录。
extension = xxxxx.dll,把所有这样形式的行,前面的“;”去掉,作用是激活相应的扩展。在这里,所有要加载的扩展库都必须在 extension_dir 所指定的目录之中。 至于哪一个有什么用,暂时还没搞清楚,就先都激活了。
log_errors = On,启用错误日志记录功能。
error_log = X:\Documents\0-Work\PHP\php_log\php_errors.log,这个路径指向你的 log 文件,推荐挑一个好找的地方。
date.timezone = Asia/Shanghai,设置时区为上海,为什么不设置为北京呢~因为并不支持。关于 PHP 所支持的时区,可参考PHP:时区。
cgi.force_redirect = 0,在 IIS 下运行时需要关闭此项指令。这是个在许多其它 web 服务器中都需要激活的目录安全功能,但是在 IIS 下如果激活则会导致 PHP 引擎在 Windows 中出错。
cgi.fix_pathinfo = 1,此指令可以允许 PHP 遵从 CGI 规则访问真实路径信息。IIS 的 FastCGI 实现需要激活此指令。
fastcgi.impersonate = 1,IIS 下的 FastCGI 支持模拟呼叫用户方安全令牌的能力。这使得 IIS 可以定义请求方的安全上下文。
fastcgi.logging = 0,FastCGI 日志在 IIS 下应被关闭。如果激活,则任何类的任何消息都被 FastCGI 视为错误条件从而导致 IIS 产生 HTTP 500 错误。
以下是一些可选的配置项:
max_execution_time = ##,此指令设定任何脚本所能够运行的最长时间。默认值是 30 秒。如果 PHP 程序需要更多时间运行则增大此值。
memory_limit = ###M,PHP 进程能够占用的内存,单位为兆字节。默认值是 128M,对大多数程序都够用了。某些复杂程序可能需要更多。
display_errors = Off ,此指令设定 PHP 是否将任何错误信息包含在返回给 web 服务器的数据流中。如果设定为 “On”,则 PHP 将任何由 error_reporting 指令所定义的错误信息作为错误数据流发给 web 服务器。为安全起见,建议对在线服务器设为 “Off” 以避免泄露任何可能包含在错误消息中的安全敏感信息。
open_basedir = <指向目录的路径,由分号分隔>,例如 open_basedir = “C:\inetpub\wwwroot;C:\inetpub\temp”。此指令指定了允许 PHP 进行文件系统操作的目录。任何对这些目录之外的文件操作都会导致错误。此指令在共享主机环境中特别有用,可以阻止 PHP 脚本访问任何其网站根目录之外的文件。
upload_max_filesize = ###M 和 post_max_size = ###M,分别是上传文件的最大大小和 POST 方法提交数据的最大大小。如果 PHP 程序需要上传大型数据例如照片和视频文件,则应提高这两项的值。
按下 Win+R,输入 optionalfeatures.exe,点确定,然后进入“Windows功能”,顺序展开 Internet Information Services – 万维网服务 – 应用程序开发功能,勾选上 CGI,单击确定按钮并等待安装完成。如下图:
按下 Win+R,输入 inetmgr,点确定进入“IIS 管理器”,在界面左边:
右击 应用程序池 – 添加应用程序池,然后点确定:
然后,在界面左边:
右击 网站 – 添加网站,然后点确定:
使用 IIS 管理界面来创建 PHP 的程序映射,在如图所示位置,双击 处理程序映射:
然后在界面右边的 操作 面板中,单击 添加模块映射…,在弹出框中,输入以下内容:
单击 请求限制(R)…,并如图勾选:
至此,环境准备完毕。
在刚才选择的 php 网站的目录下,新建一个 php 文件:
在这个文件里码上以下两句代码,然后保存:
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>PHP测试title>
<style type="text/css" media="screen">
h1{text-align:center;}
style>
head>
<body>
<h1>
echo "Hello World!" ?>
h1>
phpinfo() ?>
body>
html>
到浏览器里运行,检查效果:
uh~ perfect! nice work, well done!