温馨提示×

linux thinkphp如何配置

小樊
44
2026-10-15 22:43:25
栏目: 编程语言

下面以 Linux 服务器(常见 CentOS / Ubuntu) 为例,说明 ThinkPHP 的配置方法,从环境到项目配置一步步来。


一、Linux 下运行 ThinkPHP 的基础环境

ThinkPHP(以 TP6 为例)需要:

  • PHP >= 7.1(推荐 7.4 / 8.0)
  • Composer
  • Web 服务器(Nginx 或 Apache)
  • 可选:MySQL / Redis

二、安装 PHP 与扩展(Ubuntu 示例)

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

查看版本:

php -v

三、安装 Composer

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

四、创建 ThinkPHP 项目

composer create-project topthink/think tp6
cd tp6

目录结构(重点):

tp6
├── app
├── config
├── public
├── runtime
└── .env

五、ThinkPHP 核心配置

1️⃣ 数据库配置(最常用)

编辑:

vim config/database.php

示例(MySQL):

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

✅ 推荐用 .env 配置(更安全)

cp .example.env .env
vim .env
APP_DEBUG = true

[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = test
USERNAME = root
PASSWORD = 123456
HOSTPORT = 3306

2️⃣ 应用配置

config/app.php

return [
    'app_name' => 'MyApp',
    'app_debug' => true,
];

3️⃣ 路由配置

route/app.php

use think\facade\Route;

Route::get('hello/:name', 'Index/hello');

六、Web 服务器配置(重点)

✅ Nginx 配置(推荐)

server {
    listen 80;
    server_name www.example.com;
    root /var/www/tp6/public;

    index index.php index.html;

    location / {
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=/$1 last;
        }
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php-fpm.sock;
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

重启 Nginx:

nginx -t
systemctl restart nginx

✅ Apache 配置

开启 rewrite:

a2enmod rewrite

public/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

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

chmod -R 755 tp6
chown -R www-data:www-data tp6/runtime

八、测试是否成功

浏览器访问:

http://服务器IP/

看到 ThinkPHP 欢迎页面 ✅


九、常见问题

1️⃣ 页面 500

  • 检查 runtime 权限
  • 查看 runtime/log

2️⃣ 路由无效

  • Nginx rewrite 没配
  • app_debug=false 时路由必须正确

3️⃣ Composer 安装慢

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

如果你用的是 CentOS / 宝塔 / Docker / TP5,或者想配置 HTTPS / 多应用 / 队列,可以告诉我具体环境,我可以给你更精确的配置。

0 踩