注:本文之前发布在自己的QQ空间,复制过来的时候,颜色信息丢失了,回头有空再把颜色重新标上!

前言: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
      extension=php_mysqli.dll
      extension=php_openssl.dll
      extension=php_xmlrpc.dll
      date.timezone = "Asia/Shanghai"

有些版本PHP自带的dll还不全,没有php_mysql.dll,没有php5apache2_2.dll还得重新下PHP,不要单独下一个dll文件,有时候根本不知道下回来的dll是什么版本,所以选择PHP版本也非常重要,我自己下载的php-5.3.5-Win32-VC6-x86.zip,这个版本内容比较全;php.ini文件还要拷贝到windows目录下,不然在Apache设置PMA访问MySQL时会有错误!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     php5.5使用的编译器是vc11,
     php5.4和php5.3的是vc9,
     php5.2是vc6。同时还要注意是x86版本,还是x64版本。
     目前只有php5.5提供x64版本,其他都只有x86版本。
 
     1、Apache2.0对应的PHP模块为 php5apache2.dll

2、Apache2.2对应的PHP模块为 php5apache2_2.dll
     3、Apache2.4对应的PHP模块为 php5apache2_4.dll

apache.org下载的Apache都是vc6版本,否则就根据不同文件说明安装不同的运行库。

vc11运行库x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
      vc10运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
      vc10运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
      vc9运行库x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
      vc9运行库x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336

如果不清楚你的情况,可以安装全部运行库,再也不用为这个问题担忧了。

1、php5.2支持Apache2.0和Apache2.2;

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的相关模块!

Apache,PHP,MySQL,PMA手动配置的注意事项的更多相关文章

  1. 手动安装Apache+PHP+MYSQL及环境配置

    先准备好软件: Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,更多版本在这里: php官方下载地址:php-5.0.5-Win32.zip,更多镜像下 ...

  2. 虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  3. MySQL CodeFirst的配置与注意事项

    mysql+ef的配置相比较mssql+ef来说复杂一些.我的感受就是配置难度在于插件版本造成的各种不兼容问题.另外参考了很多博客,将多个博客里的经验综合才得以实现,因为不是每个人的操作都和那些博客作 ...

  4. Windows7下 配置 Apache + PHP + MySQL + Zend Studio配置

    相关软件下载: Apache                               版本:(httpd-2.2.25) PHP                                   ...

  5. PHP环境(apache,PHP,Mysql)详细配置方法

    1.安装Apache ,直接运行安装即可,我们将其安装到D:\PHP\Apache/目录下 2.将PHP压缩包解压内容放到指定目录(例如:D:\PHP\Php5,将目录中的PHP.iniDevelop ...

  6. Linux+Apache+PHP+MySQL服务器环境配置(CentOS篇)

    1.配置php.ini vi /etc/php.ini 2.配置apache 先给需要配置的文件做个备份 cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/h ...

  7. apache+php+mysql安装与使用

    偷个懒,用的系统自带的apache和php apache安装与使用 Mac自带apache默认路径 主程序 /usr/sbin/httpd 模块 /usr/libexec/apache2 配置 /et ...

  8. apache+php+mysql的配置(转载)

    windows: 按http://jingyan.baidu.com/article/fcb5aff797ec41edaa4a71c4.html的安装 按http://www.jb51.net/art ...

  9. 阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)

    一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1 ...

随机推荐

  1. ADO.NET系列之操作XML

    如题,我们保存数据的方式有很多种.在ASP.NET中,可以通过js赋值隐藏域的方式,也可以通过ViewState,Session这样的内置对象,还可以通过数据库的形式.现在经常用到的就是XML了,它的 ...

  2. ERP登录(八)

    登录的存储过程: ALTER PROCEDURE [dbo].[UserLogin] @userid int output, @LoginName nvarchar(50), @Password nv ...

  3. IOS 作业项目(4)步步完成 画图 程序(中)

    一,承接上文,继续本文  [UIButton buttonWithType:UIButtonTypeRoundedRect]; 如此声明的按钮才会有点击闪动的效果!如果直接frame方式声明就不会有. ...

  4. Squid Proxy Server 3.1

    Improve the performance of your network using the caching and access control capabilitiess of squid. ...

  5. 为什么要urlencode

    为什么要urlencode  1.为了正常获取值  字符 特殊字符的含义 URL编码 & 分隔不同的变量值对 %26 = 用来连接键和值 %3D ? 表示查询字符串的开始 %3F # 用来标志 ...

  6. USB协议-USB的包结构及包的分类

    USB是串行总线,所以数据是一位一位地在数据线上传送的.既然是一位一位地传送,就存在着一个数据位先后的问题.USB使用的是LSB在前的方式,即先出来的是最低位数据,接下来是次低位,最后是最高位(MSB ...

  7. Python编程感悟

    从今年起开始学习python,最开始是听得MIT的那门公开课,然后又看了一本入门的书籍.但是总是没有觉得python很好用.可能的原因现在想起来是:IDE始终找不到顺手的,另外R用得太舒服了- any ...

  8. Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.

    svn更新代码后,打开xcode工程文件,会出现  xxx..xcodeproj  cannot be opened because the project file cannot be parsed ...

  9. HDU 5918 KMP/模拟

    Sequence I Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  10. 最大连续子序列和问题(Maximum Consecutive Subsequence Sum)

    该算法的定义是:给出一个int序列,元素有正有负,找出其中的最大连续子序列的和. 例如:-2,11,-4,13,-5-2,:最大和为20(11,-4, 13). 怎么考虑这个问题呢? 要充分利用,连续 ...