我正在使用laravel 5.4.我有.env和composer.json文件的问题.任何人都可以从任何浏览器访问,任何人都可以看到我的数据库凭据,所以请帮助我保护这些文件.
我们在 Php Laravel 中构建了应用程序,对于数据库,我们使用 postgres sql。并且在 postgres 之上,我们配置了 pgBouncer,通过管理一个可供任何应用程序使用的空闲连接池来限制服务器端的最大连接数。
现在,我们面临应用程序 (Php Laravel) 中使用的布尔值 (True(0),False(1)) 的问题。执行任何 CRUD 操作时会出现以下错误。在下面的错误列中,“已撤销”是布尔类型。
列 \"revoked\" 是布尔类型,但表达式是整数类型您需要重写或强制转换表达式。(SQL: \"revoked\", \"created_at\") 值 (0, 2020-02-07 06:09:06)
现在经过探索,我开始知道需要将布尔值视为 pgBouncer 的字符串。所以我对位于“ \vendor\laravel\framework\src\Illuminate\Database ”的connection.php文件进行了更改。我已更改代码以考虑如下所述的布尔值。
public function bindValues($statement, $bindings)
{
foreach ($bindings as $key => $value) {
//if(is_bool($value))
$statement->bindValue(
is_string($key) ? $key : $key + 1, $value,
//is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR
is_int($value) ? PDO::PARAM_INT : is_bool($value) ? PDO::PARAM_STR : PDO::PARAM_STR
);
}
}
Run Code Online (Sandbox Code Playgroud)
After the above changes the error with the …