Apache2.2支持php5.4的配置方法
安装不难,只是mysql安装过程需要的一个插件我电脑没有,下载了一整晚……最折磨我的是它们之间的配置问题。
问题1:无法在Dos通过net start 启动MySql
由于在安装时默认将my.ini装在C:\Documents and Settings下的文件夹中,和MySql服务中的可执行文件的路径不一致,因为无法执行配置文件,因此net start mysql55命令无效。
而我当时的指令路径里面是没有my.ini,因此将它剪切至指定路径,同时安装目录下也需要一份。
另外环境变量的下用户变量的Path也要添加D:\Program Files\MySQL\MySQL Server 5.5\bin,这是为了在Dos环境下使用mysql命令。
MySql服务可执行文件的路径——
"D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld" --defaults-file="D:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini" MySQL55
其中defaults-file指定了参数文件的位置,如果没有该参数,一般my.ini参数文件在windows的系统目录下或mysql的目录下,从my.ini的配置中可以找到mysql数据的存储位置。(http://blog.163.com/weixia_1985/blog/static/9630479720125635011996/)
问题2:网页无法连接mysql
我只是想试运行一个案例而已,结果网页shi命都不开,老是出现这个错误,网上搜了一大堆方法,都基本是一个意思,直到我向甜煎饼同学求救,他应该是很无语的告诉我,conn.php的line2就是数据库的连接语句啊,你照办案例,连密码都不带改一下的……囧,以上语句为我自己猜测他的内心吐槽。
好吧,我改了密码,还是不行。(此事还有后续,真相不止步于此)
问题3:每次开机都提示——PHP Warning: PHP Startup
后来查了Apache的error.log,错误是这样的PHP Warning: PHP Startup:in Unknown on line 0
苦逼的娃,网上搜来搜去都都找不到合适的方法,方法很多,大同小异,但都没用……于是我一怒之下决定——全部重新配置!!!经过长时间奋斗,终于搜到一篇对我有用的,内牛满面啊!!!!!
下面说说配置步骤吧,来自http://hi.baidu.com/mvp_xuan/item/17ab743ac1046dfade2221ae,是根据他来修改最后成功的
1、下载解压
下载地址:http://windows.php.net/download/
需下载:VC9 x86 Thread Safe (2012-Feb-29 21:16:12),zip版的,否则没有php5apache2_2.dll文件。
暂时无法配置php5apache2_3.dll的!还没有找到解决方法╮(╯▽╰)╭ ~ 不过5.4自带2_2和2_3的。
2、修改配置文件
先备份php.ini-development文件,然后再将原文件改名为:php.ini。打开php.ini修改以下参数:
(1)211行:short_open_tag = On;
(2)215行:asp_tags = On;
(3)867行(如果868行是extension=**.dll的开始行),增加一行,并注意不要分号注释:
extension_dir="D:\php\ext"
(我的PHP安装地址是D:\php\,配置此项时,请根据实际情况配置)
(4)将868行开始的以下几个dll前的分号去掉,使其功能开启:
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
当然也可以直接把上面一段复制,粘贴进去,这样比较方便,也不会有任何的问题产生,还能保存原始参数形态~
如果还有其他需要,根据实际情况取消注释即可。
(5)920行,设置中国时区:date.timezone = prc ;
(6)保存php.ini,并复制到C:\Windows 。
3、让Apache支持php5.4
打开\Apache2.2\conf\httpd.conf ,编辑:
(1)130行(是一堆LoadModule **.so的末尾行),增加一行:
LoadModule php5_module "D:\Program Files\PHP 5.4\php5apache2_2.dll"
(我的PHP安装地址是D:\php\,配置此项时,请根据实际情况配置)
(2)搜索AddType,并在最后这个字段的下一行空白处添加如下信息:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5
(3)、保存并关闭httpd.conf。
4、复制文件 复制:
(1)D:\Program Files\PHP 5.4 下的:libeay32.dll、php5ts.dll、ssleay32.dll,以及
(2)D:\Program Files\PHP 5.4\ext 下的:php_curl.dll、php_openssl.dll ;
到:
C:\Windows\System32 文件下,这个是为了防止出现找不到一些dll文件的情况。
(之前看其他人的文章复制部分文件在system32下,但是估计不全吧)
5、重启apache
net start apache2.2
6、Test
在\Apache2.2\htdocs下新建一个test.php,里面输入:
<?php phpinfo(); ?>
打开浏览器,输入:http://localhost/test.php 。
7、MySQL-5.5.23 在Windows上的安装及使用 ; MySQL简明教程
标题是一个链接,点击即可。
问题4 :phpinfo.phpde的Loaded Configuration File为none
苦逼的娃,经过一早上的苦苦搜查,终于发现一篇神贴,有人表示,还要在系统变量中添加一个PHPRC,(配置环境变量,给这个变量指定个路径,以后用该变量名就能找到该路径。PHPRC是php.ini 的查找路径)指向D:\php,再重启,Loaded Configuration File指向D:\php\php.ini(http://www.xiaotiti.com/?tag=loaded-configuration-file)
前面说到问题2的事情还没有结束,加上PHPRC之后我试着把之前加在my.ini的bind-address去掉,重启发现案例也能成功运行!!!!!好吧,这说明一个问题,开始的配置有问题……
问题5:MySql WorkBench CE 无法连接
甜煎饼同学帮我远程了一个下午,在my.ini里面的[mysqld]下设置了bind-address=127.0.0.1后,终于连接上了……甜煎饼同学原话:那个mysql workbench连接不了是因为要绑定 bind-address=127.0.0.1这个地址,可能跟系统网络有关吧,步骤:
(1)、修改my.ini文件(注意是MySQL服务所读取的文件,可通过服务属性查看)
在my.ini文件中的[mysqld]下添加bind-address=127.0.0.1;
(2)、重启MySQL服务。
走了这么多弯路,上面短短两行话包含了我多少次开机重启,尼玛的配置折腾了我三四天,我勒个去!