【问题标题】:how setup php project to install database through user interface如何设置 php 项目以通过用户界面安装数据库
【发布时间】:2016-05-03 04:56:57
【问题描述】:

我有足够的经验使用 CakePhp 框架在 PHP 中构建网站,但现在我正在尝试像其他专业人士一样构建网站,通过提供主机、数据库名称、用户名、密码等方式为用户提供 GUI 来配置/安装网站网站有 1 个名为“install.php”的文件,它需要数据库详细信息来连接和创建数据库。

我的问题来了,当网站提示用户输入数据库详细信息并获取主机、数据库名称、用户、密码的值后;我们运行 databse.sql 文件来创建数据库,但之后我们的项目如何知道用户名、密码、数据库名称、主机来连接,因为通常我们在 php 文件中写入数据库凭据以进行配置,因此我们如何处理我们之间的连接PHP 网站和数据库。

我正在考虑在数据库配置文件中编写一些关键字并将其替换为用户提供的详细信息的一种解决方案。

如果您有更好的解决方案,请指导我。

【问题讨论】:

  • 我认为它的工作方式与您的想法相同。基本上应该有一个文件名为 settings.php,在该文件中添加变量,然后用用户输入替换所有变量值,并确保此 settings.php 文件是通用的,因此可以在所有 php 页面中调用变量和所有配置。
  • 感谢您的建议
  • 还有一件事,首先运行安装时,您必须检查是否设置了这些变量,否则当您迁移现有网站时,它会产生问题并要求您每次都进行全新安装。跨度>
  • 非常好的提示。如果他想创建数据库或者他已经拥有,我将通过给用户选择来处理它,然后我们将只保存配置设置并且不会运行数据库脚本。我找到了处理 config.php 的好解决方案。您可以在答案中看到这一点。 @JiteshNK

标签: php database cakephp installation


【解决方案1】:

我找到了答案

config.php:

return array(
    'host' => 'localhost',
    'username' => 'not-defined',
);

setting.php:

$config = include 'config.php';
$config['username']= 'root';
file_put_contents('config.php', '<?php return ' . var_export($config, true) . ';');

更新的 config.php 现在包含以下内容:

return array(
     'host' => 'localhost',
     'username' => 'root',
);

您可以以相同的方式添加添加/更新其他属性。

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2011-05-16
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多