如何在ubuntu上运行thinkphp应用
导读:在 Ubuntu 上运行 ThinkPHP 的完整步骤 一 准备环境 更新系统并安装 PHP 及常用扩展(适配 ThinkPHP 常见依赖): 命令:sudo apt update && sudo apt install...
在 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 环境文件):在项目根目录编辑或创建 .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
- 访问:浏览器打开 http://localhost:8000
- 生产环境建议使用 Nginx + PHP-FPM(示例站点配置,/var/www/html/tp 为项目根目录):
- 新建站点配置:sudo nano /etc/nginx/sites-available/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;
- }
- }
- server {
- 启用站点并重启 Nginx:
- sudo ln -s /etc/nginx/sites-available/tp /etc/nginx/sites-enabled/
- sudo nginx -t & & sudo systemctl restart nginx
- 访问:http://your_domain_or_ip
- 说明:ThinkPHP 6 的 Web 入口在 public/index.php,Nginx 的 root 应指向该目录;内置服务器仅用于开发。
四 常见问题与排查
- 404 或路由无效:确认 Nginx 配置包含 try_files $uri $uri/ /index.php?$query_string; 且 root 指向 public。
- 类自动加载失败:在项目根目录执行 composer install,确保 vendor/autoload.php 存在并已引入。
- 数据库连接失败:核对 .env 或 config/database.php 中主机、库名、账号、密码、端口;确保 MySQL 服务运行且允许远程/本地连接。
- 权限错误:Web 进程需要对 runtime、log、上传目录可写,使用 www-data 用户或相应组权限设置。
- PHP 版本不匹配:ThinkPHP 6 需要 PHP > = 7.2;使用 php -v 检查,必要时升级 PHP 并调整 Nginx 的 fastcgi_pass 套接字路径(如 php8.1-fpm.sock)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在ubuntu上运行thinkphp应用
本文地址: https://pptw.com/jishu/755682.html
