• linux 配置apache、mysql、php ——20150807


    2015年8月7日

    一部分:mysql

    mysql 5.5.40安装

    第二部分:apache(apache要安装在php前面。apache和mysql可以随意顺序)

    1、

    # tar zxvf httpd-2.2.11.tar.gz

    # ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so【20150807是这个配置】

    ./configure --prefix=/usr/local/apache --enable-so【这个也行】
    make

    make install

    一般出现这个-bash: make: command not found提示,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可。

    -------------------------------------------------------

    解决方案:

    yum -y install gcc automake autoconf libtool make

    直接ssh运行即可,安装make。

    启动Apache服务:

    # /usr/local/apache2/bin/apachectl start

    出现错误:

    httpd: apr_sockaddr_info_get() failed for VM_74_204_centos
    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

    -------------------------------

    解决方案:

    在Apache的安装目录下的conf文件修改如下
    (1) ServerName localhost:80

    或者在 /etc/hosts 中填入自己的主机名称 bogon,如下:
    (2)127.0.0.1 bogon
    ---------------------------------------------

     【下面这个错误可以避免,apache支持php,就是php编译的时候,加个参数。apache安装的时候已经加了这个参数--enable-modules=so】

    /usr/local/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory

    -------------------------------------------------

    解决方案:Apache 安装目录http。conf文件增加这一行

    LoadModule php5_module /usr/local/apache2/modules/libphp5.so

    还是/usr/local/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory 错误,那就先装php吧

    第三部分:安装php

    安装libxml2【一定要先安装这个】

    方式一:

    1 tar zxvf libxml2-2.6.32.tar.gz
    2 cd libxml2-2.6.32
    3 ./configure --prefix=/usr/local/libxml2
    4 make
    5 make install

    方式二:【20150807采用的是这个方式】

    yum install libxml2

    yum install libxml2-devel -y

    安装php

    1、tar zvxf php-5.3.28.tar.gz
    2、cd php-5.3.28
    3、./configure --prefix=/usr/local/php --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

    出现错误

    configure: error: xml2-config not found. Please check your libxml2 installation.

    ------------------------------------

    解决方案:http://www.cnblogs.com/happyhotty/articles/2539864.html

    【检查是否安装了libxm包

    [root@XKWB3403 php-5.3.8]# rpm -qa |grep libxml2
    libxml2-2.6.26-2.1.12
    libxml2-python-2.6.26-2.1.12

    重新安装libxml2和libxml2-devel包

    yum install libxml2

    yum install libxml2-devel -y

    安装完之后查找xml2-config文件是否存在

    [root@XKWB3403 php-5.3.8]# find / -name "xml2-config"

    /usr/bin/xml2-config

    然后再重新 config

    +--------------------------------------------------------------------+
    | License: |
    | This software is subject to the PHP License, available in this |
    | distribution in the file LICENSE. By continuing this installation |
    | process, you are bound by the terms of this license agreement. |
    | If you do not agree with the terms of this license, you must abort |
    | the installation process at this point. |
    +--------------------------------------------------------------------+

    Thank you for using PHP.

    出现这个【而且只能出现这个,后面如果还有文字,就代表还有问题。有一次编译php没有加这个--with-libxml-dir=/usr/local/libxml2,就出现后面还有一堆文字,不算成功】,成功安装php

    然后再

    make make install

    出现这个

    [PEAR] Console_Getopt - installed: 1.3.1
    warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4)
    warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1)
    [PEAR] PEAR - installed: 1.9.4
    Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
    You may want to add: /usr/local/php/lib/php to your php.ini include_path
    [PEAR] Structures_Graph- installed: 1.0.4
    [PEAR] XML_Util - installed: 1.2.1
    /usr/local/php-5.3.28/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
    ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
    Installing PDO headers: /usr/local/php/include/php/ext/pdo/

    安装成功了

    ---------------------------------------------------

    最后 php链接php还是不成功。原因解决方案:

    cp 一个php.ini 到 /usr/local/php/lib 【 cp /opt/php-5.3.28/php.ini-production /usr/local/php/lib/php.ini或者直接操作复制过去那个文件 】

    vi /usr/local/php/lib/php.ini

    找到这一行 extension=mysql.so【*5】

    php。ini里面 去掉分号,加上面这个链接。重启Apache即可 

    ./configure --with-php-config=/usr/local/bin/php-config

    【如果不成功,目录之类的,请重新输入或者

    updatedb
    locate php-config

    找到对应的,复制粘贴】

    步骤大致是:
    a、进入php目录下ext下mysql下
    b、/usr/local/php/bin/phpize
    c、./configure --with-php-config=/usr/local/bin/php-config

    【如果./configure不成功,下面这种方式。】


    ln -s /usr/lib64/mysql/libmysqlclient.a /usr/lib/libmysqlclient.a
    ln -s /usr/lib64/mysql/libmysqlclient_r.a /usr/lib/libmysqlclient_r.a

    ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so【注意,这一台机器是16,去具体的目录查看一下】

    参考网站:http://www.cnblogs.com/wangtao_20/archive/2011/03/07/1973621.html

    --------------------------------------------------------

    d、make 【./configure成功之后才有make】
    e、make install
    f、配置mysql.so  回到【*5】

    --------------------------------------

    以前的一些总结

    2015年2月21日

    说明:

    1、安装apache+mysql+php,php总是最后装的,apache和mysql可以不分顺序。因为根据视频的那个源码包安装的时候,php是指定了目录的。指定了mysql和apache

    2、apache中支持php,相当于apache中开启了php模块。然后php(其实是程序里面)开启了连接了数据库。

    3、php里面开启例如zlib、mysql、xmlrpc、openssl 、gd库。在这个文件里面编辑vi /usr/local/php/etc/php.ini 添加即可【/usr/local/php是php按照的时候 --prefix的目录】

    4、apache在windows的配置文件 路径在Apache2.2confhttpd.conf  linux在/usr/local/apache2/etc/httpd.conf 多了一个etc

    5、添加别名 alias sta='/usr/local/apache2/bin/apachectl start'

    -------------------------------------------------------------

    今天的总结:

    1、主页目录存放位置。在php.ini里面的两个相应位置修改成/home/www既可。

    2、测试是否mysql链接正常的时候,如果是空白页,删掉第一个 面向过程的mysql链接测试,面向对象的就测试正常。当然,里面的数据库密码要修改成一样的,才能测试。

    3、apache是否支持php。只要apache编译的时候,加上那个enable-so选项和php编译的时候有apxs选项。就会自动在 php.ini里面有 load apachephp5 module选项

    如果没有的话,在网盘里面下载httpd.conf覆盖对应的【搜 httpd.conf】

    4、添加扩展库 curl.so

    情况二:已经安装了php,现在需要添加这个扩展

    进入安装原php的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)

    cd ext/curl
    phpize  ./configure –with-curl=DIR   (可以不写dir,如果你的curl安装时没有指定目录)
    make

    就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
    复制curl.so文件到extensions的配置目录,修改php.ini就好了

    以上两种就是Linux下php扩展cURL的安装方法。

    以前总结的添加扩展库的方法链接

    http://www.cnblogs.com/bluewelkin/p/4296297.html

    http://blog.sina.com.cn/s/blog_6df9fbe30101ecx7.html

    2015年0811总结

    1、apache支持php 加入Load php5 module 那个模块 和 index.php  .apache的配置文件 http.conf文件里面【php在mysql和apache 最后编译,加入编译选项--with-apxs2=/usr/local/apache2/bin/apxs就会自动加入 Load php5 这一条语句】

    2、php支持mysql   加入 mysql.so文件。php文件的配置文件,我的是默认的 /usr/local/lib/php.ini[ 和下面的这一段话有区别 我的是lib]

    楼主一开始修改的是 php编译后目录/lib/php.ini 这个文件,修改之后新增模块并不生效。后来才知道,前面这个是默认(编译时候不指定)的扩展配置目录,如果编译的时候指定了php.ini的目录,以后都需要修改指定目录下的php.ini,例如楼主的是 php编译后目录/etc/php.ini 

     加入其它模块,类似,如curl.so

    apache 找php【apache的配置文件 在/usr/local/apache2/conf下】,php 找php的配置文件【/usr/local/php/lib/php.ini】

    2015年8月13号

    1、测试配置文件是否正常 /usr/local/php/bin/php -v

    2、测试加载了哪些模块  /usr/local/php/bin/php -m

    ./configure --prefix=/usr/local/php --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

     --with-curl=/usr/local/curl

    添加了curl模块,都不需要额外添加了,编译这个就ok  2015年0813

    3、php的加载配置文件为 /usr/local/php/lib/php.ini 。可以在浏览器里面看到或编译安装的时候,make install 有显示。

    这次就没有,直接拷贝了一个【为什么没有呢,默认的是php编译后目录/lib/php.ini 

  • 相关阅读:
    jquery操作select
    EL表达式
    八大排序算法之希尔排序
    八大排序算法之堆排序
    八大排序算法之归并排序
    yield与send实现协程操作
    详解生成器、迭代器
    类相关知识
    python装饰器大详解
    详解python之反射机制
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/4711257.html
Copyright © 2020-2023  润新知