当前位置:首页 > 文章列表 > 文章 > php教程 > Ubuntu下快速搭建PHP环境教程

Ubuntu下快速搭建PHP环境教程

2025-11-03 09:38:53 0浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Ubuntu快速安装PHP环境教程》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

在Ubuntu上安装PHP推荐使用apt包管理器,首选长期支持版本如PHP 8.2或8.3,兼顾性能与安全;通过sudo apt install php8.2及常用扩展包快速部署,结合ondrej/php PPA可获取更多版本选择;安装后用php -v和phpinfo()验证环境,配置php.ini调整内存、上传、时区等参数,并通过phpenmod、phpdismod管理扩展,配合Composer处理项目依赖,确保环境高效稳定。

php怎么安装_在Ubuntu系统上快速安装PHP环境

在Ubuntu系统上安装PHP环境,最直接且推荐的方式是使用apt包管理器,通过几个简单的命令就能快速部署,通常涉及安装PHP核心包及其常用的扩展。这不仅操作简便,还能确保系统包的兼容性和安全性。

解决方案

说实话,每次在新的Ubuntu服务器上搭建PHP环境,我心里都挺踏实的,因为apt真的太好用了。不像以前手动编译或者在其他系统上那么折腾。我的惯例是这样的:

更新一下包列表,这是个好习惯,能确保你拿到最新的可用软件包信息:

sudo apt update

然后,就是安装PHP了。现在主流的Ubuntu版本,比如LTS的20.04或22.04,通常都默认支持PHP 8.x。比如我要装PHP 8.2,我会这么做:

sudo apt install php8.2

光有核心包肯定不够,实际项目里,我们还需要各种扩展。比如处理数据库(MySQL)、处理Web请求(FPM)、命令行工具(CLI)、JSON操作、多字节字符串、XML解析、图片处理(GD)、HTTP请求(cURL)等等。我一般会一股脑把常用的都装上:

sudo apt install php8.2-cli php8.2-fpm php8.2-mysql php8.2-json php8.2-mbstring php8.2-xml php8.2-zip php8.2-gd php8.2-curl

这里解释一下,php8.2-fpm是给Nginx或Apache(通过mod_proxy_fcgi)用的,它能让PHP作为一个独立的进程池来处理Web请求,效率很高。php8.2-cli则是命令行接口,方便你跑脚本或者Composer。其他的扩展,看名字大概就知道是干嘛的了。如果你有特定的需求,比如需要Redis扩展,那就再加一个php8.2-redis

安装完成后,如果你用的是Nginx,需要配置Nginx指向PHP-FPM的socket文件(通常在/run/php/php8.2-fpm.sock)。如果是Apache,确保mod_phpmod_proxy_fcgi模块已启用,并配置好相应的VirtualHost

最后,检查一下安装是否成功:

php -v

如果能看到PHP的版本信息,那恭喜你,基本环境就位了。

在Ubuntu上安装PHP,有哪些推荐的版本以及如何选择?

选择PHP版本这事,其实挺讲究的,不能一概而论。我个人在做项目时,首先会考虑项目的兼容性需求。

如果是一个全新的项目,或者旧项目准备大升级,我肯定会倾向于选择最新的稳定版本,比如PHP 8.2或者8.3。这些版本在性能上通常有显著提升,语法糖也更丰富,开发体验会更好。而且,它们会得到更长时间的安全更新支持,这在生产环境中至关重要。你总不想你的服务器因为PHP版本老旧而出现安全漏洞吧?

但如果手头是老项目,特别是那种用了好几年、代码库庞大、依赖错综复杂的,那得小心了。贸然升级到最新PHP版本,可能会导致大量兼容性问题,比如一些旧函数被废弃、语法行为改变等。这种情况下,我会选择一个仍在维护、且与项目兼容的最新LTS(长期支持)版本。比如,如果项目是在PHP 7.4上跑的,可以考虑停留在7.4,或者谨慎地升级到8.0/8.1,但前提是要做充分的测试。

Ubuntu本身自带的软件源通常会提供几个比较稳定的PHP版本。你可以通过 apt search php | grep ^php[0-9]\. 来看看当前源里有哪些PHP版本可以装。如果需要更新的版本,或者一些旧的但官方源不再提供的版本,社区里有个很流行的PPA(Personal Package Archive),就是ondrej/php。添加这个PPA后,你几乎可以安装任何你想要的PHP版本,从5.6到最新的8.x,非常方便。

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

然后你就可以安装比如php8.3了。但用PPA也有个小小的风险,就是它不是官方源,虽然ondrej的PPA非常可靠,但心里总要留个底。

PHP安装完毕后,如何验证其是否正常工作并进行初步配置?

安装完PHP,第一件事肯定是要验证它是不是真的能跑起来。这就像你组装完一台电脑,总要按一下开机键看看有没有亮屏。

最简单的验证方法是打开终端,输入:

php -v

如果能看到PHP的版本号,说明CLI(命令行接口)的PHP已经正常工作了。你也可以试试:

php -m

这会列出所有已加载的PHP模块,你可以检查一下你安装的那些扩展是不是都在里面。

