windows下安装php笔记
为了更深入的理解下服务端的配置 ,上篇文章讲了如何在windows下安装apache , 接下来再研究下在windows下安装php并且结合apache运行php环境, 纯属学习用 ^^ ,如果嫌麻烦可以直接去安装集成环境(wamp等等)。
一 : 下载安装程序
这里下载的也是压缩包,直接解压就可以了。 最新的php版本已达到7.1了,考虑到大部分项目都是5.x版本,这里以PHP 5.6 (5.6.23)版本为例子。
php下载地址:http://windows.php.net/download/

这里选择vc11x64 thread safe压缩版本, (x86是32位的 ,不要选错了)
关于thred safe 还是Non thread safe 到网上查了下大概是这样(我们这里是apache服务器就选择thred safe 吧):
PHP的两种执行方式:ISAPI和FastCGI
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择ThreadSafe版本
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,如果是以FastCGI来执行PHP,建议选择NonThread Safe版本
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版
下载好之后解压到C:\wamp-all\目录下 ,重命名为php-5.6.23。
二 : 配置php
1. php.ini-production改名为php.ini
2. 搜索; extension_dir = "ext" 将前面的;(分号)去掉,这是打开注释。要改成绝对路径才行,否则连接数据库时会报错,例如:extension_dir = "C:/wamp-all/php-5.6.23/ext"
这个是指向扩展库目录的路径(需要指向存放 PHP 扩展库文件的目录),可以是绝对路径(如 "C:/wamp-all/php-5.6.23/ext")或相对路径(如 "ext"), 这里默认是ext, 直接打开注释就可以了。
3. 依次打开扩展库
php_fileinfo.dll、php_gd2.dll、php_mysql.dll、php_mysqli.dll、php_pdo_mysql.dll 将前面的;去掉就可以了。

三: 配置apache
上一节已经讲解了apache的基本配置,现在这里是把php安装为apache的一个扩展模块 (只是apache的一个扩展模块而已)
1. LoadModule
在apache配置文件httpd.conf 搜索LoadModule 在最后的LoadModule添加:
LoadModule php5_module "C:/wamp-all/php-5.6.23/php5apache2_4.dll"
有两个参数,第一个参数php5_module为模块的名字 ,可以自己取, 第二个参数是模块的dll文件,这个在解压的php包里面可以找到 (有几个类似的,不要找错了)。
注意:不要在后面加#注释,否则会报错
LoadModule php5_module "C:/wamp-all/php-5.6.23/php5apache2_4.dll" #加载php模块
会报参数错误。

2. AddType
在apache配置文件找到AddType application/x-gzip .gz .tgz
在下面直接加上php模块解析哪种后缀文件,多个以空格隔开
AddType application/x-httpd-php .php .phtml
3. PHPIniDir 指定php配置文件的位置
直接在AddType application/x-httpd-php .php .phtml下面添加即可
PHPIniDir "C:/wamp-all/php-5.6.23"
配置完保存,重启apache 。
发现报错

但是看不到错误日志 ,不知道哪里错了, 网上搜索了下,有的说是端口被其他程序占用了,改了端口重启apache还是一样报错 。
找到了在命令行模式下启动apache的方法, 这时如果报错,错误信息会打印在命令行
打开cmd, cd到apache/bin目录下,执行:httpd.exe -w -n "apache" -k start;
其中"apache"是安装apache时指定的apache服务器名字(见apache安装文章)
开始是报参数错误,上面已讲过了 ,把注释去掉就可以了。

去掉注释再次运行httpd.exe -w -n "apache" -k start; 发现新的错误

看到这些错误提示信息,想起了选择下载php版本的时候选择的是vc11 ,需要下载vc11的编译环境。
下载地址:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679

