温馨提示×

ubuntu下thinkphp怎么配置

小樊
46
2026-09-07 15:14:50
栏目: 编程语言

下面按最常见场景(Ubuntu + Nginx/Apache + PHP + ThinkPHP 6/8)给你一套从零到可访问的配置步骤。如果你用的是 ThinkPHP 5,我也会在关键处说明差异。


一、环境准备(Ubuntu)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 PHP(以 PHP 8.1 为例)

sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip -y

查看版本:

php -v

二、安装 Web 服务器

方案 A:Nginx(推荐)

sudo apt install nginx -y

方案 B:Apache

sudo apt install apache2 libapache2-mod-php -y

三、安装 Composer(ThinkPHP 必需)

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -v

四、安装 ThinkPHP

1. 创建项目(以 TP6 为例)

cd /var/www
composer create-project topthink/think tpapp

ThinkPHP 8:

composer create-project topthink/think tp8app

2. 设置权限

sudo chown -R www-data:www-data /var/www/tpapp
sudo chmod -R 755 /var/www/tpapp
sudo chmod -R 777 /var/www/tpapp/runtime

五、Nginx 配置(重点)

1. 新建站点配置

sudo nano /etc/nginx/sites-available/tpapp

2. 配置内容(ThinkPHP 必须重写 index.php)

server {
    listen 80;
    server_name localhost;  # 可改为你的域名

    root /var/www/tpapp/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/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

3. 启用站点

sudo ln -s /etc/nginx/sites-available/tpapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

六、Apache 配置(如用 Apache)

1. 启用 rewrite

sudo a2enmod rewrite

2. 修改站点配置

sudo nano /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/tpapp/public

<Directory /var/www/tpapp/public>
    AllowOverride All
    Require all granted
</Directory>

3. 重启

sudo systemctl restart apache2

七、ThinkPHP 基础配置

1. 配置文件

/var/www/tpapp/config/database.php

示例(MySQL):

return [
    'default' => 'mysql',
    'connections' => [
        'mysql' => [
            'type'     => 'mysql',
            'hostname' => '127.0.0.1',
            'database' => 'test',
            'username' => 'root',
            'password' => 'password',
            'hostport' => '3306',
            'charset'  => 'utf8mb4',
        ],
    ],
];

八、测试访问

浏览器访问:

http://服务器IP

看到 ThinkPHP 欢迎页面 即成功 ✅


九、常见问题

1. 页面 500

sudo chmod -R 777 runtime

2. 404(路由问题)

  • Nginx 必须配置 try_files
  • Apache 必须 AllowOverride All

3. ThinkPHP 5 差异

  • 根目录是 public/index.php
  • 路由默认开启

如果你愿意,可以告诉我:

  • ThinkPHP 版本(5 / 6 / 8)
  • Nginx 还是 Apache
  • 是否是 本地虚拟机 / 云服务器 / Docker

我可以直接给你一份可直接用的配置文件

0