Symfony2 Doctrine PDO与LOAD DATA LOCAL INFILE的MySQL连接

Pat*_*ckB 7 php mysql pdo symfony doctrine-orm

为什么我有这个问题?

Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden in /srv/www/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php on line 742
Run Code Online (Sandbox Code Playgroud)

多数民众赞成我的配置

#app/config/config.yml
doctrine:
    dbal:
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%
        charset:  UTF8
        options:
            "\PDO::MYSQL_ATTR_LOCAL_INFILE": true

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

我尝试了没有领先的选项\.

如果我使用它,它的效果很棒!

/* @var \Doctrine\DBAL\Connection $connection */
$dbhost = $this->getContainer()->getParameter('database_host');
$dbuser = $this->getContainer()->getParameter('database_user');
$dbpass = $this->getContainer()->getParameter('database_password');
$dbname = $this->getContainer()->getParameter('database_name');

$connection = new \PDO('mysql:host=' . $dbhost . ';dbname=' . $dbname, $dbuser, $dbpass, array(\PDO::MYSQL_ATTR_LOCAL_INFILE => true));
Run Code Online (Sandbox Code Playgroud)

我如何使用symfony2中的doctrine代替自己的新\ PDO $连接.

我不知道为什么学说会忽略这些选项...或者不能将学校的选项转换为常数/整数?

Pat*_*ckB 10

试过并解决了.

#app/config/config.yml
doctrine:
    dbal:
        driver:   %database_driver%
        host:     %database_host%
        port:     %database_port%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%
        charset:  UTF8
        options:
            1001: true

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

学说选择不应该是常数^^

使用1001代替"\PDO::MYSQL_ATTR_LOCAL_INFILE"修复问题.