去年刚开始学习PHP开发的时候,搭建LAMP环境采用了一个现成的软件:phpstudy来完成,虽然勉强能用,但是后来总会发现有这样或那样的问题(一个重要的问题就是系统原装的MySQL数据库会被覆盖掉)弄得挺乱的。今天正好有一点时间,自己从官网下载了各个软件的安装文件以手工配置的方式重新搭建了一下LAMP环境。过程中遇到了很多困难,也看了很多大牛的博客,现在总算是大功告成了。分享一点经验和在整个过程中遇到的问题,希望对和去年的我一样的初学者提供一点帮助,大家共同进步。
系统:win10 x64
PHP:php-7.06-nts-Win32-VC14-x64.zip
Apache:httpd-2.4.20-x64-r2.zip
MySQL:MySQL-5.5.47-winx64.msi
以上文件都可以在官网找到。
值得一提的是:
1、下载的PHP是二进制文件,而官网提供的源码文件,但是官网会提供下载二进制文件的链接,在下载的时候一定注意下载的编译版本一定要和电脑本机的Visual C++Redistributable 版本一致,否则Apache的服务是无法开启的(我的是VC14)。
2、在下载PHP的时候要下载 Thread Safe版本,否则安装包中会缺少php7apache2_4.dll文件,而这个文件是php和Apache沟通所必须的。
Apache安装过程:
解压httpd-2.4.20-x64-r2.zip到一个你想安装的文件夹(最后是磁盘根目录),我解压在了C盘根目录。
以管理员身份登录cmd控制台,并切换到C:/php7/bin(视自己解压的文件夹而定,下同)中,运行命令:httpd -k install
会创建Apache2.4的服务。然后开启该服务,并在浏览器中输入http://localhost:80/ 出现“It works!”字样,表示Apache安装成功了!
声明一个常见的问题:
如果开启服务失败了,有可能是80端口被占用了。解决方法是:在安装目录 /conf/httpd.conf中找到Listen:80 这一行,将80改为其他数字即可,然后重新开启服务就差不多行了,如果还是不行,那么请去百度吧,或者重启电脑并把前面的步骤重来一遍,可能你哪里搞错了。
PHP安装过程:
解压php-7.06-nts-Win32-VC14-x64.zip到一个你想安装的文件夹,然后,就没有然后了。
MySQL安装过程:
.msi文件安装按照提示来就可以了,没有什么可说的。值得一提的是安装的时候要选中complete不要选在typical和另一个,这样才会用mysql.h等各种头文件,虽然php用不到,
以后万一和c++有关系需要连接数据库时免得重装了。
Apache PHP MySQL的连接配置:
这里是重头戏,也是最繁琐和最容易出错的地方,其实也没那么夸张的。
首先配置php的环境变量,在path后加上 C:\php7 和 C:\php7\ext ,然后用记事本打开httpd.conf文件,做以下操作:
1. 让Apache可以解析php文件,在配置文件中找到
#LoadModule xml2enc_module modules/mod_xml2enc.so
在下一行添加
LoadModule php7_module "C:\php7\php7apache2_4.dll"
PHPIniDir "C:\php7"
AddType application/x-httpd-php .php .phtml
2. 在配置文件中找到
DirectoryIndex index.html
改为
DirectoryIndex index.php index.html
其次,把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini
1. 设置PHP扩展包的具体目录,找到
; extension_dir = "ext"
改为 (值是ext文件夹的目录)
extension_dir = "D:/Develop/PHP/ext"
2. 开启相应的库功能,找到需要开启的库的所在行
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysqi.dll
;extension=php_xmlrpc.dll
去掉前面的分号(注释)
3. 设置时区,找到
;date.timezone =
改为
date.timezone = Asia/Shanghai
测试:
重启Apache,在站点目录下新建文件index.php,输入内容:
<?php
phpinfo();
?>
打开浏览器输入http://localhost,显示如下内容,则安装成功,并且成功关联MySQL。