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
谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...
随机推荐
- Altera quartus II遇到的问题
编译时提示: Warning (13024): Output pins are stuck at VCC or GND Warning (13410): Pin "SCLK" is ...
- PHP 5.6正式发布:新特性、及功能改进介绍
经过了长时间的开发测试,新版本PHP程序(PHP5.6正式版)终于发布了.新版本中加入了一些实用的新特性,也摒弃了一些冗余的功能.同时,也对部分原有功能进行了改进.下面就一起看看PHP 5.6正式版到 ...
- Solr4.8.0源码分析(5)之查询流程分析总述
Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...
- Install RHadoop with Hadoop 2.2 – Red Hat Linux
Prerequisite Hadoop 2.2 has been installed (and the below installation steps should be applied on ea ...
- centos7 install mysql
1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-co ...
- PartialFunction(偏函数)
val one:PartialFunction[Int,String]={ case 1 => "one" case 2 => "two" case ...
- Http Request Process
Request---------------->IIS(w3wp.exe)--------------->CLR(AppDomain)-------------------->ASP ...
- 不通用版(从SVN取版本,通过MAVEN生成JAVA包,通过SALTSTACK传送到远程服务器并自动重启TOMCAT服务)PYTHON代码
从昨晚写到今天啊, 第一版测试成功了. PHP和JAVA的更新相对来说,PHP的自动化更新是简单多啦~~ 当然,这只是运维工作当中的一环~~ #!/usr/bin/env python # -*- c ...
- java中利用RandomAccessFile读取超大文件
超大文件我们使用普通的文件读取方式都很慢很卡,在java中为我提供了RandomAccessFile函数,可以快速的读取超大文件并且不会感觉到卡哦,下面看我的一个演示实例. 服务器的日志文件往往达到4 ...
- LINUX下中文语言包的安装(转)
在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...