PHP における LOAD DATA LOCAL INFILE の制限
LOAD DATA LOCAL INFILE を使用したローカル ファイルからのデータのロードは、データのインポートに便利な機能です。ただし、場合によっては、ユーザーが PHP を通じて実行しようとすると問題が発生することがあります。
LOAD DATA LOCAL INFILE による PHP の制限
PHP では LOAD の使用が制限されています。セキュリティ上の懸念のため、DATA LOCAL INFILE を使用しないでください。ローカル ファイルの読み取り操作は潜在的なセキュリティ上の脆弱性があると考えられているため、PHP はその実行を禁止しています。デフォルトでは、PHP アプリケーションにはローカル ファイルにアクセスするために必要な権限がありません。
問題の解決
この問題を解決するには、ユーザーはローカル ファイルの読み取り権限を有効にする必要があります。 PHP用。これは、PDO オブジェクトをインスタンス化するときに PDO::MYSQL_ATTR_LOCAL_INFILE 属性を true に設定することで実現できます。
コード例
次のコード スニペットは、PDO を設定する方法を示しています。 ::MYSQL_ATTR_LOCAL_INFILE 属性:
<code class="php">$conn = new PDO("mysql:host=$server;dbname=$database;", "$user", "$password", array( PDO::MYSQL_ATTR_LOCAL_INFILE => true, ));</code>
この属性を有効にすると、LOAD DATA LOCAL INFILE 操作が PHP アプリケーションから正常に実行されるようになります。
以上がPHP で LOAD DATA LOCAL INFILE を使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。