美文网首页
PHP-5.6.32编译安装

PHP-5.6.32编译安装

作者: 冰岛星 | 来源:发表于2020-04-24 18:30 被阅读0次

    第一步:下载PHP5.6.32的安装包
    PHP旧版本的下载地址:https://museum.php.net/php5/
    PHP官网下载地址:https://www.php.net/downloads.php
    字符集转换库下载地址:http://ftp.gnu.org/gnu/libiconv/

    1) 准备工作
    [root@localhost ~]#  mkdir /download  #创建包存放目录
    [root@localhost download]# cd /download 
    [root@localhost download]#  tar -xzf php-5.6.32.tar.gz  -C /usr/local/
    [root@localhost download]# groupadd www
    [root@localhost download]# useradd -g www www
    
    2)  安装依赖
    [root@localhost download]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel  gcc epel* -y
    [root@localhost download]#  yum install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel openssl openssl-devel  -y
    3)安装加密相关软件依赖
    [root@localhost download]# yum -y install  libmcrypt-devel mhash mcrypt
    4)编译安装字符集转换库
    [root@localhost download]# tar -xzf libiconv-1.14.tar.gz -C /usr/local/
    [root@localhost download]# cd /usr/local/libiconv-1.14/ 
    [root@localhost libiconv-1.14]#  ./configure --prefix=/usr/local/libiconv        #指定程序存放路径
    [root@localhost libiconv-1.14]# cd srclib/
    [root@localhost srclib]# sed -i -e '/gets is a security/d' ./stdio.in.h      #不执行,直接make会报错
    [root@localhost srclib]#  cd ..
    [root@localhost libiconv-1.14]#  make
    [root@localhost libiconv-1.14]# make install
    [root@localhost libiconv-1.14]#  cd ..
    
    5)进行编译安装
    [root@localhost ~]# cd  /usr/local/php-5.6.32
    执行下面一条语句时注意:由于--with-mysql后面指定的路径是不同机器上的MySQL,这时会出现报错1所示,也给出了解决方式。
    [root@localhost  php-5.6.32]# ./configure --prefix=/usr/local/php-5.6.32 --with-mysql  --enable-fpm --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-gettext --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --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-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no       
    #若出现证书openssl问题,需安装openssl和openssl-devel,前面已添加安装 ;若出现mcrypt.h的问题,则可以看报错4
    [root@bogon php-5.6.32]#  make 
    [root@bogon php-5.6.32]#  make  install
    
    6) 复制配置文件,改名为php.ini
    [root@bogon php-5.6.32]# cp php.ini-development /usr/local/php-5.6.32/lib/php.ini
    
    7)修改php.ini文件里的时区
    [root@bogon php-5.6.32]#  cd  /usr/local/php-5.6.32/lib
    [root@bogon lib]# vim  php.ini
    date.timezone =Asia/Shanghai
    
    8) 另行编译扩展
    [root@bogon lib]# cd  /usr/local/php-5.6.32/ext/sockets
    [root@bogon sockets]# /usr/local/php-5.6.32/bin/phpize   #可能会产生报错3
    [root@bogon sockets]# ./configure --prefix=/usr/local/php-5.6.32/lib --with-php-config=/usr/local/php-5.6.32/bin/php-config --enable-sockets
    [root@bogon sockets]# make 
    [root@bogon sockets]# make install
    
    9) 将PHP加入系统环境变量
    [root@bogon sockets]# cd /etc/profile.d/
    [root@bogon sockets]# vim  php.sh
    export PATH=$PATH:/usr/local/php-5.6.32/bin/:/usr/local/php-5.6.32/sbin/
    [root@bogon profile.d]# source php.sh
    
    10) 查看版本
    [root@bogon profile.d]# php -v
    PHP 5.6.32 (cli) (built: Apr 24 2020 17:06:13) 
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    
    11)启动php
    [root@localhost etc]# cp /usr/local/php-5.6.32/etc/php-fpm.conf.default /usr/local/php-5.6.32/etc/php-fpm.conf    
    [root@localhost sbin]# /usr/local/php-5.6.32/sbin/php-fpm   
    
    12)设置开机自启:
    [root@localhost init.d]# cp /usr/local/php-5.6.32/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm
    [root@localhost init.d]# chmod +x php-fpm 
    [root@localhost init.d]# chkconfig --add php-fpm
    [root@localhost init.d]# chkconfig php-fpm on
    [root@localhost init.d]# /etc/init.d/php-fpm start
    若使用service服务启动:
    [root@localhost init.d]# vim php-fpm
    修改以下内容:
    php_fpm_BIN=/usr/local/php-5.6.32/sbin/php-fpm
    php_fpm_CONF=/usr/local/php-5.6.32/etc/php-fpm.conf
    php_fpm_PID=/usr/local/php-5.6.32/var/run/php-fpm.pid
    [root@localhost init.d]# chmod +x php-fpm 
    [root@localhost init.d]# chkconfig --add php-fpm
    [root@localhost init.d]# chkconfig php-fpm on
    [root@localhost init.d]# service php-fpm start
    
    13)实验测试,写一个php脚本进行访问
    此实验是在LNMP编译安装环境下执行的:
    [root@localhost nginx]# cd /usr/local/nginx/html/    #编译安装nginx的html目录
    [root@localhost html]# vim yy.php 
    写入:
    <?php
    phpinfo();
    ?>
    [root@localhost php-5.6.32]# cd /usr/local/php-5.6.32/etc/
    [root@localhost etc]# vim php-fpm.conf
    修改ip地址:
    listen = 192.168.217.135:9000
    [root@localhost php-5.6.32]# cd /usr/local/php-5.6.32/sbin/   
    [root@localhost sbin]# ./php-fpm     #重启php
    [root@localhost sbin]# curl -I 192.168.217.135/yy.php  #访问
    或者使用浏览器访问:
    192.168.217.135/yy.php
    

    报错1:

    make“libiconv”时报错如下:
    make[2]: *** [progname.o] 错误 1
    make[2]: 离开目录“/usr/local/libiconv-1.14/srclib”
    make[1]: *** [all] 错误 2
    make[1]: 离开目录“/usr/local/libiconv-1.14/srclib”
    make: *** [all] 错误 2
    
    解决方法:
    [root@bogon srclib]# sed -i -e '/gets is a security/d' ./stdio.in.h  
    

    报错2:

    在编译安装php服务时报错:
    configure: error: Cannot find MySQL header files under /application/mysql.
    Note that the MySQL client library is not bundled anymore!
    
    解决方法:
    1、一般方法:
    在本机器上(php)安装mysql,再安装php,然后把mysql删除掉,不删除也可以,只要不启动mysql服务即可。
    注:mysql只需要下载包,并解压,放在/usr/local/mysql那不动它就是了,不需要初始化,不需要启动,php需要的仅仅是那些库文件。
    2、快速简单方法:
    yum install mysql-libs  mysql-devel 
    注:在--with-mysql的时候,后面不用指定路径了,将路径去掉即可。
    

    报错3:


    image.png
    解决方式:
    yum install -y autoconf
    

    报错4:

    编译安装php报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt。
    原因是centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包。
    解决方法:
    使用php mcrypt 前必须先安装Libmcrypt
    libmcrypt源码安装方法:
    wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
    tar -zxvf libmcrypt-2.5.7.tar.gz
    cd libmcrypt-2.5.7
    ./configure  –prefix=/usr/local
    make
    make install
    再去编译安装就可以了。
    

    实验结果显示:
    编译安装php完成:


    image.png image.png
    image.png image.png

    访问ip时:

    image.png

    浏览器访问时:

    image.png

    相关文章

      网友评论

          本文标题:PHP-5.6.32编译安装

          本文链接:https://www.haomeiwen.com/subject/ydmzihtx.html