php 7.4.20编译安装
php是世界上最好的语言,近来抽出了点时间弄下博客,研究了下php的安装,中间还是不少的坑,也参考了下网上其他同仁的安装资料,最终整理出一下安装步骤,希望可以帮助大家吧。
1、安装php依赖包,大部分通过yum即可完成安装,其中一个包需要手动编译安装;
yum install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel mcrypt sqlite-devel bzip2-devel.x86_64 libicu-devel glibc-headers gcc-c++ oniguruma-devel libxslt-devel
其中mcrypt包需要以下yum源才可以进行安装,默认阿里云yum源无此包。
yum源信息,在/etc/yum.repos.d目录下新建epel.repo文件,将以下文件贴进去即可。
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1
libzip包需要手动编译安装,自带的包版本太低。
wget https://hqidi.com/big/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install
2、安装完成后进行php的编译安装,php编译过程中内存不得低于2G,否则编译报错。
本次安装路径在/app/php-7.4.20目录下,用户和组均为app,提前建立好即可。
wget https://www.php.net/distributions/php-7.4.2.tar.gz
tar xf php-7.4.2.tar.gz
cd php-7.4.2
编译前需要指定pkgconfig路径,通过find命令找到pkgconfig的路径,找到如下路径,我们指定/usr/local/lib/pkgconfig这个即可。
[root@iZj6c50uqocpfbk7hykfqaZ ~]# find / -name "pkgconfig" /app/mysql8.0.13/lib/pkgconfig /usr/share/pkgconfig /usr/local/lib/pkgconfig /usr/local/ImageMagick/lib/pkgconfig /usr/local/aegis/PythonLoader/lib/pkgconfig /usr/lib64/pkgconfig /var/systemd/versions/239-40.6.al8/usr/share/pkgconfigexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig./configure --prefix=/app/php-7.4.20 --with-config-file-path=/app/php-7.4.20/etc --with-curl --with-freetype --enable-gd --with-jpeg --with-gettext --with-kerberos --with-libdir=lib64 --with-libxml --with-mysqli --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --enable-sockets --with-mhash --with-ldap-sasl --with-xsl --with-zlib --with-zip -with-bz2 --with-iconv --enable-fpm --enable-pdo --enable-bcmath --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-sysvsem --enable-cli --enable-opcache --enable-intl --enable-calendar --enable-static --enable-mysqlnd --enable-fileinfo --enable-exif --with-fpm-user=app --with-fpm-group=app
经过漫长的编译,程序会正常编译好,编译好之后程序需要做初始化配置,包括配置文件及注册服务等;
3、配置文件及注册服务准备
将安装包php-7.4.20/sapi/fpm下面的php-fpm.service拷贝到/lib/systemd/system目录下,执行systemctl daemon-reload重新加载服务。
将安装包php-7.4.20/php.ini-production拷贝到php-7.4.20/etc/php.ini
进入安装完成后的程序目录/app/php-7.4.20/etc目录下,将php-fpm.conf.default复制为php-fpm.conf,php-fpm.d目录下
www.conf.default复制为www.conf,将php-fpm.conf中的pid = run/php-fpm.pid注释去掉。
4、设置PHP自动启动
systemctl enable php-fpm systemctl start php-fpm
至此php完成安装;
文章评论