Почему у меня такая проблема?
Warning: PDO::query(): LOAD DATA LOCAL INFILE forbidden in /srv/www/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php on line 742
Это моя конфигурация.
#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
Я попробовал варианты без указания \
.
И если я использую это, он отлично работает!
/* @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));
Как я могу использовать доктрину от symfony2 вместо собственного нового соединения \ PDO $.
Я не знаю, почему доктрина игнорирует параметры … Или, возможно, Doctrine преобразует параметры в константу / целое?
Пробовал и решал.
#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
Параметры Doctrine не должны быть постоянными ^^
Вместо этого используйте 1001 вместо "\PDO::MYSQL_ATTR_LOCAL_INFILE"
.