为了更深入的理解下服务端的配置 ,上篇文章讲了如何在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