上一篇
云虚拟主机怎么搭建tp5.0
- 虚拟主机
- 2025-08-06
- 7
上传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_mysql
、mysqli
、mbstring
、openssl
、tokenizer
; - 可选优化:开启
opcache
(提升性能)、zip
(压缩输出)。
️ 注意:部分云平台需通过
.user.ini
文件单独启用扩展(路径一般为/usr/local/lib/php/XX/conf.d/
)。
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重写规则未生效导致,请检查两点:
- 确保
.htaccess
文件存在于项目根目录且内容正确; - 确认云主机已开启 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