php的开发环境搭建有两种,一种是自定义的方式,另一种是集成安装包的方式,后一个的难度要比第一个的搭建难度小的很多,就是直接安装的方式,具体的配置信息已经由别人处理好了,但是,第二种利用集成方式的却有着很大的诟病:
1:第一是,版本无法得到充分的更新,导致环境老化,以前觉得版本的新老和开发没有太大的关系,但后来才发现,老版本对于新生的流行技术支持力度是远远不够的,如php低于5.2的版本对于zend框架的支持会很弱,这可是要命的事,就意味着学不了框架。。。。这么说,如果是自定义安装呢,可以大大的不用去考虑其你知道的不知道的复杂连接性。
2:其次,集成开发环境本身不可能都为你做的尽善尽美,很多地方还是有所保留,如当你安装的是wampserver,会让你遇到中文乱码的情况,好像我都试过了,这是在mysql只支持拉丁文,拉丁文啊,,,你会吗????不仅这一个集成环境是这样的,好不容易找到了一个支持中文的appserver,可是问题又来了,它竟然不支持事物机制,没它还玩啥安全。。。源于存储引擎的问题,让你百度试完所有的方案都无济于事。
3:另外出现的问题还有,当你开通gb2会图库的时候,引入gpgraph也不支持。
4:还有在我们配置虚拟主机的时候,整个配置文件搞得那叫一个不是一般的乱,让你找不清东西南北,最要命的是,当你辛辛苦苦配置完,apache竟然罢工啦,怎么打他都起不来,问题是你已经无法再几千行代码找出问题所在了,就是说,你之前配置的所有环境都付诸东流了。。。简直就不让人活了!
以上说的是集成包安装php环境的问题,但是,如果采用自定义的方式安装,仅仅安装配置打通apache,mysql和php的联通性就够你忙的了,实话实说,我之前一直用的集成包的方式,但发现越往后学习,集成安装的问题越来越多,索性就重装环境,这次采用的是自定义的安装配置方式。不多说了,就说一下自定义的安装配置具体的步骤吧,为了减少版本所带来的各种差异性的问题,我挑选了一方面是最新版本另一方面还要有相互支持性特别是php,我特意把apacehe选的2.2,原因很多,不再多说,具体的版本情况为:Apache2.2 mysql5.6 php5.4
这是我整理好的要用的软件:Apace+mysql+php,具体的配置也是以这个为准:
开始了!
1:先给自己准备好安装目录,如在E盘建立一个myphp的文件夹,然后在里面分别建立Apache,mysql,php的文件夹,这是在下面具体安装的时候就很合理了。
2:先安装apache,关于安装时填写localhost,80端口什么的就不在多说了,安装的过程很简单,不要忘了安装在刚才建立的apache目录里面。
3:当我们安装完了,该怎么办,安装下一个?,不是,是测试你刚才安装的apache是不是成功启动服务了,做法很简单,打开浏览器,输入localhost,当我们看到经典的
It Works!的时候,说明我明的Apache已经安装成功了,不要高兴的太早,你还需要把Apache重启一下,看看是不是还能正常启动,有时候安装完的时候可以启动,但关闭
再次启动的时候就出现了问题,这种问题很常见,所以要非常的注意。
4:就是安装php了,说安装也不算是安装,其实就是解压php压缩文件,这里的php就是一个核心解释的东西,没有它php根本玩不转,具体我要要做的是把php压缩文件解压到我的E:/myphp/php文件夹里面去,这样从某种意义算是完成了安装php的工作,过程更加简单,不要急,晕的东西在后面。。。
5:你想想我们把Apache安装完了,下面应该就是配置他们直接的关系,这里配置让他们之间相互联系就是要配置E:/myphpApache//conf/httpd.conf这一个配置文件,记住,httpd.conf这个文件非常非常的重要!!!,首先要做的就是:在loadModule的模块那个地方自己添加对通过对php5Apache2_2.dll.来连接php5,在做这个行为的前提是先在php的文件夹下面看一下有没有这一个文件,这个有没有很重要,没有你还连接啥,因为我的发的资源都是测试通过的,所以必然会有这个文件,那么你就应该在httpd.conf这个文件配置写入LoadModule php5_module E:/myphp/PHP/php5apache2_2.dll(注意啊,路径是你的安装路径,要弄清楚)。这样的话,你的Apache就和php发生了关系。
6:当完成上一步的时候,就应该一气呵成,你让他们连接了还没有用,下面要做的就是,你得让Apache知道如果遇到php文件该怎么办,还能怎么办,当然发送给php解析啦,所以,必须在httpd.conf中写入这么一段语句:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
这段配置语句的意思就是我上面的话的意思,配置完成这个仅仅只是一个阶段,因为你只是连接了php,但php还是无法加载其相应的模块。
7:说道加载就得让Apache去找到php.ini,但你就可能奇怪了,php里面没有这一个文件啊,肯定会有的,当你看到有一个php.ini-devrlopment的文件时,其实这个就是php的配置文件,我们要做的就是复制 一份这个文件,重命名为php.ini,这样就做的就是把php.ini的路径给复制下来,然后去httpd.conf文件,还记得上边添加php解析的那段话吗,我们要做的就是在这段话的后面再添加一段让php去调用其相关的模块的语句,就是:PHPIniDir "E:/myphp/PHP"(同样的,你的路径是你自己的)。
8:接下来,乘胜追击,重启Apache,你这里可以写一个php文件检测一下调用php模块是否成功,即<?php echo phpinfo(); ?> 在通过Apache打开这个文件的时候,会显示很多东西(当然也可能什么不显示或报错,那就是你配置失败了),注意一下,你看看前面的一个Loaded Configuration File的路径是不是你的php.ini的路径,如果是,说明你这里配置成功了,反之这里配置失败。
9:就是在php.ini里面添加扩展路径了,扩展路径是什么,当你打开php的ext文件夹就知道了,里面是php支持的所有库,包括mysql,mysqli,gd2,pdo等很多用到的我们需要
用到的,这里我么要打通它,同样的,很简单,在php.ini,搜索extension_dir这个字符串,肯定会看到 extension_dir = "E:/myphp/PHP/ext/",去掉分好就打开了,真没有的
话就自己添加,一样的。还有配置时区加date.timezone = prc。
10:完成上面的工作我个人建议再重启一次Apache,看有没有上面错误,如果不这样,后面的mysql一旦出现错误很难查找,这里如果说没有任何的问题,就进行下一步,开始安装mysql。
11:因为我下载的mysql是最新版本的,在一开始安装的时候竟然不知所措,就简单说一下,双击安装,出现典型安装,自定义安装等,如果在在定义的安装中能够选择安装
目录,就选择自定义安装,不可以的话就典型安装也可以,然后选择操作系统的类型是32位还是64位,他会给你选择你需要的东西,安装的东西要把握能多不能少,其实很多东西在后面的学习中还是比较有用的,其次,选择开发模式支持会话机制,以前我装的时候没选这个,导致事物无法回滚,所以选上他,然后字符编码,账户类型(一定为ROOT用户!)端口等默认的就是,密码你自己设置,就是你登陆数据库的密码。安装目录同样的在E:/myphp/mysql的文件夹。
12:这个时候你可以看一下你的客户端能不能用,cmd------输入mysql -u root -p------------输入你的密码-----------------是不是欢迎的东西,只要不报错就对了。
13:这是同样的我们得思考一下,能够操作php的是什么,是php文件,这样我们还要建立php和mysql的连接,我们之前不是在ext文件夹看到很多库,php连接的就是它,
在php.ini里面,搜索extension,大概850行左右,你需要打开两个库文件extension=php_mysql.dll和extension=php_mysqli.dll,同样的,去掉前面的引号就打开了,
要说的是,我们不可能只用这两个库,还有其它的库也比较重要,在后来学习的过程中,都会相关的用到,建议用到的时候再打开。
14:然后重启Apache,检查一下我们的mysql是否可以用了,简单的方法就是打开我们之前自己建立的info.php这个文件,看看有没有加载mysql和mysqli这两个模块,这两个
其实就是mysql的两个接口,当然还有pdo,就不在多说了,如果说,看到了两个模块,到了这里,我们的php基本环境算是搭建完毕。
另外,我们在很多的时候要用到建立虚拟主机,关于虚拟主机的配置,详见我的另一篇博文:虚拟主机的配置