温馨提示×

如何在ubuntu上使用thinkphp进行开发

小樊
47
2025-11-19 00:56:27
栏目: 编程语言

在 Ubuntu 上使用 ThinkPHP 进行开发

一 环境准备

  • 更新系统并安装 PHP 及常用扩展(按你的 PHP 版本调整,示例为 PHP 7.4;如使用 PHP 8.x,将版本号替换为 8.0/8.1/8.2/8.3):
    • sudo apt update
    • sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
  • 安装 Nginx(或 Apache,二选一;以下以 Nginx 为例):
    • sudo apt install 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
  • 可选:如使用 Apache,需启用 mod_rewrite 模块。

二 创建项目

  • 方式一(推荐)使用 Composer 创建项目:
    • 进入站点目录:cd /var/www/html
    • 创建项目:composer create-project topthink tp
  • 方式二 全局安装 ThinkPHP 并使用 think 命令创建项目:
    • 全局安装:composer global require topthink
    • 将 Composer 全局 bin 加入 PATH(写入 ~/.bashrc 或 ~/.zshrc):export PATH=“$HOME/.composer/vendor/bin:$PATH”
    • 创建项目:think new my_project
  • 说明:ThinkPHP 6 的入口在 public/ 目录,部署或访问时应指向该目录。

三 配置与运行

  • 数据库配置:在项目根目录编辑 .env,设置数据库连接(示例为 MySQL):
    • DB_TYPE=mysql
    • DB_HOST=127.0.0.1
    • DB_NAME=your_database_name
    • DB_USER=your_database_user
    • DB_PASSWORD=your_database_password
    • DB_PORT=3306
    • DB_PREFIX=
  • 开发服务器(快速本地开发):
    • cd tp
    • php think run(默认监听 http://127.0.0.1:8000
  • Nginx 配置要点(将站点根目录指向 public,并支持 PATHINFO):
    • 示例 server 配置:
      • server {
        • listen 80;
        • server_name your_domain_or_ip;
        • root /var/www/html/tp/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;
        • }
      • }
    • 启用站点并重启服务:
      • sudo ln -s /etc/nginx/sites-availablephp_project /etc/nginx/sites-enabled/
      • sudo nginx -t && sudo systemctl restart nginx
  • Apache 配置要点(启用 mod_rewrite,DocumentRoot 指向 public):
    • DocumentRoot /var/www/html/your_project/public
    • 在 public 或项目根目录放置 .htaccess 以启用重写(示例规则见文末“常见问题”)。

四 常见问题与优化

  • 502 Bad Gateway:检查 PHP-FPM 是否运行(systemctl status php*-fpm),并确认 Nginx 中 fastcgi_pass.sock 路径与 PHP 版本一致(如 php7.4-fpm.sock/php8.1-fpm.sock)。
  • 路由 404 或白屏:确保 Nginx 包含 try_files $uri $uri/ /index.php?$query_string;,且站点根目录为 public
  • Composer 安装慢:使用国内镜像加速
    • composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
  • 目录权限:确保 runtime 可写
    • chmod -R 755 runtime
    • chown -R www-data:www-data /var/www/html/tp
  • 安全与性能(生产环境建议):
    • 关闭调试:在 config/app.php 设置 ‘app_debug’ => false
    • 禁止访问 .env:location ~ /.env { deny all; }
    • 开启 OPcache、使用 Redis 会话/缓存。

五 快速验证

  • 访问地址:
    • 内置服务器:打开 http://127.0.0.1:8000
    • Nginx/Apache:打开 http://your_domain_or_ip
  • 看到 ThinkPHP 欢迎页或默认页面即表示环境搭建成功。

0