温馨提示×

ubuntu下thinkphp如何配置

小樊
41
2026-09-19 21:24:00
栏目: 编程语言

下面按最常见场景给你一个在 Ubuntu + Nginx / Apache + PHP 下配置 ThinkPHP 的清晰步骤(以 ThinkPHP 6 为例,5.1 也基本通用)。


一、环境准备(Ubuntu)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 PHP 及扩展

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

查看 PHP 版本:

php -v

二、安装 Composer(ThinkPHP 必需)

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

三、创建 ThinkPHP 项目

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

目录结构:

/var/www/tp6

四、配置权限(非常重要)

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

五、Web 服务器配置

✅ 方案 A:Nginx(推荐)

1. 安装 Nginx

sudo apt install nginx -y

2. 配置站点

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

内容示例:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /var/www/tp6/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/php-fpm.sock;
    }

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

3. 启用站点

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

✅ 方案 B:Apache

sudo apt install apache2 libapache2-mod-php -y

开启重写:

sudo a2enmod rewrite

站点配置:

sudo nano /etc/apache2/sites-available/tp6.conf
<VirtualHost *:80>
    DocumentRoot /var/www/tp6/public
    ServerName your_domain_or_ip

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

启用:

sudo a2ensite tp6
sudo systemctl restart apache2

六、ThinkPHP 基础配置

1. 数据库配置

nano /var/www/tp6/config/database.php

示例:

'default' => 'mysql',
'connections' => [
    'mysql' => [
        'hostname' => '127.0.0.1',
        'database' => 'test',
        'username' => 'root',
        'password' => 'password',
    ]
]

2. 环境配置(推荐)

cp .example.env .env

七、访问测试

浏览器访问:

http://服务器IP

看到 ThinkPHP 欢迎页即成功 ✅


八、常见问题

1. 页面 500

tail -f /var/www/tp6/runtime/log/*

2. 路由不生效

  • Nginx 未配置 try_files
  • Apache 未开启 AllowOverride All

3. 权限问题

sudo chmod -R 777 runtime

如果你用的是 ThinkPHP 5.1 / 8 / 宝塔 / Docker,可以告诉我,我可以给你更针对性的配置。

0 踩