Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置php项目以通过用户界面安装数据库_Php_Database_Cakephp_Installation - Fatal编程技术网

如何设置php项目以通过用户界面安装数据库

如何设置php项目以通过用户界面安装数据库,php,database,cakephp,installation,Php,Database,Cakephp,Installation,我有足够的经验使用CakePhp框架在PHP中构建网站,但现在我正尝试像其他专业人士一样构建网站,在这里,GUI通过提供主机、数据库名、用户名和密码,让用户配置/安装网站,其中网站有一个名为“install.PHP”的文件连接和创建数据库需要数据库详细信息 我的问题来了,当网站提示用户输入数据库的详细信息时,以及在获得主机、数据库名称、用户、密码的值之后;我们运行database.sql文件来创建数据库,但在这之后,我们的项目如何知道用户名、密码、数据库名称、连接主机,因为通常我们在php文件中

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

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

我正在考虑的一个解决方案是在数据库配置文件中写入一些关键字,并用用户提供的细节替换它们


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

我找到了答案

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) . ';');

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

我认为它的工作原理与您的想法相同。基本上应该有一个文件名it settings.php,在该文件中添加变量,然后用用户输入替换所有变量值,并确保此settings.php文件是通用的,以便可以在所有php页面中调用变量和所有配置。感谢这些建议,还有一件事,在运行安装时,首先必须检查这些变量是否已设置,否则,当你迁移现有网站时,它会产生问题,每次都会要求你重新安装。这是一个非常好的提示。若用户想要创建数据库或已经创建了数据库,我将通过让用户选择来处理它,然后我们将只保存配置设置,而不会运行数据库脚本。我找到了处理config.php的好方法。你可以从答案中看出这一点@吉特什克
return array(
     'host' => 'localhost',
     'username' => 'root',
);