PHP 中的 LOAD DATA LOCAL INFILE 限制
使用 LOAD DATA LOCAL INFILE 從本地文件載入資料可以是導入資料的便捷功能。但是,在某些情況下,使用者在嘗試透過 PHP 執行時可能會遇到問題。
PHP 對 LOAD DATA LOCAL INFILE 的限制
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>
啟用此屬性後,LODATADATA LOCAL INFILE 操作應該從PHP 應用程式成功執行。
以上是為什麼我不能在 PHP 中使用 LOAD DATA LOCAL INFILE?的詳細內容。更多資訊請關注PHP中文網其他相關文章!