选择合适的类型下载安装即可。
安装完成再重启apache ,太高兴了 。一切运行正常。如果要开启错误提示可以修改配置:display_errors = On 只有配置文件的错误提示打开了,才可以单独在php文件再配置错误信息是否开启。
//禁用错误报告
error_reporting(0);
//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE); error_reporting(E_ALL); //开启所有的
最后测试下php环境 ,在网站根目录下新建index.php
<?php
echo "hello world ";
打开浏览器输入http://localhost/index.php
出现:hello world
环境正常。
总结 : 开始看了细说php上的教程,那本书上的例子都太老了。这里的注意点在下载版本和配置apache上, 环境已经顺利跑通了 ,当然linux上的php环境有空也要折腾下 ^^ 。下一节看下mysql安装 。
参考文档:
1. 细说php书籍
2. http://windows.php.net/download/
3. http://jingyan.baidu.com/article/e4d08ffd8fa40d0fd2f60dfd.html
4.http://zhidao.baidu.com/link?url=Q41MURlaZKOfo_dy_YgNq7DyNDonCoL1mU71oUdEc6xf0zDxhzoOIQ6O3iJ-vHon104AgpLgAVBBI2cMJCmiMnley45_hCi5MwTZa_J2xpm
windows下安装php笔记的更多相关文章
- windows下安装mysql笔记
接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...
- windows下安装apache笔记
之前一直是用别人配置好的apache环境来开放,今天想自己安装配置下windows下的apache(nginx+fastcgi).mysql.php等. 虽然大部分时间是在搞前端开发,偶尔也要搞服务端 ...
- Python学习笔记(三)windows下安装theano
2016.6.28补充: 不论是实验室的电脑还是我的笔记本,只要是windows下,theano.test()都是不通过的.虽然能使用一些theano中的函数,但是我感觉很不好. 所以还是转Ubunt ...
- 基于svnserve的SVN服务器(windows下安装与配置)
基于svnserve的SVN服务器(windows下安装与配置) 基于svnserve的SVN服务器(windows下安装与配置)关键字: svn 安装SVNserve 从http://subvers ...
- windows下安装win7虚拟机并安装oracle
一.win7虚拟机 与安装linux虚拟机没有什么不同,不同的是选择客户机操作系统.内存.磁盘容量,以及映像文件. 创建win7虚拟机步骤简化: 新建虚拟机-->>自定义-->> ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- Windows 下安装 MongoDB
Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...
- Coreseek Windows下安装调试
由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...
- 从零开始学 Java - Windows 下安装 Tomcat
谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...
随机推荐
- listen函数
listen函数仅仅由TCP服务器调用,它做2件事: 1)当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字 listen函数把一 ...
- jQuery全选、反选、全不选
原文链接:https://yq.aliyun.com/articles/33443 HTML内容部分: <ul id="items"> <li> <l ...
- Yii2——MYSQL操作
先创建连接对象 $connection = new \yii\db\Connection([ 'dsn' => $dsn, 'username' => $username, 'passwo ...
- SVN管理工具Cornerstone之:创建分支、提交合并
创建工程的分支: 步骤: 1.选择左下角仓库repositories中的工程名->选择trunk->点击Branch->在提示框里填写分支名称create, 2.在做上角work ...
- NTOPNG,用来平时优化网站性能,用处大的
最近考察一下NTOPNG和NGX-REQ模块,看哪个对网站优化性能用户更大... 参考URL: http://www.68idc.cn/help/jiabenmake/qita/20150109164 ...
- POJ3295 Tautology(枚举)
题目链接. 分析: 最多有五个变量,所以枚举所有的真假值,从后向前借助于栈验证是否为永真式. #include <iostream> #include <cstring> #i ...
- treap修订
#include<cstdio> #include<cmath> #include<algorithm> #include<ctime> #includ ...
- Notepad++去除代码行号的几种方法
Notepad++去除代码行号的几种方法 (转自:http://hi.baidu.com/beer_zh/item/e70119309ee587f2a8842892)问:在网页中复制代码时,常常遇到高 ...
- 关于C#中Thread.Join()的一点理解
原文地址:http://www.cnblogs.com/slikyn/articles/1525940.html 今天是第一次在C#中接触Thread,自己研究了一下其中Thread.Join()这个 ...
- 【Html 学习笔记】第三节——超链接
这一节看看超级链接的应用 普通超链接:<a href=""> <a> 第一个由于环境目前无法尝试,第二个点击后跳转到qq主页. 图片超链接:<imag ...