win7+apache+php+mysql环境配置操作详解
程序员文章站
2022-10-06 10:17:59
1.php版本简介php各版本之间的区别,php版本后面一般有vc6和vc9、thread safe和non thread safe的区别,vc6就是legacy visu...
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 =
修改为
修改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
<directory "c:/program files/apache software foundation/apache2.2/htdocs">
修改为
<directory "d:/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环境配置工作就算完成了。
<?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"
mysql_query("set names utf8");
即可解决中文乱码
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
修改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
<directory "c:/program files/apache software foundation/apache2.2/htdocs">
修改为
<directory "d:/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里就包含了
apache 2.2.22 – 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");
即可解决中文乱码