我正在用无脂肪框架努力解决这个问题:$db=new DB\SQL( 'mysql:host=localhost;port=3306;dbname=mysqldb', 'admin', 'p455w0rD');如何在纯文本上使用变量?我想使用环境变量并执行以下操作:$db=new DB\SQL( 'mysql:host='.getenv('HOST').';port=3306;dbname=mysqldb', getenv('USERNAME'), getenv('PASSWORD'););但是,它不起作用,而且我找不到另一种方法来输入 sql 凭据:( 这是文档:https: //fatfreeframework.com/3.7/databases这是我上面代码的错误:Internal Server ErrorSQLSTATE[HY000] [2002] No such file or directory [/Users/kasterby/Documents/yeet/yeet/fatfree-master/lib/DB/SQL.php:519]
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
No such file or directory
通常意味着您的 MySQL 服务器未启动并运行。
具体来说,为了回答您的问题,如果您想要使用一个变量而不是对其进行硬编码,那非常简单。您可以使用配置文件,也可以创建一个完全独立的文件,例如PHP 的 ini 解析函数,甚至是一个简单的config.php
文件,如下所示:
// repo/config.php
<?php
return [
'db_name' => 'database',
'db_user' => 'someusername',
// etc
];
// repo/public/index.php
$config = require('config.php');
$db = new DB\SQL(
'mysql:host='.$config['db_host'].';port='.$config['db_port'].';dbname='.$config['db_name'],
$config['db_user'],
$config['db_pass']
);
不过,具体到您的问题,如果您需要环境变量,这取决于您的网络服务器,但您必须在网络服务器配置中定义环境变量才能使用它们。您还可以创建一个.env与 Laravel 类似的文件,并使用此处.env提到的库解析该文件
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消