ホームページ > データベース > mysql チュートリアル > PHP で LOAD DATA LOCAL INFILE を使用できないのはなぜですか?

PHP で LOAD DATA LOCAL INFILE を使用できないのはなぜですか?

Susan Sarandon
リリース: 2024-11-04 02:31:02
オリジナル
367 人が閲覧しました

Why Can't I Use LOAD DATA LOCAL INFILE in PHP?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート