商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 在Linux上如何使用ThinkPHP进行开发

在Linux上如何使用ThinkPHP进行开发

  发布于2026-07-04 阅读(0)

扫一扫,手机访问

在Linux上使用ThinkPHP进行开发的完整流程

在Linux上如何使用ThinkPHP进行开发

先说几个核心结论:在Linux环境下搭建ThinkPHP开发栈,本质上就是把PHP、Web服务器(Nginx或Apache)、数据库以及Composer这四样东西安排明白。很多新手容易在环境配置这一步卡住,其实整个过程有清晰的套路可循。下面就以最主流的Ubuntu/Debian系统为例,把完整流程拆解一遍,CentOS/RHEL的用户只要把命令中的包管理器换成yum就行。

一、环境准备:安装基础组件

动手之前,先把基础环境打好。具体来说需要更新系统、安装PHP及其扩展、配置Web服务器、装上Composer。

  1. 更新系统软件包
    sudo apt update && sudo apt upgrade -y
  2. 安装PHP及必要扩展 ThinkPHP 6.x推荐PHP 7.4及以上版本,核心扩展不能少:
    sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl zip -y
  3. 安装Web服务器(以Nginx为例)
    sudo apt install nginx -y
    sudo systemctl start nginx && sudo systemctl enable nginx
    # 启动并设置开机自启
  4. 安装Composer(PHP依赖管理工具)
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
    # 全局可用

二、安装ThinkPHP:推荐Composer创建项目

用Composer创建项目是最省事的方式,它会自动处理依赖问题,省去手动下载的麻烦。

cd /var/www/html
# 项目存放目录(需web服务器有读取权限)
composer create-project topthink/think tp6
# "tp6"为项目名称,可自定义

等它安装完成,项目目录结构就会自动生成,包括public入口目录、app应用目录等核心结构。

三、配置Web服务器:支持PHP与路径重写

1. Nginx配置(关键步骤)

为了避免跟默认配置冲突,建议创建一个专属的配置文件:

sudo nano /etc/nginx/sites-a vailable/tp6.conf

写入以下内容,注意root必须指向项目的public目录——这是ThinkPHP的安全要求:

server {
    listen 80;
    server_name your_domain_or_ip;
    # 替换为域名或IP
    root /var/www/html/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:/run/php/php8.2-fpm.sock;
        # 根据PHP版本调整(如php7.4-fpm.sock)
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /.ht {
        deny all;
        # 禁止访问.htaccess文件
    }
}

启用配置并重启Nginx:

sudo ln -s /etc/nginx/sites-a vailable/tp6.conf /etc/nginx/sites-enabled/
sudo nginx -t
# 测试配置语法(无报错则继续)
sudo systemctl restart nginx

2. Apache配置(可选)

如果选择Apache,需要先启用mod_rewrite模块,再配置.htaccess

sudo a2enmod rewrite
sudo systemctl restart apache2

在项目根目录创建.htaccess文件:


    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]

四、配置数据库:连接应用与数据

  1. 创建数据库与用户 登录MySQL,执行以下命令:
    CREATE DATABASE tp6_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'tp6_user'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON tp6_db.* TO 'tp6_user'@'localhost';
    FLUSH PRIVILEGES;
  2. 修改项目数据库配置 编辑项目根目录下的.env文件,覆盖默认配置:
    nano /var/www/html/tp6/.env
    找到[DATABASE]部分,填入实际信息:
    DB_TYPE=mysql
    DB_HOST=127.0.0.1
    DB_NAME=tp6_db
    DB_USER=tp6_user
    DB_PASSWORD=your_password
    DB_PORT=3306

五、设置权限:避免文件访问问题

这一步容易被忽略,但很重要——Web服务器用户(通常是www-data)必须有正确的目录权限:

sudo chown -R www-data:www-data /var/www/html/tp6
# 修改所有者
sudo chmod -R 755 /var/www/html/tp6/runtime
# 运行时目录需可写

六、运行项目:开发与测试

  1. 启动内置服务器(开发环境专用) 进入项目目录,运行以下命令启动PHP内置服务器(端口8000,仅限本地访问):

    cd /var/www/html/tp6
    php think run

    浏览器访问http://your_domain_or_ip:8000,如果看到ThinkPHP欢迎页面,说明环境配置成功。

  2. 生产环境部署 开发完成后,记得关闭调试模式——修改config/app.php中的app_debugfalse,然后通过Nginx或Apache提供正式服务。

七、常见问题排查

  • 502 Bad Gateway:检查PHP-FPM是否运行(sudo systemctl status php-fpm),确认Nginx配置中的fastcgi_pass路径与PHP-FPM的socket路径一致。
  • 路由失效:确保Nginx配置中包含try_files $uri $uri/ /index.php?$query_string;——路径重写是ThinkPHP路由生效的关键。
  • Composer安装慢:切换国内镜像加速(composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/)。

走完以上步骤,Linux系统上的ThinkPHP开发环境就搭建好了。实际开发过程中,可以配合git做版本控制,通过CI/CD工具实现自动化部署,这样整个开发效率会再上一个台阶。

本文转载于:https://www.yisu.com/ask/21992603.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注