我在Symfony中创建了一个项目并遇到了bug #57785。显然是一个错误,仍然没有解决。
谁知道解决这个错误的方法?
我会解释问题
我创建了一个便携式应用。这样的应用程序,用户通常会安装在Desktop
或My Documents
。
俄罗斯的坏道路径示例:
C:\Documents and Settings\Администратор\Рабочий стол\
C:\Documents and Settings\Администратор\Мои документы\
我可以限制用户在这样的目录中安装应用程序,但这是不好的做法。
在程序包dsn
中更改程序集doctrine/dbal
,但这是一个非常艰难的决定并不总是有效:
Doctrine\DBAL\Driver\PDOSqlite\Driver::_constructPdoDsn(array $params)
{
$dsn = 'sqlite:';
if (isset($params['path'])) {
$dsn .= iconv('cp1251', 'utf-8', $params['path']);
} else if (isset($params['memory'])) {
$dsn .= ':memory:';
}
return $dsn;
}
在更改编码后,必须获取Doctrine数据库驱动程序并替换数据库文件的路径。
$conn = $this->container->get('doctrine')->getConnection();
$new_path = iconv('cp1251', 'utf-8', $conn->getParams()['path']);
// further necessary change connection params
答案 0 :(得分:2)
我知道。只是不要在服务器上使用花哨的目录名称。
/var/www/project/db/
任何软件都是理智的,可读的