但对于Web应用来说,光CLI能跑还不够,还得确保Web服务器(Nginx或Apache)能正确调用PHP。我通常会创建一个info.php文件,内容很简单:

<?php
phpinfo();
?>

把它放到你的Web根目录(比如Nginx的/var/www/html或Apache的/var/www),然后通过浏览器访问http://你的服务器IP/info.php。如果能看到一个花花绿绿的PHP信息页面,那就说明PHP-FPM(或者Apache的mod_php)已经和Web服务器握手成功了。看完记得把这个文件删掉,生产环境暴露phpinfo()可不是个好习惯,会泄露太多服务器信息。

至于初步配置,主要是调整php.ini文件。这个文件是PHP的“大脑”,很多行为都由它控制。你可以通过php --ini命令找到你的php.ini文件位置,通常CLI和FPM会有不同的配置文件,比如/etc/php/8.2/cli/php.ini/etc/php/8.2/fpm/php.ini

我经常会调整几个关键参数:

  • memory_limit: PHP脚本可以使用的最大内存量。默认值通常是128M,如果你的应用需要处理大文件或复杂计算,可能需要调高到256M甚至更多。
  • upload_max_filesizepost_max_size: 这两个决定了通过HTTP POST请求上传文件的大小限制。如果你允许用户上传大文件,比如图片或视频,就得把它们调大。
  • max_execution_time: 脚本最大执行时间。长时间运行的脚本可能会超时,默认是30秒。
  • date.timezone: 必须设置,否则PHP会报错。比如 Asia/Shanghai

修改完php.ini后,记得重启PHP-FPM服务(如果用的是FPM)或者Web服务器(如果用的是mod_php),配置才能生效。例如:

sudo systemctl restart php8.2-fpm
# 或者
sudo systemctl restart nginx # 如果你用Nginx
sudo systemctl restart apache2 # 如果你用Apache

Ubuntu系统上,如何高效管理和更新PHP版本及扩展?

在Ubuntu上管理和更新PHP版本及扩展,其实远比你想象的要灵活和方便,尤其是当你习惯了apt的逻辑之后。我通常会把这看作是系统维护的一部分,定期检查和更新。

最基础的更新当然是系统级别的:

sudo apt update
sudo apt upgrade

这会把所有通过apt安装的软件包(包括PHP核心和扩展)更新到其当前源中可用的最新版本。对于生产环境,我一般会等到大版本稳定一段时间后才升级,小版本更新则会更积极。

如果你想安装新的PHP扩展,比如项目突然需要用到imagick来处理图片,那就直接安装:

sudo apt install php8.2-imagick

安装后,这个扩展通常会自动启用。但如果需要手动启用或禁用某个扩展,phpenmodphpdismod这两个工具就派上用场了。比如,你想禁用xdebug(因为在生产环境通常不需要,会影响性能):

sudo phpdismod -v 8.2 xdebug
sudo systemctl restart php8.2-fpm

要启用它,就把phpdismod换成phpenmod-v 8.2 是指定PHP版本,如果系统里有多个PHP版本,这个参数就很有用。

处理多个PHP版本时,update-alternatives是个神器。假设你同时安装了PHP 7.4和PHP 8.2,并且想在命令行下切换默认版本:

sudo update-alternatives --config php

系统会列出所有可用的PHP版本,让你选择一个作为默认。这个命令只影响CLI的PHP版本,Web服务器的PHP版本通常是通过PHP-FPM的socket配置来控制的。

如果你的项目依赖一些特定的PHP库,Composer是PHP生态里不可或缺的包管理器。它管理的是项目级别的依赖,而不是系统级别的PHP扩展。虽然两者是不同的层面,但它们相辅相成。比如,你通过apt安装了PHP核心和php-mbstring扩展,然后你的项目通过Composer安装了一个需要mbstring的库,这样就能无缝衔接。

最后,如果你使用了像ondrej/php这样的PPA来获取最新的PHP版本,记得也要定期更新PPA源,并执行apt update && apt upgrade,以确保你的PHP版本能够及时获得安全补丁和性能改进。保持PHP环境的更新,不仅是为了新功能,更是为了安全和稳定。

文中关于php,Ubuntu,PHP扩展,php-fpm,apt的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Ubuntu下快速搭建PHP环境教程》文章吧,也可关注golang学习网公众号了解相关技术文章。

AO3镜像站可用地址及官方入口AO3镜像站可用地址及官方入口
上一篇
AO3镜像站可用地址及官方入口
GolangHTTPBody解析与绑定教程
下一篇
GolangHTTPBody解析与绑定教程
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ChatExcel酷表:告别Excel难题,北大团队AI助手助您轻松处理数据
    ChatExcel酷表
    ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
    3180次使用
  • Any绘本:开源免费AI绘本创作工具深度解析
    Any绘本
    探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
    3391次使用
  • 可赞AI:AI驱动办公可视化智能工具,一键高效生成文档图表脑图
    可赞AI
    可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
    3420次使用
  • 星月写作:AI网文创作神器,助力爆款小说速成
    星月写作
    星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
    4526次使用
  • MagicLight.ai:叙事驱动AI动画视频创作平台 | 高效生成专业级故事动画
    MagicLight
    MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
    3800次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码