2023-02-08更新 | 在centos7上源码安装php7.4供参考
配置yum源
# 配置yum源加速
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
# 更新缓存
yum clean all
yum makecache
安装依赖包
yum install epel-release gcc gcc-c++ make zlib zlib-devel pcre pcre-devel freetype freetype-devel \
openssl openssl-devel curl curl-devel libxslt libxslt-devel gd gd-devel glibc glibc-devel \
glib2 glib2-devel mcrypt libmcrypt-devel libmcrypt mhash libxslt-devel libicu-devel ncurses \
ncurses-devel libjpeg-devel libpng libpng-devel libxml2-devel bzip2 bzip2-devel libcurl-devel \
sqlite-devel oniguruma oniguruma-devel ImageMagick-devel unixODBC unixODBC-devel -y
# 需要安装的扩展包
libiconv
libzip >=0.11 !=1.3.1 !=1.7.0
pcre2 >=10.30
# 安装liviconv
wget https://jinchuang.org/novel/php/libiconv-1.17.tar.gz
tar xf libiconv-1.17.tar.gz
cd libiconv-1.17
./configure --prefix=/usr/lcoal/libiconv
make && make install
echo "/usr/local/libiconv/lib" >>/etc/ld.so.conf
ldconfig
# 安装pcre2
wget https://jinchuang.org/novel/php/pcre2-10.39.tar.gz
tar xf pcre2-10.39.tar.gz
cd pcre2-10.39
./configure
make && make install
pcre2-config --version
echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/" >>/etc/profile && source /etc/profile
# 升级libzip
yum remove libzip libzip-devel -y
wget https://jinchuang.org/novel/php/libzip-1.3.2.tar.gz
tar xf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make && make install
echo "/usr/lcoal/lib" >>/etc/ld.so.conf
ldconfig
官网声明:要使用 OpenSSL 函数,你必须安装» OpenSSL 库。
PHP 7.0 需要 OpenSSL >= 0.9.8。
PHP 7.1-8.0 需要 OpenSSL >= 1.0.1,< 3.0。
PHP >= 8.1 支持 OpenSSL >= 1.0.2,< 4.0。
下载、配置、编译安装php7.4.28,安装目录自行修改 (参数中的用户和组 修改为你自己的,版本不同参数会有所变化,可以在官网查询下)
wget https://jinchuang.org/novel/php/php-7.4.28.tar.gz
tar xf php-7.4.28.tar.gz
cd php-7.4.28
./configure \
--prefix=/usr/local/php74 \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-config-file-path=/usr/local/php74/etc \
--with-bz2 \
--with-curl \
--with-xsl \
--with-openssl \
--with-mhash \
--with-jpeg \
--with-freetype \
--with-iconv-dir=/usr/local/libiconv \
--with-gettext \
--with-zlib \
--with-xmlrpc \
--with-external-pcre \
--with-pcre-jit \
--with-pear \
--with-libxml \
--with-zip \
--with-pdo-odbc=unixODBC,/usr/ \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-libdir=lib64 \
--enable-gd \
--enable-mysqlnd \
--enable-intl \
--enable-dom \
--enable-xml \
--enable-simplexml \
--enable-fpm \
--enable-bcmath \
--enable-ftp \
--enable-sockets \
--enable-mbregex \
--enable-mbstring \
--enable-inline-optimization \
--enable-calendar \
--enable-static \
--enable-bcmath \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-exif \
--enable-sysvsem
make && make install (make 时间较久)
配置文件的调整
# 启动脚本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
#php.ini 和 php-fpm.conf 两个配置文件
cp php.ini-production /usr/local/php74/etc/php.ini
cd /usr/local/php74/etc/
cp php-fpm.conf.default php-fpm.conf
#php-fpm.conf 引用这个目录中*.conf 配置文件,修改启动用户。端口号等
cd php-fpm.d/
cp www.conf.default www.conf
启动、停止
# 启动(推荐)
/etc/init.d/php-fpm start
或者
/usr/local/php74/sbin/php-fpm
# 停止(推荐)
/etc/init.d/php-fpm stop
或者
pkill php-fpm
或
ps -ef |grep php-fpm|grep -v grep |awk '{print $2}'|xargs kill
补充下php7.0 源码configure的参数(已在centos7安装php-7.0.33验证过)
# php7.0 config参数
# 需要先源码安装 libiconv,jpeg,freetype,然后在参数中指定下安装目录
./configure \
--prefix=/usr/local/php70 \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-config-file-path=/usr/local/php70/etc \
--with-bz2 \
--with-curl \
--with-xsl \
--with-openssl \
--with-mhash \
--with-jpeg-dir=/usr/local/jpeg \
--with-freetype-dir=/usr/local/freetype \
--with-iconv-dir=/usr/local/libiconv \
--with-gettext \
--with-zlib \
--with-gd \
--with-xmlrpc \
--with-pcre-jit \
--with-pear \
--with-mysqli \
--with-pdo-odbc=unixODBC,/usr/ \
--with-pdo-mysql \
--with-libdir=lib64 \
--enable-mysqlnd \
--enable-intl \
--enable-dom \
--enable-xml \
--enable-libxml \
--enable-simplexml \
--enable-fpm \
--enable-bcmath \
--enable-ftp \
--enable-sockets \
--enable-mbregex \
--enable-mbstring \
--enable-calendar \
--enable-inline-optimization \
--enable-calendar \
--enable-static \
--enable-bcmath \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-zip \
--enable-exif \
--enable-sysvsem
本文最后记录时间 2024-04-10
文章链接地址:https://wojc.cn/archives/300.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
文章链接地址:https://wojc.cn/archives/300.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处