本文操作环境:windows7系统、PHP5.6版、DELL G3电脑
Apache2.4+PHP5.6配置教程和问题Apache服务无法启动以及php配置文件不生效等的解决
初学php时用的是Apache2.2+php5.4+mysql5.5的组合,由于准备学习Laravel,对php版本要求较高,所以更换了php5.6,同时,由于Apache2.2不支持php5.5及以上,所以还需要更换Apache2.4版本。下面记录一下更换过程以及纪念一下过程中遇到的各种问题的解决。
首先是php5.6的下载,没什么疑问,php官网(www.php.net)右上角下载最新php5.6,
这里是windows环境,需要点击windows downloads的最后那个选项,
然后选择zip下载,下载速度一般还可以,这里是64位,32位在下面,图解我解释不清,查资料得到的结果
下载完成后直接解压,将文件夹改名php5或php5.6(随意,不过要记住,后面有用到),我是放在了d:盘的wamp下的php5.
第二步接着下载Apache,进入Apache官网,会发现一脸懵逼,不知道如何下载,貌似官网只提供源代码了,没有编译好的二进制文件了,直接放下载地址 http://httpd.apache.org/docs/current/platform/windows.html#down,
目测这5个都可以,我选的第二个感觉下载速度正常,看图(注意自己的版本)
下载后直接解压,这里我放到了d:\wamp\Apache2.4,记住文件夹名
到此,下载安装就算完成了,接下来开始配置过程。
首先说一个前提,修改Apache和php配置文件后都需重启Apache服务器才会生效。
cmd以管理员方式运行命令行窗口,切换到Apache目录下的bin目录中,执行httpd -k install命令把Apache服务安装到Windows服务中,如果不是管理员方式运行会报错。
这里要注意,执行上述命令后,如果你的Apache2.4不是放在c:\Apache24下的话,肯定会报一个错,因为配置文件中的默认路径和你放的路径不一致,所以这里更改Apache目录下的conf中的httpd.conf文件,可以直接Ctrl+F搜索c:\Apache24把所有的默认路径更改成你的路径,比如我这里是d:\wamp\Apache2.4。
然后把php配置给Apache,在httpd.conf文件的很多LoadModule的那里,加上如下几行配置:
#加载PHP
LoadModule php5_module "D:/wamp/php5/php5apache2_4.dll"
#分配工作给php模块
AddType application/x-httpd-php .php .phtml
#加载php配置文件
PHPIniDir "D:/wamp/php5"
要注意你的路径以及代码中的符号/空格,差一点也不会生效,到此,Apache的配置完成。可以通过Apache目录中bin目录下的ApacheMonitor程序或httpd.exe或cmd命令(httpd.exe -w -n "Apache2.4" -k start,此命令还可以显示启动失败的错误原因)或windows服务中开启Apache服务,正常启动后,此时可以浏览器访问localhost,如果出现It Works,说明Apache成功运行,可以在默认网站根目录中(Apache目录下htdocs目录)新建一个php文件,内写phpinfo();,浏览器打开查看php版本信息,正常显示说明php成功加入到Apache了
接下来配置php,将php目录中的php.ini-development文件复制一份重命名为php.ini并打开,首先说一个遇到的小问题,如果查看php版本信息时在data下面位置出现了一个警告
我只知道这是php的时区问题,解决方法:在php.ini中按图修改配置信息:
按照惯例,下面应该开启一些常用的php扩展,一般有curl,mbstring,mysql,mysqli,PDO_mysql等,开启方法就是在php.ini中找到一串类似extension=php_mysql.dll的代码,将需要开启的扩展前面的分号去掉即可,具体不解释,
这里我遇到的一个问题是开启扩展后,重启Apache服务器N次,竟然未生效!一度怀疑Apache配置有问题,经过查资料和不断尝试后发现了一个很低级的错误,就是php也有他的默认路径c:\php什么的反正是在c盘的,我这里是d盘,所以需要指定扩展包的所在路径:extension_dir = "D:/wamp/php5/ext",然后发现扩展终于开启了。
由于之前早已经安装过Mysql5.5,我也忘了具体步骤了,这里不再充胖子了。
总结一下,这次升级过程我遇到的最多的问题就是没有及时修改Apache和PHP的默认路径,他们的默认路径都是c盘的,一般windows下我们不会将自己的文件放在c盘,所以这些问题相信大部分人都会经历,希望对你们有所帮助吧,同时也是我以后再次升级的参考。