Apache,PHP,MySQL,PMA手动配置的注意事项

Posted skysowe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache,PHP,MySQL,PMA手动配置的注意事项相关的知识,希望对你有一定的参考价值。

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

前言:LAMPLinux+Apache+mysql+php)环境是目前开源社区最活跃的开发和运行平台,有大量的网站程序是建立在这个平台上的,为了学习我们可能需要搭建这个环境,有一些一体化的安装包比如WAMPXAMPP,都可以一键安装好所有的程序,为什么还需要手动安装呢?

 集成化的安装包,最大的好处是方便快速,甚至有一个统一的控制程序来管理各个部件,但是如果有问题了,还是需要手动来排查和修改各个部分的问题,而且我自己本人遇到的问题是,有时候为了调试从网上下回来的网站包,这些网站包的开发环境并不是用最新版的AMP来编写的(比如XAMPP是个很好的AMP包,界面和功能都非常好,但是它的数据库是MariaDBMariaDB数据库管理系统是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也有些要注意的事项

这里的部分内容跟后面单独设置MySQLApache有小部分重叠,但是这里重点讲述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后,修改 [email protected],[email protected],[email protected]::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手动配置的注意事项的主要内容,如果未能解决你的问题,请参考以下文章

Win7 配置Apache+PHP+Mysql环境

新手上路:在配置apache php mysql完之后,尝试打开index.php时总是将index.php下载

[经验技巧] “php+mysql+apache”环境搭建及"手动SQL注入",20180527-0

如何在不影响 phpMyAdmin 的情况下从 mysql 中巧妙地删除 pma 表

#1146 - 表 'phpmyadmin.pma__tracking' 不存在如何手动禁用?

手动配置apachephp