前言:LAMP(Linux+Apache+MySQL+PHP)环境是目前开源社区最活跃的开发和运行平台,有大量的网站程序是建立在这个平台上的,为了学习我们可能需要搭建这个环境,有一些一体化的安装包比如WAMP和XAMPP,都可以一键安装好所有的程序,为什么还需要手动安装呢?
集成化的安装包,最大的好处是方便快速,甚至有一个统一的控制程序来管理各个部件,但是如果有问题了,还是需要手动来排查和修改各个部分的问题,而且我自己本人遇到的问题是,有时候为了调试从网上下回来的网站包,这些网站包的开发环境并不是用最新版的AMP来编写的(比如XAMPP是个很好的AMP包,界面和功能都非常好,但是它的数据库是MariaDB,MariaDB数据库管理系统是MySQL的一个分支,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,语法上全面兼容MySQL[MySQL因为被Sun收购,Sun后来又被Oracle收购了,已经是一个商业软件了]),如果用来学习,MariaDB完全可以代替MySQL,但是网上下回来的这些源程序,放在全新的环境下甚至根本没法运行,会出现各种错误,所以全手动安装AMP环境也是没办法的事。废话不说说了,直接上干货。
1.【单独安装PHP】
最先安装的是php,目前有php5和php7两种版本,都尝试安装了一下,php5安装比较顺利,安装在win7内置的iis7.5下(后文有如何安装PHP在Apache上的步骤),参考一下文章:
http://user.qzone.qq.com/475213823/blog/1452652341 简单注意步骤如下:
a)电脑上必须安装iis,安装时要选择cgi模块;
b)为了减少配置的麻烦,借助PHP Manager工具,可以方便的配置;
c)将php.ini-development改名为php.ini
d)修改php.ini 查找data.timezone 修改为date.timezone = “Asia/Shanghai”(这里必须改,不然会出警告)
e)找到Windows Extensions开启 所需模块,如:php_curl.dll php_mysql.dll php_mysqli.dll php_xmlrpc.dll php_curl.dll 只要去掉前面的 分号 保存就可以了;
f)回到IIS界面,双击PHP Manager后,点击“Register new PHP Version”,然后选择好c:\php5.3.5\php-cgi.exe,就OK了。然后静悄悄的php.ini就会为适合IIS7.5的配置默认给你生成好了
g)最后核验一下吧,仍在这个界面上,可以点一下“Check phpinfo()”;然后无意外的情况下会弹出令人激动的PHPInfo页面了!
PS1.安装php7要注意,下载的如果的编译版本,如果是vc14版本,要先安装vcredist2015_x86_14.0.23026.0的运行库,不然会无法运行,一开始不知道,在iis里鼓捣好半天也没发现,虽然知道是vc14,但是以为自己的win7又装了vs2013,应该各种运行库都有了,但是事实上确实没有,需要单独安装,在命令行直接运行 php.exe的时候,弹出了vc版本不对的提示,才知道的。
PS2.还有两点忘了说,windows\temp目录要设置user的读写权限,php的安装目录也要设置user的读写权限,不然iis会报错!
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
上面是如何在IIS上安装PHP,在Apache中安装PHP并且配置PMA连上MySQL也有些要注意的事项,
这里的部分内容跟后面单独设置MySQL和Apache有小部分重叠,但是这里重点讲述Apache下安装步骤:
【PHP】
修改配置文件如下:
extension_dir = "C:\PHP5\ext\"
error_log = "C:\Windows\Temp\php-5.6.11_errors.log"
upload_tmp_dir = "C:\Windows\Temp\"
有些时候要写成朝左的斜杠
extension=php_gd2.dll 上传图片,登录验证码很多时候需要这个扩展!
extension_dir = "c:/php5/ext"
extension=php_curl.dll
extension=php_mysql.dll
2、php5.3、php5.4同时支持Apache2.2和Apache2.4;
3、php5.5只支持Apache2.4
除非你自己手动编译php5_module模块,否则只能有以上3种选择。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【MySQL】
这一步跟普通安装MySQL没什么两样,可以用exe安装,也可以用zip包安装,参见下面的安装方法;
但是有一个陷阱:在有些版本的apache+pma环境下,要把libmySQL.dll 复制到Windows/System32目录里,不然又是有奇怪的错误!
libmySQL.dll在不同版本的MySQL里位置还不一样:
mysql 5.6.24 D:\mysql-5.6.24-win32\lib\libmysql.dll
mysql 5.0.96 mysql安装路径\bin\libmySQL.dll
安装好的MySQL可以暂时不设置登录密码,在安装好Apache+PMA之后,在PMA上修改密码!
【Apache】
在apache上安装对php的支持,修改conf/httpd.conf如下
LoadModule php5_module "c:/php5/php7apache2_4.dll"
PHPIniDir "c:/php5"
AddType application/x-httpd-php .php
在apache上安装对mysql的支持,不需要做什么,主要是设置pma的【虚拟主机】或者【虚拟目录】路径,以便浏览器能够访问该目录:
修改conf/httpd.conf如下
< VirtualHost 127.0.0.2:80>
DocumentRoot D:/PHPMyAdmi
ServerName 127.0.0.2:80
< / VirtualHost>
Alias /phpmyadmin "D:/PMA"
Alias /pma "D:/PHPMyAdmin"
<Directory "D:/PHPMyAdmin">
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
重启apache以后,你的虚拟主机就配置好了,浏览器输入127.0.0.2/pma,来访问PMA了,如果不使用虚拟主机,去掉VirtualHost部分即可,Alias是为目录设置了别名,这样就可以通过127.0.0.2/pma来访问,不需要输全127.0.0.2/phpmyadmin了。
【PHPMyAdmin】
版本的选择,3.5.6和4.6.3(到本文截止最新版),有些网站源程序自带了pma,所以有些时候会遇到旧版本的pma,新版本也许还有些错误,老版本未必是个坏选择;
把PMA目录下的 config.sample.inc.php 改成 config.inc.php
$cfg[‘Servers‘][$i][‘AllowNoPassword‘] = True;
刚装好的MySQL先不设置密码,这里开放允许空密码登录,然后进入PMA后,修改 root@127.0.0.1,root@localhost,root@::1的密码,貌似这几个都要修改,127.0.0.1是为了网站登录,localhost是命令行操作sql,::1是为了IPv6设置的。
--------------------------------------------------------------------------------------------------
2.【单独安装MySQL】
先在网上下载的exe安装包,mysql-installer-community-5.7.13.0.msi,发现安装的时候无法选择安装路径,默认只能装在c盘,我的c盘空间不太多了,看了下网上的安装教程,打算全手动安装!
从网上下载了zip包,mysql-5.6.24-win32.1432006610.zip ,解压之后,找到软件根目录下的my-default.ini,修改如下几行:
basedir = D:\mysql-5.6.24-win32
datadir = D:\mysql-5.6.24-win32\data
port = 3306
server_id = mysql
character-set-server=utf8
default-storage-engine=INNODB
max_connections=200
然后在软件的bin文件夹的命令行里 执行:mysqld install 安装服务
net start mysql 启动服务
>mysql -uroot -p 回车 就可以进入mysql的命令行界面了;
>设置密码的方法:mysqladmin -u root -p password 密码
安装完MySQL可以再装一个MySQL Query Browser 的图形界面工具,比起SQLServer的企业管理器来说,这个工具实在太简陋了,所以多数人的选择是装一个PHPMyAdmin。
PS. 在windows的环境变量PATH里加入mysql的完整路径,就可以方便的直接输入mysql命令
卸载MySQL服务的方法:>sc delete mysql
--------------------------------------------------------------------------------------------------
3. 【在IIS环境下安装PHPMyAdmin】
PMA是一套php语言编写的基于web浏览器的MySQL网页界面程序,方便配置和管理MySQL的各项功能,以下是把PMA安装在IIS的虚拟目录上的步骤(后文Apache部分有如何安装PMA在Apache上的步骤):
同样没有采用exe的安装文件,网上下回来的只有zip压缩包,解压之后放在任意盘的根目录下,比如D:\phpMyAdmin
目前最新的版本是4.6.2,我运气比较差,下了个4.6.1版,这个版本对中文支持的不好,虽然能打开界面,但是有好多地方都出现错误,最新的4.6.2版已经修正了错误;
在IIS环境下安装PMA步骤:
a) d:\phpmyadmin,设置user的读写权限;
b) IIS下新建一个网站phpmyadmin,使用8080端口,80端口已经被iis占用了,物理路径指向d:\phpmyadmin
c) 如果IIS上的PHP已经安装好了,那么直接打开127.0.0.1:8080,就能打开网页程序了;
--------------------------------------------------------------------------------------------------
4. 【单独安装Apache】
Apache是一个开源的web服务器,是一个广泛运行在各个平台的web服务器,我们这里是安装Windows版本的Apache,官网下好zip安装包,官网现在也不再提供exe的安装程序了,找到ApacheHaus也就是Apache的HTTP服务器,httpd-2.4.20-x86-vc14-r2.zip(当前最新版本是2.4),如果有带vc11,vc14字样的,同样要先安装对应版本的vc运行库。
安装步骤:
a)将apache2.4解压到D:\Apache24,如果直接解压在根目录不需要修改路径,否则需要修改路径
b) D:\Apache24\conf\httpd.conf,就是配置文件,打开之后,修改如下三行的配置信息,因为80端口已经被IIS占用了,所以我改为6666;
---------------【原始的配置信息】-----------------
Define SRVROOT "Apache24"
Listen 127.0.0.1:80
ServerName localhost:80
---------------【修改为自己的配置】------------------
Define SRVROOT "/MyHTTP/Apache24"
Listen 127.0.0.1:6666
ServerName localhost:6666
c) 在bin文件夹的命令行中,>httpd -k install,就能安装apache服务器了,要卸载,命令改成uninstall即可;
d) 如果一切顺利,那么在浏览器中打开
http://127.0.0.1:6666/就能看到Apache安装成功的主页面了;
PS.当然一切没那么顺利,我就遇到了问题,输入完 httpd -k install,报了443端口的错误,应该这个端口是被占用了;
解决方法: 通过>netstat -ano,可以看到占用443端口的进程的PID号,然后通过【任务管理器】的[服务],查到相关的服务器名,通过>services.msc找到相关进程,关闭或者停用或者改成手动运行即可;在我的电脑上占用443的是vmware workstation服务,手动让它启动即可。
PS. 修改Apache的443端口:
1. 修改conf/extra/httpd-ssl.conf 文件里的443改为442,如果是XAMPP,改这一个就够了;
2. 修改conf/extra/httpd-ahssl.conf 文件里的443改为442,如果是单独下载的Apache,还要改一下这里!
3. httpd -k uninstall
4. httpd -k install
5. Apache Monitor -> Start -> OK
或者修改VMWare的端口
给Apache加上PHP的模块:D:\MyHTTP\Apache24\conf\httpd.conf
################# PHP Support ######################
LoadModule php7_module "c:/php7/php7apache2_4.dll"
PHPIniDir "c:/php7"
AddType application/x-httpd-php .php
################# PHP Support ######################
给Apache加上PHPMyAdmin的虚拟目录: D:\MyHTTP\Apache24\conf\httpd.conf
################# PMA Support ######################
Alias /phpmyadmin "C:/phpMyAdmin"
<Directory "C:/phpMyAdmin">
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
################# PMA Support ######################
追加:要注意Apache的版本和PHP的版本问题,我先开始装的Apache2.4是x64版本,PHP是win32的版本,所以在配置完httpd.conf之后,启动Apache会报函数错误,换成win32版本的Apache问题解决,或者找到PHP win64的相关模块!