• PHP安装 (结合之前的nginx安装与mysql安装组合为lnmp)


    检查安装PHP所需的lib库

    yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel
    yum -y install freetype-devel libpng-devel gd libcurl-devel libxslt-devel
    yum -y install openssl openssl-devel        #PHP所需的依赖包

    安装yum无法安装的libiconv库  #以下4个包可以下载后打包为rpm包以供下次使用

    yum -y install wget  
    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
    tar xf libiconv-1.14.tar.gz -C /usr/src/
    cd /usr/src/libiconv-1.14/
    ./configure --prefix=/usr/local/libiconv && make && make install

    安装libmcrypt库  mhash加密扩展库  mcrvpt加密扩展库

    用 epel  yum源 进行安装

    yum -y install mhash mcrypt  libmcrypt-devel

    解压PHP的源码包

    tar xf php-5.3.28.tar.gz -C /usr/src/
    cd /usr/src/php-5.3.28/

    编译

    ./configure --prefix=/usr/local/php5.3.28 --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp

    编译后这样显示表示编译成功

    #部分参数解释

    :--prefix=/usr/local/php5.2.28

    表示指定PHP的安装路径为/usr/local/php5.3.28

    :--with-mysql=/usr/local/mysql

    表示需要指定MySQL的安装路径,安装PHP需要的MySQL相关内容。当然,如果没有MySQL软件包,也可以不单独安装,这样的情况可使用--with-mysql=mysqlnd替代--with-mysql=/usr/local/mysql,因为PHP软件里已经自带了连接MySQL的客户端工具。

    :--with-fpm-user=www

    nginx表示指定PHP-FPM进程管理的用户为www,此处最好和Nginx服务用户统一

    : --with-fpm-group=www

    表示指定PHP-FPM进程管理的组为www,此处最好与Nginx服务用户组统一。

    :--enable-fpm

    表示激活PHP-FPM方式服务,即以FastCGIF方式运行PHP服务。

    正确执行前文配置PHP软件的./configure系列命令后,就可以编译PHP软件了,具体操作过程如下:

    ln -s /usr/local/mysql/lib/libmysqlclient.so.18
    ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
    touch ext/phar/phar.phar
    make
    #make最后的正确提示
    Build complete.
    Don't forget to run 'make test'.
    make install

    配置文件

    ln -s /usr/local/php5.3.28/ /usr/local/php      #拷贝PHP配置文件到PHP默认目录,并更改文件名称为php.in
    cd /usr/src/php-5.3.28/
    cp php.ini-production /usr/local/php/lib/php.ini    #配置PHP(FastCGI方式)的配置文件php-fpm.conf
    cd /usr/local/php/etc/
    cp php-fpm.conf.default php-fpm.conf           
    #启动PHP服务php
    -fpm,命令如下 /usr/local/php/sbin/php-fpm             ps -ef | grep php-fpm root 126611 1 0 13:36 ? 00:00:00 php-fpm: master process (/usr/local/php5.3.28/etc/php-fpm.conf) nginx 126612 126611 0 13:36 ? 00:00:00 php-fpm: pool www nginx 126613 126611 0 13:36 ? 00:00:00 php-fpm: pool www root 126619 126548 0 13:39 pts/1 00:00:00 grep php-fpm

    配置Nginx支持PHP程序请求访问

    修改/usr/local/nginx/conf/extra下的www.conf 虚拟用户配置文件
    server {
            listen       80;
            server_name  www.wk.com;
            location / {
                root   /var/www/html/wwwcom;
                index  index.html index.htm;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /var/www/html;
            }
            location ~.*.(php|php5)?$ {                               #新增支持php
                root    /var/www/html/wwwcom;
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;
                include     fastcgi.conf;
            }
    
        }
    
    
    nginx -t            #检测语法
    nginx -s reload        #重新启动

    测试lnmp                     

    cd /var/www/html/wwwcom/
    echo "<?php phpinfo(); ?>" >test_info.php

    客户端web服务:i服务端p地址/test_info.php

     

    针对Nginx请求访问PHP,然后对PHP连接MySQL的情况进行测试

    vim test_mysql.php
    <?php
    //$link_id=mysql_connect('主机名','用户','密码');
    $link_id=mysql_connect('localhost','root','123456');
    if($link_id){
    echo "mysql successful by Mr.wang!";
    }else{
    echo mysql_error();
    }
    ?>

     

  • 相关阅读:
    druid-1.0.13 数据库配置文件密码加密
    PostConstruct注解
    easyui formatter 返回easyui组件
    小师妹问 easyUI mergeCells 行合并后表头和内容对不齐
    Java Split以竖线作为分隔符
    Integer比较值的时候小心使用
    js 关键字 in
    Asp.net中防止用户多次登录的方法
    C#取得站点跟目录
    解读支付宝接口实现步骤
  • 原文地址:https://www.cnblogs.com/ywrj/p/9404394.html
Copyright © 2020-2023  润新知