当前位置:首页 > 虚拟主机 > 正文

云虚拟主机怎么搭建tp5.0

上传ThinkPHP5.0至云主机根目录,创建数据库并导入SQL,修改conf及.env配置数据库信息,添加伪静态规则,浏览器访问

前期准备

确认云虚拟主机基础信息

项目 说明
操作系统 推荐 Linux(支持 PHP + Nginx/Apache)
PHP 版本 ≥7.4(TP5.0官方推荐PHP≥7.4)
Web 服务器类型 Nginx 或 Apache(需提前知晓服务商默认配置)
数据库支持 MySQL(主流云主机均提供)
文件管理器/FTP 确保可通过 cPanel、宝塔面板或 FTP 工具上传文件

必备工具与材料

  • ThinkPHP 5.0 完整源码包(官网下载)
  • 文本编辑器(如 Notepad++、VS Code)
  • 浏览器(用于测试访问)

环境配置步骤

1. 检查并启用 PHP 扩展

登录云主机管理后台 → 进入「软件管理」或「PHP版本切换」模块:

  • 必选扩展:勾选 pdo_mysqlmysqlimbstringopenssltokenizer
  • 可选优化:开启 opcache(提升性能)、zip(压缩输出)。

️ 注意:部分云平台需通过 .user.ini 文件单独启用扩展(路径一般为 /usr/local/lib/php/XX/conf.d/)。

云虚拟主机怎么搭建tp5.0  第1张

2. 配置 Web 服务器规则

【场景一】若使用 Nginx:

编辑站点配置文件(如 /usr/local/nginx/conf/vhost/xxx.conf):

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
    fastcgi_pass unix:/dev/shm/php-fpm.sock; # 根据实际Socket路径调整
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

【场景二】若使用 Apache:

修改 .htaccess 文件(放置于项目根目录):

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

项目部署流程

1. 上传项目文件

  • 方式一:通过 FTP 客户端(如 FileZilla)连接到云主机,将解压后的 TP5.0 源码上传至网站根目录(如 /wwwroot/yourdomain);
  • 方式二:若使用 cPanel/宝塔面板,可直接拖拽压缩包至「文件管理器」解压。

2. 设置目录权限

  • 递归赋予项目目录写权限(重要!):
    chmod -R 755 /wwwroot/yourdomain     # 目录权限
    chmod -R 644 /wwwroot/yourdomain/   # 文件权限
    chown -R www:www /wwwroot/yourdomain # 用户组归属(根据系统调整)
  • 特别关注以下目录的可写性:
    • application/(应用逻辑层)
    • runtime/(运行时缓存)
    • storage/(文件存储)

️ 3. 创建数据库并关联

  • 登录云主机数据库管理页 → 新建数据库(记下数据库名、用户名、密码);
  • 修改项目入口文件 index.php 中的数据库配置(示例):
    // application/database.php
    return [
        'type'     => 'mysql',
        'hostname' => 'localhost', // 或云主机内网地址(如 127.0.0.1:3306)
        'database' => 'yourdbname',
        'username' => 'yourusername',
        'password' => 'yourpassword',
        'charset'  => 'utf8mb4',
        'collation'=> 'utf8mb4_unicode_ci',
        'prefix'   => 'tp_',
    ];

域名绑定与测试

1. 绑定域名

  • 登录云主机控制台 → 找到「域名管理」→ 添加解析记录(A记录指向云主机IP);
  • 若使用子域名(如 test.example.com),需同步添加 CNAME 记录。

2. 测试访问

  • 浏览器输入 http://yourdomain.com,预期显示 TP5.0 欢迎页面;
  • 若出现空白页或报错,按以下顺序排查:
    | 现象 | 可能原因 | 解决方案 |
    |——————–|————————–|——————————|
    | 404 Not Found | URL重写未生效 | 检查 .htaccess 或 Nginx规则 |
    | 数据库连接失败 | 账号/密码/权限错误 | 核对数据库配置 |
    | 语法错误提示 | PHP版本过低或扩展缺失 | 升级PHP版本/启用所需扩展 |

常见问题与解答

Q1: 为什么上传文件后提示“No input file specified”?

A: 此错误通常由 URL重写规则未生效导致,请检查两点:

  1. 确保 .htaccess 文件存在于项目根目录且内容正确;
  2. 确认云主机已开启 URL重写模块(Apache需加载 mod_rewrite,Nginx需检查 try_files 配置)。

Q2: 如何防止敏感文件被外部访问?

A: 在项目根目录创建 .gitignore 文件,并添加以下内容阻止敏感文件暴露:

# 禁止访问以下文件/目录
/application/database.php
/config/database.php
/.env
/storage/logs/.log
/runtime/

在 Web 服务器配置中添加禁止规则(如 Nginx):

location ~ /(application|config|storage|runtime)/ {
    deny all
TP
0