首页 游戏 软件 资讯 排行榜 专题
首页
编程语言
ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法

ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法

热心网友
80
转载
2026-04-24

从零开始:在Ubuntu上搭建PHP环境的完整指南

最近因为项目需要,接触到了一个PHP项目。对于之前没怎么碰过PHP的开发者来说,第一步往往是从搭建环境开始。这不,我也走了一遍这个流程,顺便把在Ubuntu上安装和配置PHP的关键步骤整理出来,希望能帮到有同样需求的朋友。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法

一、清理战场:删除遗留的PHP包

开始之前,有个重要前提:确保系统里没有旧版本或冲突的PHP包。怎么操作呢?一条命令就能搞定——它会找出所有已安装的PHP相关包并彻底清除。

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

清理完别忘了再执行一下自动移除,把那些不再需要的依赖包也打扫干净。

sudo apt autoremove

二、扩充资源库:添加PPA源

接下来,为了能安装到更新、更全的PHP版本,我们需要添加一个广受认可的第三方PPA源。这里用的是Ondřej Surý维护的仓库,质量很有保障。

首先,安装一个基础的语言包,确保环境变量设置正确:

sudo apt-get install -y language-pack-en-base

然后,添加PPA仓库并更新软件包列表:

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

sudo apt-get update

三、核心步骤:安装PHP及常用扩展

仓库就绪,现在可以安装PHP了。这里以两个仍有一定用户基础的版本为例,你可以根据项目要求选择。

PHP 5.6 版本

虽然版本较老,但一些遗留项目可能还需要它。安装核心及FPM服务:

sudo apt-get install php5.6 php5.6-cli

sudo apt-get install php5.6-dev php5.6-fpm php5.6-cgi

接着,安装一些非常常用的扩展,比如数据库连接、图像处理、网络请求和缓存支持:

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-gd php5.6-curl php5.6-memcache

PHP 7.1 版本

如果你需要一个比5.6新,且性能有显著提升的版本,7.1是个不错的选择。安装命令类似:

sudo apt-get install php7.1 php7.1-cli

sudo apt-get install php7.1-dev php7.1-fpm php7.1-cgi

同样,别忘了配套的扩展:

sudo apt-get install php7.1-mysql php7.1-gd php7.1-curl php7.1-memcache

四、让PHP跑起来:Nginx配置要点

PHP安装好后,通常需要与Nginx配合。关键就在于Nginx的配置文件,需要正确地将PHP请求转发给后端的PHP-FPM进程处理。

下面是一个基础的配置片段,你需要把它放到Nginx的站点配置文件中相应的server块内:

# Pass all .php files onto a php-fpm/php-fcgi server.

location ~ [^/]\.php(/|$) {

fastcgi_split_path_info ^(.+?\.php)(/.*)$;

if (!-f $document_root$fastcgi_script_name) {

return 404;

}

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

# fastcgi_pass unix:/run/php/php5.6-fpm.sock;

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

fastcgi_index index.php;

include fastcgi_params;

}

注意看fastcgi_pass那一行。这里给出了两个套接字路径的示例,分别对应PHP 5.6和7.1的FPM服务。你需要根据自己实际安装的版本,注释掉不需要的那一行,确保路径指向正确的PHP-FPM套接字文件。这一步配置对了,Nginx和PHP才能顺利“握手”。

来源:https://blog.csdn.net/weixin_34893782/article/details/113710319
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Ubuntu Nodejs模块怎么引入
编程语言
Ubuntu Nodejs模块怎么引入

在Node js中引入模块:从零开始的清晰指南 想在Node js里用上别人写好的强大功能?核心就在于引入模块。这事儿听起来可能有点技术性,但其实跟着步骤走,你会发现它出奇地简单。整个过程围绕着require()这个关键函数展开。 首先,你得有个“舞台”。如果还没有项目文件夹,那就新建一个,并在里面

热心网友
04.24
ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法
编程语言
ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法

从零开始:在Ubuntu上搭建PHP环境的完整指南 最近因为项目需要,接触到了一个PHP项目。对于之前没怎么碰过PHP的开发者来说,第一步往往是从搭建环境开始。这不,我也走了一遍这个流程,顺便把在Ubuntu上安装和配置PHP的关键步骤整理出来,希望能帮到有同样需求的朋友。 一、清理战场:删除遗留的

