0

0

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

星夢妙者

星夢妙者

发布时间:2025-09-28 10:32:02

|

836人浏览过

|

来源于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,我会这么做:

立即学习PHP免费学习笔记(深入)”;

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已经正常工作了。你也可以试试:

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载
php -m

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

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

把它放到你的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文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

1937

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1277

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1180

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

948

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1400

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1229

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1439

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1303

2023.11.13

vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

28

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

【李炎恢】ThinkPHP8.x 后端框架课程
【李炎恢】ThinkPHP8.x 后端框架课程

共50课时 | 4.3万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号