我正在用無脂肪框架努力解決這個問題:$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 關注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消