首页 后端开发 PHP7 编译安装PHP7.4(ubuntu)

编译安装PHP7.4(ubuntu)

Dec 13, 2021 pm 04:34 PM

本篇文章由PHP7教程栏目给大家介绍一下关于怎么编译安装PHP7.4(ubuntu)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

下载PHP7.4源码包

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

解压

tar -zxvf php-7.4.26.tar.gz
登录后复制

安装PHP依赖库

apt-get install libxml2 libxml2-dev sqlite3 libsqlite3-dev libcurl3-dev libxml-dev
登录后复制

运行./configure

# cd 到php源码目录
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/etc \
--with-fpm-user=test \
--with-fpm-group=test \
--with-curl --enable-fpm
登录后复制

注意:这里只有很少的扩展,因为多的话编译时间会很长。只是用于测试编译安装php,所以就没有加入很多扩展。如果安装完成后,后续想要加入更多扩展,又忘记了之前的编译参数,可以在源码目录 cat config.nice 就可以看到以前的编译参数。然后加入新的参数重新编译(别忘了先安装扩展依赖库)。
运行make && make install
运行make install 可加入 -j 参数,表示同时多个job工作,编译速度会快一些。

make install -j 2
登录后复制

设置PHP环境变量

1. 打开文件

vim /etc/profile
登录后复制

2. 写入内容

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

3. 使环境变量立即生效

source /etc/profile
登录后复制

4. 输入php -v 没有报错,环境变量设置成功

配置文件

# 修改配置文件 
cd /usr/local/php7/etc 
cp php-fpm.conf.default php-fpm.conf 
cp php-fpm.d/www.conf.default php-fpm.d/www.conf  

# 修改pid文件位置
vim php-fpm.conf
# 添加这行
pid = /run/php-fpm.pid

# 创建php-fpm软链接  
ln -s /usr/local/php7/sbin/php-fpm /usr/sbin/php-fpm
登录后复制

启停php-fpm

# 启动 
/usr/sbin/php-fpm 
# 关闭 
kill -INT `cat /run/php-fpm.pid` 
# 重启 
kill -USR2 `cat /run/php-fpm.pid`
登录后复制

错误处理

ERROR: [pool www] cannot get uid for user 'test'

1. 原因:由于前面编译的时候设置了,php-fpm的用户和用户组是test【随便设置的】(--with-fpm-user=test --with-fpm-group=test),实际上这个用户跟本不存在,有两种处理办法:

  • 创建用户和用户组为test

  • 修改php-fpm.conf将用户和用户组设置为跟nginx或者apache用户组一样即可

# 打开php-fpm.conf 
vim /usr/local/php7/etc/php-fpm.conf
# 找到位置修改为(我nignx用户组是 www-data user = www-data) 
group = www-data
登录后复制

2. ERROR: failed to retrieve TCP_INFO for socket: Protocol not available (92)

原因:我用的是windows下的linux子系统(ubuntu系统),不是完全虚拟的系统,会有一点问题,但是不影响。在宿主机任务管理器查看php-fpm已经启动了。

v2-685522ee9611528374737dc4fbac4b92_720w.jpg

解决办法:修改php-fpm.conf

# 方法1: 
listen = /run/php-fpm.sock 
# 方法2 设置 
log_level = alert
登录后复制

添加守护进程

# PHP源码里有自带的服务脚本,只需要复制到/etc/init.d 目录,加上执行权限就可以了。
# 要注意保持 /usr/local/php7/etc/php-fpm.conf 里面的 pid 文件位置是初始值。原来的是 pid = run/php-fpm.pid
# 在源码目录执行
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
systemctl daemon-reload

# 使用方法与上面相同,也可以使用 systemctl
service php-fpm start 
service php-fpm stop 
service php-fpm restart 
service php-fpm status
# 或者
systemctl start php-fpm
systemctl stop php-fpm
systemctl restart php-fpm
systemctl status php-fpm
登录后复制

以上是编译安装PHP7.4(ubuntu)的详细内容。更多信息请关注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.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 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)