如何免费托管MySQL数据库并部署关联的PHP网站?
免费PHP+SQL网站部署方案及实操步骤
一、可用的免费主机平台(自带MySQL支持)
- 000webhost:支持PHP和MySQL,提供免费子域名,空间满足小型项目需求。
- InfinityFree:无强制广告,支持PHP、MySQL,自带免费SSL,空间和流量限制比较宽松。
- FreeHostingNoAds:无广告干扰,支持PHP和MySQL,提供基础的主机管理面板。
二、部署具体流程
本地准备工作
- 整理项目文件:把EasyPHP本地网站的所有文件(HTML、PHP、CSS、JS等)打包成ZIP,保留原目录结构。
- 导出本地数据库:用EasyPHP自带的phpMyAdmin,选中你的数据库,导出为包含结构和数据的SQL文件。
以InfinityFree为例的部署步骤
- 注册账号后进入控制面板,创建新的主机实例。
- 上传网站文件:打开控制面板的文件管理器,找到
public_html目录(这是网站的根目录),上传之前打包的ZIP文件并解压,或者直接拖拽单个文件上传。 - 创建线上数据库:在控制面板的数据库板块,新建MySQL数据库,记下数据库名、用户名、密码、主机地址(大多是localhost,少数平台会给内网地址)。
- 导入SQL数据:打开控制面板内置的phpMyAdmin,找到刚创建的数据库,选择「导入」选项,上传本地导出的SQL文件,执行导入操作。
- 修改数据库配置:找到项目里的数据库配置文件(比如
config.php),把本地的数据库信息替换成线上的:<?php $host = 'localhost'; // 替换成平台给出的主机地址 $dbname = '你的线上数据库名'; $username = '你的数据库用户名'; $password = '你的数据库密码'; $conn = mysqli_connect($host, $username, $password, $dbname); ?> - 测试访问:用平台提供的免费子域名打开网站,检查页面加载和数据库交互(比如登录、数据展示)是否正常。
其他平台的注意事项
- 000webhost:文件同样上传到
public_html目录,数据库导入后如果出现连接问题,可在控制面板的PHP设置里检查是否开启了mysqli等必要扩展。 - FreeHostingNoAds:部分情况下主机地址不是localhost,需要从数据库详情页获取正确的连接地址,配置时不要写错。
三、常见问题排查
- 数据库连接失败:核对配置文件里的主机、用户名、密码是否和平台提供的完全一致,确认数据库已创建且用户权限正确。
- PHP代码报错:在平台控制面板开启错误提示(设置
display_errors = On),根据错误信息调整代码,注意线上PHP版本可能和本地EasyPHP不同,比如PHP 8.x和7.x的语法差异。 - 静态资源加载失败:检查文件路径是否正确,线上环境区分大小写,本地Windows不区分,要统一文件名和路径的大小写规范。
内容的提问来源于stack exchange,提问作者Maxence Champot




