Ubuntu编译安装php7.4
 [root@ubuntu2004 php-7.4.30]#apt install gcc libssl-dev libxml2-dev libsqlite3-dev libcurl3-dev libxml2 sqlite3
 ​
 ​
 [root@ubuntu2004 php-7.4.30]#./configure --prefix=/apps/php74 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo  
 ​
 [root@ubuntu2004 php-7.4.30]#make clean     #如果出错,最好清除下编译信息,在重新编译
 ​
 [root@ubuntu2004 php-7.4.30]#make && make install
 ​
 [root@ubuntu2004 php-7.4.30]#/apps/php74/bin/php --version       #测试 能看到版本表示已安装成功
 PHP 7.4.30 (cli) (built: Oct 22 2022 09:37:13) ( ZTS )
 Copyright (c) The PHP Group
 Zend Engine v3.4.0, Copyright (c) Zend Technologies
 ​
 [root@ubuntu2004 php-7.4.30]#cp php.ini-production /apps/php74/etc/php.ini      #生成php.ini
 [root@ubuntu2004 php-7.4.30]#cd /apps/php74/etc/php-fpm.d/                      
 [root@ubuntu2004 php-fpm.d]#cp www.conf.default www.conf                        #生成www.conf
 [root@ubuntu2004 php-fpm.d]#vim /apps/php74/etc/php-fpm.d/www.conf              #配置用户
 user = nginx      #指定用户为nginx
 group = nginx
 [root@ubuntu2004 php-fpm.d]#useradd -r -u 888 nginx
 ​
 [root@ubuntu2004 php-fpm.d]#cd /apps/php74/etc
 [root@ubuntu2004 etc]#cp php-fpm.conf.default php-fpm.conf                      #生成php-fpm.conf
 ​
 ​
 ​
 ​
 #生成启动文件
 [root@ubuntu2004 etc]#cp /usr/local/src/php-7.4.30/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ 
 ​
 #做一下修改
 [root@ubuntu2004 etc]#vim /usr/lib/systemd/system/php-fpm.service
 ​
 # Mounts the /usr, /boot, and /etc directories read-only for processes invoked by this unit.
 #ProtectSystem=full
 ProtectSystem=false
 ​
 #说明:把 ProtectSystem=full修改为: ProtectSystem=false 如果不做修改会报错
 ​
 ​
 [root@ubuntu2004 etc]#systemctl daemon-reload 
 [root@ubuntu2004 etc]#systemctl start php-fpm.service 
 [root@ubuntu2004 etc]#systemctl status php-fpm.service 
 ​
 [root@ubuntu2004 php-fpm.d]#ps aux | grep php
 ​

出现的错误

 checking for libxml-2.0 >= 2.7.6... no
 configure: error: in `/usr/local/src/php-7.4.30':
 configure: error: The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 ​

解决办法:

 [root@ubuntu2004 php-7.4.30]#apt install pkg-config Libxml2-dev -y
 #如果libxml2无法安装,需要到官网下载自行编译:
 https://gitlab.gnome.org/GNOME/libxml2/-/releases
 tar -zxvf v2.9.9.tar.gz -C /usr/local/src
 cd /usr/local/src/
 ./autogen.sh
 ./configure --prefix=/usr/local/libxml2 && make -j4 && make install
 ​

出现的错误

 configure: error: Package requirements (zlib >= 1.2.0.4) were not met:
 ​
 No package 'zlib' found
 ​

解决办法:

 [root@ubuntu2004 php-7.4.30]#apt install zlib1g-dev -y

出现的错误

 checking for oniguruma... no
 configure: error: Package requirements (oniguruma) were not met:
 ​
 No package 'oniguruma' found
 ​

解决办法:

 [root@ubuntu2004 php-7.4.30]#apt install libonig-dev -y

原文地址:http://www.cnblogs.com/wdy001/p/16815458.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性