搭建PHP+mysql+apache环境
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WIN7下搭建PHP环境
注意:本文章里的代码在复制出的时候有可能会导致编码问题,所以为了避免出错,请自己按照代码输入,而不要直接Copy!
第一步Windows 7安装Apache服务
在这里主要配置Network Domain、Server Name、Email地址以及Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录。
我用的Network Domain:localhost ,Server Name:localhost ,Email自己任意定义。
在完成apache服务的安装后,在游览器中输入http://localhost/,出现It’s work!字样,说明Apache服务安装成功了。
注:安装中可在change中改路径。
安装成功之后,可以屏幕右下角看到羽毛的图标。
Apache默认的安装,在点用80端口,如果你的机器这个端口已经被点用,将无法启动。
解决办法:
找到apache的安装目录,打开conf/httpd.conf这个文件。
用记事本打开即可,找到Listen 80 这行代码,将80改成其它端口,
这里改为了:Listen 8009。
然后,启动Apache服务,即可。
在改变端口号后,对其进行页面测试。
正常情况下Apache的测试页面就是在安装成功以后在浏览器输入http://localhost/ 时出现了页面,显示“It works”,说明Apache安装成功。
但是改了端口后你必须输入http://localhost:yourport/才能看见网页,例如:“http://localhost:8009/”。
Apache服务器的默认端口是80,如果你安装了IIS(internet信息服务管理器)的话,将会产生端口冲突,无法看见Apache的测试页面或报错,IIS有可能无法启动。
第二步:Windows 7下安装Mysql服务
可以选择安装类型custom、complete(我选择的complete),直到:
选择Finish,开始进行MySQL的设置工作:
选择配置方式,Detailed Configuration(手动精确配置),Standard Configuration(标准配置),这里我们选择“Detailed Configuration”,方便熟悉配置过程。
选择服务器类型,“Developer machine”(开发测试类,mysql占用很少资源),“Server Machine”(服务器类型,mysql占用较多资源),“Dedicated MySQL Server Machine”(专门的数据库服务器,mysql占用所有可用的资源),可根据自己的类型选择,一般选“Server Machine”,不会太少也不会沾满。
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only (非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续。
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改
了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。
我这里没有修改,使用用默认位置,直接按“Next”继续。
选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Sett ing(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,并点选为此端口添加防火墙,按“Next”继续
这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set 那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。
按“Next”继续。
选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe 的完整地址,很方便),我这里全部打上了勾,Service Name不变。
按“Next”继续。
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码
可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。
“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。
最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
确认设置无误,如果有误,按“Back”返回检查。
按“Execute”使设置生效。
设置完毕,在随后弹出的窗口按“Finish”结束mysql的安装与配置即可。
**这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
**
第三步:在Windows 7下安装PHP
PHP安装,只要解压php-5.4.17-Win32-VC9-x86并重名为文件夹为php,将其复制到C盘目录下(C盘下)即可即可完成PHP安装。
第四步:在Windows 7下如何进行PHP配置环境
将php.ini-development配置文件重命名为php.ini配置文件,接着做如下配置操作:
1、打开php.ini配置文件,找到
;On windows下面的
;extension_dir = "ext"
修改为:
extension_dir = "C:/php/ext"
注意前面的;去掉。
表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。
2、由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
这些extension前面的分号;去掉。
(;代表注释掉的意思)
3、配置PHP的Session功能(要是用不到可以暂时不配置)
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7、8上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到:
;session.save_path = "/tmp"
修改为:
session.save_path = "D:/phpsessiontmp"(前面的;去掉)
4、配置PHP的文件上传功能
同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7、8上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
;upload_tmp_dir =
修改为
upload_tmp_dir = "D:/phpfileuploadtmp"
5、修改date.timezone,否则在执行phpinfo时date部分会报错:Warning: phpinfo()[function.phpinfo]…
将;date.timezone =修改为date.timezone = Asia/Shanghai
至此在Windows 7上php的环境配置就算完成了,但是光完成这些配置是不够的,我们需要Apache支持PHP,所以还需要在Apache配置文件中完成相应的PHP 配置。
第五步:配置Apache以支持PHP
在Apache的安装目录下找到Apache2.2\conf里的httpd.conf
1. #LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加LoadModule php5_module "c:/php/php5apache2_
2.dll"
PHPIniDir "c:/php/php.ini"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm
(注意代码直接复制可能导致编码错误,请自己纠正或是自己手动敲入)
解释说明:我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定PHP 的安装目录以及执行的程序扩展名。
2.(可改可不改)我们应该知道默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,即将
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改为:
DocumentRoot "D:/PHPWeb"(如果你编写的代码放在这个目录下的话!)
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
修改为:
<Directory "D:/PHPWeb">
3.最后修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php 优先执行
DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
4.重启Apache服务器
至此,在Apache服务器上PHP环境配置工作就完成了,你只需要在D:/PHPWeb 目录下新建一个PHP文件如text.php,写入
<?php
phpinfo();
?>
然后在游览器中输入http://localhost/text.php,就可以看到PHP的具体配置页面了,代表在Window 7上PHP环境配置工作就算完成了。
在完成Windows 7、8上的PHP环境配置工作后,我们需要完成PHP环境搭建的最后一步,即支持Mysql数据库。
第六步:配置Mysql服务器。
Mysql数据库的配置文件保存在C:\Program Files\MySQL\MySQL Server 5.1\my.ini,如果今后有什么变动,你可以修改此文件。
Php5默认MySQL是关闭的,要将php文件夹下的libenchant_myspell.dll和ext 文件夹里的php_mysql.dll考到C:/Windows/System32里面;在php.ini中找到;extension=php_mysql把前面的;去掉。
重启Apache就可以了。
如果没有上面的配置你就会发现下面的测试会出现
Call to undefined function 'mysql_connect()'这样的错误。
注意:本文章里的代码在复制出的时候有可能会导致编码问题,所以为了避免出错,请自己按照代码输入,而不要直接Copy!
至此Mysql数据库的配置就算完成了,为了验证PHP是否能连接Mysql,你可以在index.php中创建如下代码:
<?php
echo "Hello World!<br>";
$connect = mysql_connect("127.0.0.1","root","123456");
if(!$connect)
echo"Mysql Connect Error";
else echo"欢迎访问";
mysql_close();
?>
然后在游览器中输入http://localhost/,看到:欢迎访问字样就说明PHP连接
Mysql就算成功了。
注意:在php编码的时候可能会出现汉字的乱码问题。
解决办法:PHP代码控制:如果在PHP文件的开头加上header("content-Type: text/html; charset=utf-8");这句代码,也是为了告诉浏览器要以utf-8格式将网页中的内容显示出来。
(注:这句代码之前不能有类似echo的输出。
如果Windows 7下无法使用localhost连接MYSQL5.6的解决方法
在Windows 7中PHP连接Mysql时默认只能使用IP地址连接Mysql,而无法使用localhost连接Mysql,解决方法为打开C:\Windows\System32\drivers\etc下的hosts文件,将
# 127.0.0.1 localhost前面的#去掉。