如何在 Fat Free Framework 的新 mysql 界面中使用变量
How to use variables in new mysql interface in Fat Free Framework
我正在用 fat free 框架解决这个问题:
$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 Error
SQLSTATE[HY000] [2002] No such file or directory [/Users/kasterby/Documents/yeet/yeet/fatfree-master/lib/DB/SQL.php:519]
No such file or directory
通常意味着您的 MySQL 服务器未启动并且 运行.
具体来说就是回答您的问题,如果您想要使用变量而不是对其进行硬编码,那非常简单。您可以使用 configuration files or you can create a totally separate file like PHP's ini parse function 或什至像这样使用的简单 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']
);
具体到你的问题,如果你想要环境变量,这取决于你的网络服务器,但你必须在你的网络服务器配置中定义环境变量才能使用它们。您还可以创建一个类似于 Laravel 的 .env
文件,并使用提到的库 here
解析 .env
文件
我正在用 fat free 框架解决这个问题:
$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 Error
SQLSTATE[HY000] [2002] No such file or directory [/Users/kasterby/Documents/yeet/yeet/fatfree-master/lib/DB/SQL.php:519]
No such file or directory
通常意味着您的 MySQL 服务器未启动并且 运行.
具体来说就是回答您的问题,如果您想要使用变量而不是对其进行硬编码,那非常简单。您可以使用 configuration files or you can create a totally separate file like PHP's ini parse function 或什至像这样使用的简单 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']
);
具体到你的问题,如果你想要环境变量,这取决于你的网络服务器,但你必须在你的网络服务器配置中定义环境变量才能使用它们。您还可以创建一个类似于 Laravel 的 .env
文件,并使用提到的库 here
.env
文件