PHP7.4编译安装

查看服务器MYSQL资源
# ps -ef | grep mysql
    
    mysql版本: mysql-5.5.49
    sock: /tmp/mysql.sock
    端口: 3306
    pid: /www/wdlinux/mysql-5.5.49/data/izj6c1wwk16wo0kysv7ef7z.pid
    : /www/wdlinux/mysql-5.5.49/bin/mysql_config


查看系统版本: 
# cat /proc/version
# lsb_release -a


# yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel

    
# tar -xzvf php-7.4.29.tar.gz
# cd php-7.4.29

# ./configure --prefix=/usr/local/php74 \
--with-config-file-path=/usr/local/php74/etc \
--with-config-file-scan-dir=/usr/local/php74/etc/php.d \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--with-pdo-mysql=mysqlnd \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-pdo \
--with-libxml \
--enable-gd \
--with-iconv=/usr/local/libiconv/ \
--with-zlib \
--enable-xml \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-mbstring \
--disable-mbregex \
--enable-ftp \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--with-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg \
--with-freetype \
--enable-bcmath \
--enable-opcache


# make && make install

参考地址: 
    https://commandnotfound.cn/php/2/17/PHP-7.4.29-Linux-%E4%B8%8B%E7%9A%84%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85
    
配置 php-fpm

    php.ini 配置文件
    # cp php.ini-production /usr/local/php74/etc/php.ini

    conf 配置文件
    # cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf

    www.conf 文件
    # cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf

    php-fpm 文件,用于配置 service 服务启动等
    # cp sapi/fpm/init.d.php-fpm /etc/init.d/php74-fpm

    添加 php-fpm 执行权限
    # chmod +x /etc/init.d/php74-fpm


    启动 php-fpm
    # /etc/init.d/php74-fpm start
    # /etc/init.d/php74-fpm restart
    # /etc/init.d/php74-fpm status


异常记录: 
    异常1: 
        configure: WARNING: unrecognized options: --enable-jpeg-dir, --enable-freetype-dir
        
    异常2: 
        checking for zip archive read/write support... yes
        checking for libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0... no
        configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:

        No package 'libzip' found
        No package 'libzip' found
        No package 'libzip' found
        
        下载 https://libzip.org/download/
        # wget https://libzip.org/download/libzip-1.3.2.tar.gz
        # tar xvf libzip-1.3.2.tar.gz
        # cd libzip-1.3.2
        # ./configure
        # make
        # make install
        # export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" 
        
        查看libzip在那个路径
        # whereis libzip
        现在需要告诉. ./configure 程序,你新安装的libzip在哪里,方法有两个
        1. 编辑 /etc/ld.so.conf这个文件,最后面添加以下内容
            `/usr/local/lib`
            接着执行下面的命令立即生效
            # ldconfig -f
            
        2. 执行下面一条命令即可
            # export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" 
        
        
        问题: 
            我在安装成本后并执行 export ... 命令后,再编译PHP还是出现这个问题。
            但是我第二次执行 export ... 后。再编译PHP确成功了。这是什么情况?

        参考: 
            https://blog.csdn.net/ljh101/article/details/108531725
            
    异常3:
        
        ext/xmlrpc/libxmlrpc/.libs/encodings.o: In function `convert':
        /home/soft/php-7.4.29/ext/xmlrpc/libxmlrpc/encodings.c:63: undefined reference to `libiconv_open'
        /home/soft/php-7.4.29/ext/xmlrpc/libxmlrpc/encodings.c:70: undefined reference to `libiconv'
        /home/soft/php-7.4.29/ext/xmlrpc/libxmlrpc/encodings.c:86: undefined reference to `libiconv_close'
        /home/soft/php-7.4.29/ext/xmlrpc/libxmlrpc/encodings.c:86: undefined reference to `libiconv_close'
        解决方法:
            1) 编辑Makefile
                vim Makefile
                #找到下面这行:
                EXTRA_LIBS = -lcrypt ...
                # 在行末添加 -liconv
                
            2) 安装libiconv
                # wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.17.tar.gz
                # tar -zxvf libiconv-1.17.tar.gz
                # cd libiconv-1.17
                # ./configure --prefix=/usr/local/libiconv --enable-static --disable-shared --host=$host
                # make -j4
                # make install
                
                编译php修改参数 --with-iconv=/usr/local/libiconv/

            参考: 
            https://blog.csdn.net/flymore96/article/details/125286164
            
            
    异常4: 
        configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
        # yum install libsqlite3x-devel -y
        
    异常5:
        configure: error: Package requirements (oniguruma) were not met:
        # yum install oniguruma-devel -y
        
    异常6:
        mysql异常
        checking for mysql_config... not found
        configure: error: Unable to find your mysql installatio
        问题排查: 是某项mysql参数没有指定正确的地址
    
    异常7:
        configure: error: Package requirements (libjpeg) were not met:
        # yum install libjpeg libjpeg-devel libpng -y
        
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值