热心网友
04.24
Ubuntu Node.js日志如何确保安全性
编程语言
Ubuntu Node.js日志如何确保安全性

Ubuntu 上保障 Node js 日志安全的实用方案 日志安全,听起来是个技术细节,但往往是系统安全链条上最薄弱的一环。一份配置不当的日志,轻则泄露敏感信息,重则成为攻击者入侵的跳板。今天,我们就来系统性地梳理一下,在 Ubuntu 环境下运行 Node js 应用时,如何从多个维度为你的日志安

热心网友
04.24
Ubuntu Node.js日志如何监控实时状态
编程语言
Ubuntu Node.js日志如何监控实时状态

在Ubuntu上监控Node js应用程序的实时日志状态 当Node js应用在Ubuntu服务器上运行时,掌握其运行状态至关重要。实时日志监控就像给应用装上了“心电图”,能让你第一时间发现异常、追踪流程。下面介绍几种在Ubuntu环境下行之有效的实时监控方法,你可以根据实际场景灵活选用。 1 使

热心网友
04.24
phpstorm在Ubuntu上如何自定义快捷键
编程语言
phpstorm在Ubuntu上如何自定义快捷键

在 Ubuntu 上为 PhpStorm 自定义快捷键 一 在 PhpStorm 内设置 Keymap 想打造一套得心应手的快捷键?其实,整个过程在 PhpStorm 内部就能轻松完成。首先,打开设置界面,路径是 File → Settings → Keymap(注意,Ubuntu 属于 Linux

热心网友
04.24

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

html中的dialog标签怎么用?
前端开发
html中的dialog标签怎么用?

HTML中的dialog标签怎么用? 很多开发者第一次接触 标签时,都会有个美丽的误会:以为把它写进HTML,页面就会自动弹出一个对话框。其实不然,这个标签的默认状态是“隐藏”的。你可以把它想象成一扇关着的门——写了标签只是造好了门框,想让门打开,你得要么手动加上 open 属性,要么用Ja vaS

热心网友
04.24
如何为响应式下拉菜单添加可点击关闭的“X”按钮
前端开发
如何为响应式下拉菜单添加可点击关闭的“X”按钮

本文介绍如何在基于 CSS 媒体查询和 checkbox 的响应式导航菜单中,通过重构 HTML 结构并结合轻量 Ja vaScript,实现点击汉堡图标展开菜单、再点击右上角“×”按钮即时收起的功能,解决纯 CSS 方案无法主动关闭的问题。 你是否遇到过这样的场景?在移动端,用户点击汉堡图标打开了

热心网友
04.24
如何用 Array.prototype.entries 配合 for...of 在遍历数组的同时获取索引和值
前端开发
如何用 Array.prototype.entries 配合 for...of 在遍历数组的同时获取索引和值

如何用 Array prototype entries 配合 for of 在遍历数组的同时获取索引和值 entries() 返回的是什么类型的迭代器 先说清楚一个核心概念:Array prototype entries() 返回的,是一个标准的数组迭代器对象。这意味着,每次调用它的 next(

热心网友
04.24
伊朗驳斥特朗普所谓分裂内斗
web3.0
伊朗驳斥特朗普所谓分裂内斗

伊朗驳斥特朗普所谓“分裂内斗”论调:美方言论被指为心理投射 近日,围绕伊朗国内局势的表述,美伊之间再次上演了一场外交言辞交锋。这场对话的焦点,似乎已悄然发生了转移。 谈判重心的转向与核心关切的明确 根据伊朗外交部发言人纳赛尔·卡纳尼的表态,一个关键信号已经释放:当前伊美谈判的重心,已不再局限于核问题

热心网友
04.24
HTML怎么做复古风格_html复古怀旧风格页面实现【手册】
前端开发
HTML怎么做复古风格_html复古怀旧风格页面实现【手册】

真正复古的CRT效果需叠加扫描线与亚像素抖动:用repeating-linear-gradient生成2px间距、rgba(0,0,0,0 08)透明度的黑色条纹层,并配以transform: translateX(0 5px) translateY(-0 3px)和steps(1)动画,辅以bac

热心网友
04.24