从去年开始,一直在学习PHP;但是一直是用的集成环境XAMPP,在切换PHP版本和端口管理方面总是很不方便,特别是在电脑上有多个XAMPP后,各种问题接踵而来;烦不胜烦。
最近项目不是很忙,在忙其他项目组做了短时间的Ecmall后,再次有XAMPP时,想要自己搭建一套PHP的运行环境的想法油然而生,今天就花了差不多一天的时间把这个由来已久的疙瘩给拿到了,也就有了这篇博客。

Apache httpd服务

这个服务花的时间最多了,从官网找下载地址找了好久,开始就理解错了,他和Tomcat不是一回事
Apache2.4官网下载地址(推荐 V11,64位的):http://www.apachelounge.com/download/
同时安装里面提到的v11微软组件,不安装会提示msvcr110.dll丢失;
下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=30679
安装好后,找到Apache24\conf\httpd.conf,改一下映射目录和端口号
主要有:ServerRoot,DocumentRoot,Directory以及Listen Port
重启计算机(建议配置完PHP后再统一重启)

PHP配置

首先从官网下载PHP压缩包,解压到Apache的同级目录下;
在系统环境变量path中添加D:\php;D:\php\ext, 重启后生效
(计算机属性–高级系统设置–环境变量)
找到Apache24\conf\httpd.conf,
找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so
在下一行添加
# php5 support
LoadModule php5_module D:/php/php5apache2_4.dll
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir “D:/php”
重启计算机;
到这里,其实已经可以打开浏览器查看phpinfo();的信息了
注意php5.5,只能搭配2.4版本以上的apache,如果你用的是主流的2.2版本或其他,敬请升级到2.4版本

mySQL server安装

一样,先上下载地址:http://dev.mysql.com/downloads/
安装比较简单,基本一路按默认就好了只是在setChart是改成utf-8;
只是强迫症犯了,忘记改安装目录了,就删了,重新安装时,结果留报错了
解决方式 1:删掉之前安装目录下的MySQL目录
2.找到注册表将MYSQL删除(win+R—regedit;)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
   HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除
从新安装;
解决方式2:找到mySQL中的配置文件my.ini,拷贝一份出来,再mysqld下面添加skip-grant-tables,保存替换掉mySQL下面的my.ini。
重启mySQL;
mysql -u root -p
可以不用密码登录,出现password的时候就回车进入;
更改密码
mysql>use mysql;Database changed
mysql>update user set password=password(“111111”) where user=”root”;Query OK,1 rows affected (0.04 sec)Rows matched;1 Changed: 1 Warnings:0
mysql>flush privileges;Query OK,0 rows affected (0.01 sec)
mysql>quitBye
改好后就把my.ini中的“skip-grant-tables”这行删除;保存退出重启mysql;
从命令行中进入mysql:mysql -u root -p当然你也可以使用navicat等工具操作

PHP关联mySQL

从PHP5.3开始,PHP的配置文件有所变化
php.ini-production对应于php.ini-recommended
php.ini-development对应于php.ini-dist
通常会将php.ini-production改为php.ini
找到如下内容
; On windows:
; extension_dir = “ext”
修改为
; On windows:
extension_dir = “E:/ProgramFiles (x86)/PHP/ext”
production和development的区别

php.ini-production				php.ini-development
error_reporting = E_ALL & ~E_DEPRECATED		error_reporting = E_ALL | E_STRICT
display_errors = Off				display_errors = On
display_startup_errors = Off			display_startup_errors = On
track_errors = Off				track_errors = On
html_errors = Off				html_errors = On
mysqlnd.collect_memory_statistics = Off		mysqlnd.collect_memory_statistics = On
session.bug_compat_42 = Off			session.bug_compat_42 = On
session.bug_compat_warn = Off			session.bug_compat_warn = On

参考文档

Windows下搭建PHP开发环境
php5.5 + apache2.4 安装配置
mysql安装出现error Nr.1045
mysql ERROR 1045 (28000): 错误解决办法
MySQL ERROR 1045 : Access denied for user ‘ODBC‘@’localhost’ (using password: NO)
如何将程序添加到系统服务实现开机自启动
php关联mysql