LoginSignup
2
2

More than 5 years have passed since last update.

LaravelでLOAD DATA LOCAL INFILEできない

Posted at

LaravelでDB::statementを実行するとエラーが出るの続きのようなもの

事象

LaravelのDB::statementをつかってLOAD DATA LOCAL INFILEしようとすると、以下のようなエラーが出る

$ php artisan command:hogehoge
PDOStatement::execute(): LOAD DATA LOCAL INFILE forbidden (SQL: LOAD DATA CONCURRENT LOCAL INFILE ...

解決方法

これも設定漏れ

/usr/local/etc/my.cnfはMacの場合。
my.cnfの場所の確認は

$ mysql --help | grep my.cnf

とかでやってくださいー

/usr/local/etc/my.cnf
[server]
local_infile=true
config/database.php
        'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
            'options' => [
                PDO::ATTR_EMULATE_PREPARES => true,
                PDO::MYSQL_ATTR_LOCAL_INFILE => true,
            ],
        ],
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2