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

最新文章

  1. [LeetCode] Count of Range Sum 区间和计数
  2. ios .a和.framework
  3. Android文件下载之进度检测
  4. [leetcode] 根据String数组构造TreeNode,用于LeetCode树结构相关的测试用例
  5. viewpager和fragment预加载的解决
  6. asp.net Gridview 的用法
  7. Linux/Unix 怎样找出并删除某一时间点的文件(转)
  8. POJ 1797 Heavy Transportation (Dijkstra变形)
  9. 实例源码--Android软件更新模块
  10. BZOJ 2763
  11. Myeclipse:No projects are available for deployment to this server!
  12. Javascript 常用代码总结
  13. drupal中安装CKEditor文本编辑器,并配置图片上传功能
  14. 201521123006 《Java程序设计》第7周学习总结
  15. 你不知道的JavaScript--Item27 异步编程异常解决方案
  16. md5两次加密
  17. spring对bean的高级装配之基于@Conditional条件化装配
  18. 恭喜PBD终于有了自己的物理解释和模型
  19. WebAPI跨域处理
  20. 检测到目标URL存在http host头攻击漏洞

热门文章

  1. 基于Go语言的xmind读写库,我主要用来把有道云笔记思维导图转为xmind
  2. Java SE 15 新增特性
  3. ipi发送阻塞导致crash
  4. Spring5中JdbcTemplate
  5. Keepalived之简单有效的配置
  6. Markdown Support
  7. 在 Windows 搭建 SVN 服务
  8. Servlet小结
  9. Kafka为什么性能这么快?4大核心原因详解
  10. Beats:Beats 入门教程 (一)