部署一个小型 PHP + MySQL 服务

Posted

技术标签:

【中文标题】部署一个小型 PHP + MySQL 服务【英文标题】:Deploying a small PHP + MySQL service 【发布时间】:2012-09-08 02:02:04 【问题描述】:

我正在为我的客户端,并想知道设置数据库的正确方法是什么:

我应该使用托管服务提供商控制面板并创建数据库架构吗? 或者我应该将 SQL CREATE 脚本放入我的 php 中以在“初始化阶段”运行?托管服务提供商甚至允许 PHP 创建表吗?

这是一个非常小的站点,只有一个很小的信息页面和一个用于从数据库中获取数据的 Web 服务页面。

【问题讨论】:

您是否担心版权和 Scott Adams? @Ed:这是一个知识共享网站,我相信我可以摆脱“合理使用”。 :-P @d - 我认为你可能处于不稳定的状态 - 只是想在律师介入之前指出这一点。您正在使用名称和艺术品。还有这个网站是程序员互相帮助的,有创意吗? @Ed:我以为你第一次是在开玩笑,哈哈。不,说真的,你在说什么?我(或这里的任何人)是否看到选择这个头像而不是其他头像有任何经济收益?您最近浏览过“用户”部分吗?我真的是这里唯一使用“受版权保护”图像的人吗?我觉得你对互联网有点太认真了。 总结:不,我不担心斯科特亚当斯。他是一位伟大的漫画家,我尊重他的作品,阅读他的漫画并享受它,所以我决定将他的创作用作我的头像。我怀疑它会给我带来麻烦,但如果它会让你彻夜难眠,请在你认为合适的地方随时报告我这种公然粗鲁的行为。 【参考方案1】:

我通常将所有部署任务卸载到安装脚本中。通过这种方式,您可以在几秒钟内完成部署,并且可以在必要时重复。我不知道有什么方法可以限制脚本修改数据库(除了 mysql 用户权限,通常由您定义)

【讨论】:

太好了,我平时也是这样工作的。然而,这是我第一次使用免费的 PHP+mySQL 托管服务提供商,所以我不确定通常的做法。【参考方案2】:

这可能取决于您的托管服务提供商提供的服务——我个人会使用至少应该提供 phpMyAdmin 的控制面板。然后,您可以从开发数据库中导出架构并将其导入实时版本。

【讨论】:

导出是个好主意,是的。但我似乎更倾向于手写脚本,因为它更容易保存在我的源代码控制中。或许我可以偷懒,在phpMyAdmin中设置好一切,然后导出。 从 phpMyAdmin 导出您的架构并将其保存在源代码控制下的某个位置,无需手动重新编写架构 - 但如果您想要这样做,请把自己搞砸! ;) 这个问题与您的问题类似 - ***.com/a/7991989/664125。【参考方案3】:

根据您的托管服务提供商,您可以获得许多数据库。最差的是1个数据库,有一个固定的名字,大多数做5个或更多,有能力创建自己的数据库名。通常带有前缀。

尽管您可以通过 PHP 提供任何 SQL 语句,但我会从主机商那里获得面板。

【讨论】:

是的,我无法从 PHP 创建数据库,并且数据库名称必须具有固定前缀。但是如果我发现它们不存在,我可以选择在我的 PHP 中创建表。【参考方案4】:

安装时为什么要添加PHP的复杂性?

只需使用原始 SQL。更简单。将其触发到数据库中。

使用 PHP 作为界面。创建表/存储过程/触发器等是一次性事件。

【讨论】:

谢谢,这也有道理。虽然将 SQL 包装到 PHP 文件中只需要几行额外的代码。 真的吗?一大堆用于创建表、触发器等的 SQL。请提供代码来执行此操作,因为我对您的解决方案感兴趣。

以上是关于部署一个小型 PHP + MySQL 服务的主要内容,如果未能解决你的问题,请参考以下文章

LNMP架构搭建详细部署

LNMP网站服务器部署

Ansible部署小型企业服务框架+wordpress

Linux系统-LNMP部署农场牧场

PHP如何搭建服务器环境 原生篇 | Ubuntu 18.04 + PHP8.1 + MySQL5.7 + Nginx 1.4

PHP如何搭建服务器环境 原生篇 | Ubuntu 18.04 + PHP8.1 + MySQL5.7 + Nginx 1.4