ubuntu php nginx mysql_Ubuntu安装PHP和PHP Nginx配置方法
从零开始:在Ubuntu上搭建PHP环境的完整指南
最近因为项目需要,接触到了一个PHP项目。对于之前没怎么碰过PHP的开发者来说,第一步往往是从搭建环境开始。这不,我也走了一遍这个流程,顺便把在Ubuntu上安装和配置PHP的关键步骤整理出来,希望能帮到有同样需求的朋友。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一、清理战场:删除遗留的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才能顺利“握手”。
相关攻略
在Node js中引入模块:从零开始的清晰指南 想在Node js里用上别人写好的强大功能?核心就在于引入模块。这事儿听起来可能有点技术性,但其实跟着步骤走,你会发现它出奇地简单。整个过程围绕着require()这个关键函数展开。 首先,你得有个“舞台”。如果还没有项目文件夹,那就新建一个,并在里面
从零开始:在Ubuntu上搭建PHP环境的完整指南 最近因为项目需要,接触到了一个PHP项目。对于之前没怎么碰过PHP的开发者来说,第一步往往是从搭建环境开始。这不,我也走了一遍这个流程,顺便把在Ubuntu上安装和配置PHP的关键步骤整理出来,希望能帮到有同样需求的朋友。 一、清理战场:删除遗留的
Ubuntu 上保障 Node js 日志安全的实用方案 日志安全,听起来是个技术细节,但往往是系统安全链条上最薄弱的一环。一份配置不当的日志,轻则泄露敏感信息,重则成为攻击者入侵的跳板。今天,我们就来系统性地梳理一下,在 Ubuntu 环境下运行 Node js 应用时,如何从多个维度为你的日志安
在Ubuntu上监控Node js应用程序的实时日志状态 当Node js应用在Ubuntu服务器上运行时,掌握其运行状态至关重要。实时日志监控就像给应用装上了“心电图”,能让你第一时间发现异常、追踪流程。下面介绍几种在Ubuntu环境下行之有效的实时监控方法,你可以根据实际场景灵活选用。 1 使
在 Ubuntu 上为 PhpStorm 自定义快捷键 一 在 PhpStorm 内设置 Keymap 想打造一套得心应手的快捷键?其实,整个过程在 PhpStorm 内部就能轻松完成。首先,打开设置界面,路径是 File → Settings → Keymap(注意,Ubuntu 属于 Linux
热门专题
热门推荐
HTML中的dialog标签怎么用? 很多开发者第一次接触 标签时,都会有个美丽的误会:以为把它写进HTML,页面就会自动弹出一个对话框。其实不然,这个标签的默认状态是“隐藏”的。你可以把它想象成一扇关着的门——写了标签只是造好了门框,想让门打开,你得要么手动加上 open 属性,要么用Ja vaS
本文介绍如何在基于 CSS 媒体查询和 checkbox 的响应式导航菜单中,通过重构 HTML 结构并结合轻量 Ja vaScript,实现点击汉堡图标展开菜单、再点击右上角“×”按钮即时收起的功能,解决纯 CSS 方案无法主动关闭的问题。 你是否遇到过这样的场景?在移动端,用户点击汉堡图标打开了
如何用 Array prototype entries 配合 for of 在遍历数组的同时获取索引和值 entries() 返回的是什么类型的迭代器 先说清楚一个核心概念:Array prototype entries() 返回的,是一个标准的数组迭代器对象。这意味着,每次调用它的 next(
伊朗驳斥特朗普所谓“分裂内斗”论调:美方言论被指为心理投射 近日,围绕伊朗国内局势的表述,美伊之间再次上演了一场外交言辞交锋。这场对话的焦点,似乎已悄然发生了转移。 谈判重心的转向与核心关切的明确 根据伊朗外交部发言人纳赛尔·卡纳尼的表态,一个关键信号已经释放:当前伊美谈判的重心,已不再局限于核问题
真正复古的CRT效果需叠加扫描线与亚像素抖动:用repeating-linear-gradient生成2px间距、rgba(0,0,0,0 08)透明度的黑色条纹层,并配以transform: translateX(0 5px) translateY(-0 3px)和steps(1)动画,辅以bac





