win7+apache+php+mysql环境配置操作详解

1.PHP版本简介


PHP各版本之间的区别,PHP版本后面一般有VC6和VC9、Thread Safe和Non Thread Safe的区别,VC6就是legacy Visual Studio 6 compiler,就
是使用这个编译器编译的,VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的,如果你选用的是Apache或者其他服务软
件,那么选择VC6,选用的是IIS的话,那么请下载VC9 的。Thread Safe 是线程安全,而Non Thread Safe就是非线程安全, 官方并不建议你将
Non Thread Safe 应用于生产环境,所以一般选择Thread Safe版本的下载就可以了。下载Zip包就可以了。

2.PHP下载,选择哪个版本


下载地址http://windows.PHP.net/download/,笔者选择的是PHP-5.3.16-Win32-VC9-x86.zip
(1)如果用的是apache1或apache2,请选择vc6版的PHP
(2)如果用的是IIS,你应该选择VC9版的PHP
VC6的版本是用Visual Studio 6编译的,VC9是用Visual Studio 2008编译的,提升了性能和稳定性,VC9版本需要安装Microsoft 2008 C++
Runtime,下载地址http://www.microsoft.com/en-us/download/details.aspx?id=29,或者安装VC10,下载地址
http://www.microsoft.com/download/en/details.aspx?id=8328

3.下载和安装apache


(1)下载地址http://httpd.apache.org/download.cgi,笔者下载的是httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
(2)apache安装:
在这里主要配置
Network Domain:yourdomain.com
Server Name:www.yourdomain.com
Email:username@126.com
Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录
在完成apache服务的安装后,在游览器中输入http://localhost/,出现It's work!字样,说明Apache服务安装成功了。
(3)如果启动apache时,报了“(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。 : make_sock: could not bind to
address 0.0.0.0:80”的错误
用netstat -ano查看80端口已被占用,通常80端口会被IIS占用。
(4)解决方法:打开Apache安装目录\conf\httpd.conf文件,需要修改listen 80--》listent 88
(5)在浏览器里输入http://localhost:88即可
(6)如果启动apache出错“httpd.exe: Could not reliably determine the server's fully qualified domain name,using 192.168.1.111
for ServerName”是因为DNS没配置好. 如果不想配置DNS,就在httpd.conf中去掉ServerName前的#,修改为 ServerName 127.0.0.1:88

4.PHP的安装和配置


(1)将PHP-5.3.16-Win32-VC9-x86.zip解压至d:\PHP
(2)PHP.ini-development配置文件重命名PHP.ini
(3)打开PHP.ini文件,找到如下文本
; On windows:
; extension_dir = "ext"
去掉extension_dir前的“;”,修改为extension_dir = "D:/PHP/ext" 表示指定PHP扩展包的具体目录,以便调用相应的DLL文件
(4)由于默认PHP不支持自动连接MysqL,需开启相应的扩展库功能,比如PHP_MysqL.dll等,找到如下dll文本,去掉前面的";"
extension=PHP_curl.dll
extension=PHP_gd2.dll
extension=PHP_mbstring.dll
extension=PHP_MysqL.dll
extension=PHP_MysqLi.dll
extension=PHP_pdo_MysqL.dll
extension=PHP_pdo_odbc.dll
extension=PHP_xmlrpc.dll
(5)配置PHP的session功能
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目
文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了PHPsessiontmp目录,然后在PHP.ini配置文件中找到
;session.save_path = "/tmp"
修改
session.save_path = "D:/PHPsessiontmp"
(6)配置PHP文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在
Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了PHPfileuploadtmp目录,然后在PHP.ini配置文件中找到
;upload_tmp_dir =
修改

upload_tmp_dir = "D:/PHPfileuploadtmp"
PHP默认上传文件大小为2M,
upload_max_filesize = 2M,可以根据自己的要求将其修改
upload_max_filesize = 8M

(7)时区设置
修改date.timezone,否则在执行PHPinfo时date部分会报错:Warning: PHPinfo() [function.PHPinfo]…,在PHP.ini配置文件中找到
;date.timezone =
修改
date.timezone = Asia/Shanghai

5.配置Apache支持PHP,所以还需要在Apache配置文件中完成相应的PHP配置


(1)打开d:/apache/modules/mod_vhost_alias.so
在#LoadModule vhost_alias_module 下添加
LoadModule PHP5_module "c:/PHP/PHP5apache2_2.dll"
PHPIniDir "c:/PHP"
AddType application/x-httpd-PHP .PHP .html .htm
我们在PHP目录下可以看到多个PHP5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用PHP5apache2_2.dll,接着指定
PHP的安装目录以及执行的程序扩展名。
(2)再次打开apache的httpd.conf 修改DocumentRoot
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改
DocumentRoot "D:/PHPWeb"
(3)修改Directory
修改
PHPWeb">
(4)修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.PHP优先执行
DirectoryIndex index.html
修改
DirectoryIndex index.PHP index.html
(5)开启支持rewrite module
#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面#,
修改为 LoadModule rewrite_module modules/mod_rewrite.so

6、重启Apache服务器


至此,在Apache服务器上PHP环境配置工作就完成了,你只需要在D:/PHPWeb目录下新建一个PHP文件,写入
代码如下:
PHP
PHPinfo();
?>

然后在浏览器中输入http://localhost:88,就可以看到PHP的具体配置页面了,代表在Window 7上PHP环境配置工作就算完成了。

7.测试数据库连接

新建testdb.PHP
代码如下:
PHP
$connect=MysqL_connect("127.0.0.1","root","**");
if(!$connect)
echo "MysqL Connect Error!";
else
echo "db connect 你好";
MysqL_close();
?>

若出现中文乱码,修改PHP.ini配置 default_charset = "utf-8"

8.如果你的如上配置太复杂,那么可以用wamp傻瓜化安装包,下载地址http://www.wampserver.com

因为WAMPSERVER (32 BITS & PHP 5.3) 2.2E里就包含了

MysqL 5.5.24 – PHP 5.3.13 XDebug 2.1.2 XDC 1.5 PHPMyadmin 3.4.10.1 sqlBuddy 1.3.3 webGrind 1.0

笔者在自己电脑上用wamp发现虽然在PHPMyadmin建数据库和表时设置里UTF-8还是出现乱码,解决办法是在MysqL_connect()之后加入

代码如下:
MysqL_query("set names utf8");

即可解决中文乱码

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...