如何在ubuntu上运行thinkphp应用
在 Ubuntu 上运行 ThinkPHP 的完整步骤

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一 准备环境
万事开头先搭台。想在 Ubuntu 上顺畅跑起 ThinkPHP,第一步就是把基础环境给配齐了。这活儿不复杂,跟着下面几步走就行。
- 更新系统并安装 PHP 及常用扩展(适配 ThinkPHP 常见依赖):
- 命令:
sudo apt update && sudo apt install -y php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
- 命令:
- 安装 Nginx(亦可选择 Apache):
- 命令:
sudo apt install -y nginx - 启动与开机自启:
sudo systemctl start nginx && sudo systemctl enable nginx
- 命令:
- 安装 Composer(PHP 依赖管理工具):
- 命令:
curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer - 验证:
composer -v应显示版本号
- 命令:
这里有个关键点:ThinkPHP 6 通常要求 PHP 版本不低于 7.2。上面列出的扩展包,基本覆盖了大多数项目的常规需求,一步到位能省去不少后续麻烦。
二 创建与配置项目
环境就绪,接下来就是创建项目并进行关键配置了。这个过程,其实就是在为你的应用“上户口”和“通水电”。
- 使用 Composer 创建项目(以 ThinkPHP 6 为例):
- 命令:
composer create-project topthink tp - 进入目录:
cd tp
- 命令:
- 配置数据库(两种常见方式,二选一或并存):
- 方式 A(推荐,.env 环境文件):在项目根目录编辑或创建
.env,设置- DB_TYPE=mysql
- DB_HOST=127.0.0.1
- DB_NAME=your_db
- DB_USER=your_user
- DB_PWD=your_password
- DB_PORT=3306
- 方式 B(配置文件):编辑
config/database.php,填写 type/host/username/password/database/port 等
- 方式 A(推荐,.env 环境文件):在项目根目录编辑或创建
- 目录权限(Web 写入场景如日志、缓存、上传):
- 命令:
sudo chown -R www-data:www-data /var/www/html/tp && sudo chmod -R 755 /var/www/html/tp
- 命令:
简单来说,ThinkPHP 支持通过 .env 文件或配置文件来管理数据库这类环境参数。选择哪一种,就看你的项目规范或个人习惯了。
三 运行方式
项目配置好了,怎么让它跑起来?这里得分情况讨论:是图方便的本地开发,还是准备正式上线的生产环境。
- 开发环境快速启动(内置服务器,适合本机或测试):
- 命令:
php think run - 访问:浏览器打开
https://localhost:8000
- 命令:
- 生产环境建议使用 Nginx + PHP-FPM(示例站点配置,
/var/www/html/tp为项目根目录):- 新建站点配置:
sudo nano /etc/nginx/sites-a vailable/tp - 配置内容:
server { listen 80; server_name your_domain_or_ip; root /var/www/html/tp/public; # 注意指向 public 目录 index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 请按实际 PHP 版本调整 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } - 启用站点并重启 Nginx:
sudo ln -s /etc/nginx/sites-a vailable/tp /etc/nginx/sites-enabled/sudo nginx -t && sudo systemctl restart nginx
- 访问:
https://your_domain_or_ip
- 新建站点配置:
这里有个必须注意的细节:ThinkPHP 6 的 Web 入口在 public/index.php,所以 Nginx 配置里的 root 一定要指向这个 public 目录。至于那个内置服务器,记住它只适合开发阶段临时用用。
四 常见问题与排查
即使步骤都对了,偶尔还是会碰到些小麻烦。别慌,下面这几个是高频问题,对照着排查,基本都能解决。
- 404 或路由无效:确认 Nginx 配置包含
try_files $uri $uri/ /index.php?$query_string;且root指向了public。 - 类自动加载失败:在项目根目录执行
composer install,确保vendor/autoload.php存在并已正确引入。 - 数据库连接失败:仔细核对
.env或config/database.php中的主机、库名、账号、密码、端口;同时确保 MySQL 服务正在运行且允许连接。 - 权限错误:Web 进程(通常是 www-data 用户)需要对
runtime、log、上传等目录有写入权限,检查用户和组权限设置。 - PHP 版本不匹配:ThinkPHP 6 需要 PHP >= 7.2。用
php -v检查版本,必要时升级 PHP,并记得同步调整 Nginx 配置中fastcgi_pass的套接字路径(比如改成php8.1-fpm.sock)。
相关攻略
在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
热门专题
热门推荐
在网络信息的浩瀚海洋中,热门文章总是吸引着无数人的目光 而蛙漫,这个备受关注的平台,其在线阅读入口自然成了许多读者探寻的焦点。怎么找到它,进去之后又能看到什么?咱们这就来聊聊。 蛙漫的魅力所在 简单来说,蛙漫的魅力在于它的“全”。这里就像一个内容集市,汇聚了各类精彩文章,题材包罗万象。你想看情节跌宕
指乎账号注销全流程详解 决定告别指乎,准备注销账号?这个操作确实需要谨慎,毕竟一旦完成,所有数据都将无法找回。下面,我们就来把注销账号的完整路径和关键细节,给你理得清清楚楚。 第一步:进入个人中心 首先,打开指乎App。在主界面底部导航栏,找到那个醒目的“我的”标签,点击进入。这里是你管理个人账号一
出行计划有变?一文读懂12306车票改签手续费 行程临时调整,车票改签是常事。但改签手续费怎么算,常常让人摸不着头脑。今天,我们就来把铁路12306的改签收费规则彻底讲清楚,让你下次改签时心里有本明白账,既不错过时机,也不花冤枉钱。 开车前48小时以上改签 如果你的行程变动得早,这可是最理想的改签窗
考研备考的得力助手:考研必题库App深度解析 在考研这场持久战中,选对工具往往能让复习效率倍增。今天要聊的这款考研必题库App,正是许多备考学子口中那个能“事半功倍”的得力助手。 海量真题:备考的核心资源库 说到备考,什么资源最金贵?历年真题绝对排在首位。这款App的核心优势之一,便是汇聚了各大学科
在无名骑士团这款游戏中,符文的选择对于各职业的发展至关重要 玩过《无名骑士团》的朋友都知道,职业强不强,一半看操作,另一半就得看符文怎么搭。一套合理的符文组合,往往能让你角色的战斗力产生质变,无论是刷本还是PK,都能更加得心应手。 战士职业符文选择 作为团队前排的绝对核心,战士的定位非常明确:既要扛





