PHP7.4编译安装
查看服務(wù)器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
查看系統(tǒng)版本:?
# 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 服務(wù)啟動等
?? ?# cp sapi/fpm/init.d.php-fpm /etc/init.d/php74-fpm
?? ?添加 php-fpm 執(zhí)行權(quán)限
?? ?# 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
?? ??? ?現(xiàn)在需要告訴. ./configure 程序,你新安裝的libzip在哪里,方法有兩個
?? ??? ?1. 編輯 /etc/ld.so.conf這個文件,最后面添加以下內(nèi)容
?? ??? ??? ?`/usr/local/lib`
?? ??? ??? ?接著執(zhí)行下面的命令立即生效
?? ??? ??? ?# ldconfig -f
?? ??? ??? ?
?? ??? ?2. 執(zhí)行下面一條命令即可
?? ??? ??? ?# export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"?
?? ??? ?
?? ??? ?
?? ??? ?問題:?
?? ??? ??? ?我在安裝成本后并執(zhí)行 export ... 命令后,再編譯PHP還是出現(xiàn)這個問題。
?? ??? ??? ?但是我第二次執(zhí)行 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修改參數(shù) --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參數(shù)沒有指定正確的地址
?? ?
?? ?異常7:
?? ??? ?configure: error: Package requirements (libjpeg) were not met:
?? ??? ?# yum install libjpeg libjpeg-devel libpng -y
?? ??? ?
?? ?
總結(jié)
以上是生活随笔為你收集整理的PHP7.4编译安装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php7.4配置文件,Centos8中p
- 下一篇: redhat 7.4 安装php,在 C