首页 后端开发 PHP7 ubantu 怎么编译安装php7

ubantu 怎么编译安装php7

Jan 20, 2022 am 09:52 AM

ubuntu编译安装php7的方法:1、下载PHP7.4的源代码到Ubuntu上;2、安装PHP需要的依赖;3、配置PHP安装参数;4、通过“sudo make install”执行编译安装即可。

ubantu 怎么编译安装php7

本文操作环境:Ubuntu 18.04系统、PHP7.4版、DELL G3电脑

安装环境:操作系统:Ubuntu 18.04 PHP版本: PHP 7.4 Web服务器:Nginx 1.17.4

ubantu 怎么编译安装php7?

Ubuntu编译安装PHP7.4

数据库:Mariadb 10.0.38(MySQL的一个分支,与MySQL兼容)

安装之前

按照惯例更新软件列表:

sudo apt-get update
登录后复制

安装PHP7.4

下载PHP 7.4的源代码到Ubuntu上:

`wget https://www.php.net/distributions/php-7.4.0.tar.gz`
登录后复制

如果下载速度太慢,可以使用PHP 7.4国内高速下载地址:

wget https://gz-1257226027.cos.ap-guangzhou.myqcloud.com/php-7.4.0.tar.gz
登录后复制

解压,进入php7.4源代码目录:

tar zxvf php-7.4.0.tar.gz
cd php-7.4.0/
登录后复制

先安装PHP需要的依赖

sudo apt-get install libzip-dev bison autoconf build-essential pkg-config git-core\
   libltdl-dev libbz2-dev libxml2-dev libxslt1-dev libssl-dev libicu-dev libpspell-dev\
   libenchant-dev libmcrypt-dev libpng-dev libjpeg8-dev libfreetype6-dev libmysqlclient-dev\
   libreadline-dev libcurl4-openssl-dev librecode-dev libsqlite3-dev libonig-dev
登录后复制

配置PHP安装参数

./configure --prefix=/usr/local/php7 --with-config-file-scan-dir=/usr/local/php7/etc/php.d --with-config-file-path=/usr/local/php7/etc --enable-mbstring --enable-zip --enable-bcmath --enable-pcntl --enable-ftp --enable-xml --enable-shmop --enable-soap --enable-intl --with-openssl --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-opcache --enable-fpm --enable-session --enable-sockets --enable-mbregex --enable-wddx --with-curl --with-iconv --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --with-openssl --with-pdo-mysql=mysqlnd --with-gettext=/usr --with-zlib=/usr --with-bz2=/usr --with-recode=/usr --with-xmlrpc --with-mysqli=mysqlnd
登录后复制

执行编译安装

sudo make install
登录后复制

如果编译过程中提示内存不足:

virtual memory exhausted: Cannot allocate memory
Makefile:921: recipe for target ‘ext/fileinfo/libmagic/apprentice.lo’ failed
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
登录后复制

请先给服务器添加虚拟内存,参考: 为Linux添加虚拟内存Swap。

复制配置文件

sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
sudo cp php.ini-production /usr/local/php7/etc/php.ini
登录后复制

添加环境变量,编辑 /etc/profile,文件末尾添加一行:

PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
登录后复制

使环境变量生效:

source /etc/profile
登录后复制

将php添加到sudo环境变量,编辑 /etc/sudoers文件中的 Defaults secure_path,后面加上PHP路径:

/usr/local/php7/bin:/usr/local/php7/sbin:
登录后复制

启动php-fpm

sudo php-fpm
登录后复制

如果提示找不到用户组nobody的gid:

[15-Nov-2019 15:53:49] ERROR: [pool www] cannot get gid for group ‘nobody’
[15-Nov-2019 15:53:49] ERROR: FPM initialization failed
登录后复制

就要先创建nobody用户组:

sudo groupadd nobody
登录后复制

再重新执行sudo php-fpm即可启动。

使用php -v命令查看php版本:

 php -v
PHP 7.4.0 (cli) (built: Nov 28 2019 13:38:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
登录后复制

推荐学习:《PHP视频教程

以上是ubantu 怎么编译安装php7的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP7有哪些版本引入了新的操作符 PHP7有哪些版本引入了新的操作符 Mar 03, 2025 pm 04:37 PM

本文详细介绍了PHP 7的新运营商:无效的(??),太空飞船(< =>)和无效的合并分配(?? =)操作员。 这些通过简化零检查和比较来增强代码的可读性和性能

如何优化PHP7代码以提高性能 如何优化PHP7代码以提高性能 Mar 03, 2025 pm 04:28 PM

本文研究了优化性能的PHP7代码。 它解决了常见的瓶颈,例如效率低下的数据库查询,I/O操作和内存泄漏。 解决方案包括有效的编码实践,数据库和缓存策略,异步

PHP7不同版本对内存消耗有什么影响 PHP7不同版本对内存消耗有什么影响 Mar 03, 2025 pm 04:35 PM

PHP 7的次要版本差异产生微妙的记忆消耗变化。 尽管较新的版本通常通过Zend Engine和垃圾收集优化提高了性能和存储效率,但影响依赖于应用程序。 象征

如何在PHP 7中有效使用会议? 如何在PHP 7中有效使用会议? Mar 10, 2025 pm 06:20 PM

本文详细介绍了有效的PHP 7会话管理,涵盖了session_start(),$ _Session,session_destroy()和安全cookie处理等核心功能。 它强调了安全性最佳实践,包括HTTP,会话ID再生,S

PHP7的版本更新主要修复了哪些bug PHP7的版本更新主要修复了哪些bug Mar 03, 2025 pm 04:36 PM

PHP 7通过解决众多错误,提高性能和增强安全性,从而显着改善了以前的版本。 密钥改进包括重写的Zend Engine 3,优化的内存管理和精制错误处理。而基因

如何从PHP 5.6升级到PHP 7? 如何从PHP 5.6升级到PHP 7? Mar 10, 2025 pm 06:29 PM

本文详细介绍了将PHP 5.6升级为PHP 7,强调了备份,检查服务器兼容性以及选择升级方法(软件包管理器,编译,控制面板或Web服务器配置)等关键步骤。 它解决了Potentia

如何使用New Relic等工具监视PHP 7的性能? 如何使用New Relic等工具监视PHP 7的性能? Mar 10, 2025 pm 06:28 PM

本文解释了如何使用新遗物监视PHP 7应用程序性能。 它详细详细介绍了新的Relic的设置,关键绩效指标(KPI),例如APDEX分数和响应时间,通过交易轨迹的瓶颈标识和错误轨迹

PHP7版本更新对session处理有什么影响 PHP7版本更新对session处理有什么影响 Mar 03, 2025 pm 04:31 PM

本文研究了PHP7中的会话处理,强调了增强的Zend引擎的性能提高。 它讨论了潜在的兼容性问题,从升级和详细信息优化策略的安全性和可伸缩性。

See all articles