首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

解決 PHP 5.3+ 中 set_magic_quotes_runtime() 棄用錯誤

     編輯:PHP 相關知識

錯誤現象

Deprecated: Function set_magic_quotes_runtime() is deprecated in ...

原因

  • PHP 5.3 起 set_magic_quotes_runtime() 被標記為棄用。
  • PHP 6.0(後併入 PHP 7)已完全移除此功能。
  • 魔術引號機制已被社區公認設計失誤,現代 PHP 建議使用預處理語句防止 SQL 注入。

解決方案

方案一:註釋或刪除調用行(推薦)

// set_magic_quotes_runtime(0); // 直接刪除或註釋

方案二:使用 @ 抑制錯誤(不推薦,僅臨時過渡)

@set_magic_quotes_runtime(0);

方案三:替換為 ini_set(兼容舊代碼)

// 替換前
set_magic_quotes_runtime(0);

// 替換後
ini_set("magic_quotes_runtime", 0);

最佳實踐

  1. 徹底清理代碼庫中所有 set_magic_quotes_runtime 調用。
  2. 檢查 php.ini 中 magic_quotes_gpc、magic_quotes_runtime、magic_quotes_sybase 均設為 Off。
  3. 資料庫操作統一使用 PDO 或 MySQLi 預處理語句。
  4. 輸出 HTML 時使用 htmlspecialchars() 防止 XSS。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved