背景:由于项目需要,在框架外(public文件夹下)新建了一个原生的php文件,由于不知道怎么解决
“框架外的php文件,怎么使用DB操作”
于是上网搜索了一早上也没能又方法
于是我使用了,原生连接方法
//连接数据库 $conn=mysqli_connect('localhost','demo','3KHC999zLX666','demo') or die("連接失敗"); // $conn = new PDO('mysql:host=localhost;dbname=xcx_club', 'xcx_m_club', 'yyyyyy'); mysqli_query($conn, "set names utf8");
后来由于客户说,最好就是指定一个文件,用env的就行,我上网找了很多,最终解决办法如下:
(我的环境 nginx php7,3)
.env文件
APP_DEBUG = true [APP] DEFAULT_TIMEZONE = Asia/Taipei [DATABASE] TYPE = mysql HOSTNAME = 127.0.0.1 DATABASE = booking885_com USERNAME = booking885_com PASSWORD = 3KHC26dzLXd222 HOSTPORT = 3306 CHARSET = utf8mb4 DEBUG = true authcode = j1g8KSrkbPLts9rNiM [LANG] default_lang = zh-cn
index.php文件
<?php class Env { const ENV_PREFIX = 'PHP_'; /** * 加载配置文件 * @access public * @param string $filePath 配置文件路径 - php7+以上加string * @return void - php7+才支持 */ public static function loadFile($filePath)//:void { if (!file_exists($filePath)) throw new \Exception('配置文件' . $filePath . '不存在'); //返回二位数组 $env = parse_ini_file($filePath, true); foreach ($env as $key => $val) { $prefix = static::ENV_PREFIX . strtoupper($key); if (is_array($val)) { foreach ($val as $k => $v) { $item = $prefix . '_' . strtoupper($k); putenv("$item=$v"); } } else { putenv("$prefix=$val"); } } } /** * 获取环境变量值 * @access public * @param string $name 环境变量名(支持二级 . 号分割) * @param string $default 默认值 * @return mixed */ public static function get($name, $default = null) { $result = getenv(static::ENV_PREFIX . strtoupper(str_replace('.', '_', $name))); if (false !== $result) { if ('false' === $result) { $result = false; } elseif ('true' === $result) { $result = true; } return $result; } return $default; } } Env::loadFile("../../.env"); /*调用配置文件*/ $app_api_url = Env::get('database.hostname'); /*调用变量方法*/ var_dump($app_api_url); echo($app_api_url);
这里如果出现这样的问题
只需要在宝塔上的php相应的版本上把禁用函数去除即可
在访问即可
其他的参数自己根据代码获取,代码简单,自己读吧
最后
❤️❤️❤️❤️❤️❤️ 🥳🥳🥳 茫茫人海千千万万,感谢这一刻你看到了我的文章,感谢观赏,大家好呀,欢迎加入人工智能交流群(看我的动态),更多周边福利等你🥳🥳🥳
✨✨欢迎订阅本专栏或者关注我,大家一起努力每天一题算法题✨✨
❤️❤️❤️ 最后,希望我的这篇文章能对你的有所帮助!
愿自己还有你在未来的日子,保持学习,保持进步,保持热爱,奔赴山海! ❤️❤️❤️