[英]Cannot redeclare class PHPMailer
這是令人困惑的,因為我已經檢查了其他答案並應用了它們,但我仍然會遇到這個致命的錯誤。
我在wordpress中使用phpmailer並擁有以下代碼:
if (!class_exists('PHPMailer')) {
require_once(ABSPATH . 'wp-content/uploads/phpmailer/_lib/class.phpmailer.php');
}
但是,頁面沒有加載,我收到錯誤:
PHP致命錯誤:無法重新聲明PHPMailer類
(我也試過class_exists('PHPMailer',false))但是也產生了同樣的錯誤。)
據我所知,通過檢查類不存在然后使用require_once我應該沒有這個問題。
但是我願意...
任何幫助贊賞。
PHPMailer實例已經在wordpress中工作。 您不需要再次包含庫。 請查看此鏈接以供參考
https://codex.wordpress.org/Plugin_API/Action_Reference/phpmailer_init
我認為這可能是一個比命名空間更簡單的問題: class_exists
采用默認為true的第二個autoload
參數,這意味着如果類尚未加載,它將自動嘗試加載該類,並且可以在include_path
找到它。 最終結果是,通過將該參數保留為其默認值,您將有效地加載它兩次,因此重新聲明錯誤。 試試這個:
if (!class_exists('PHPMailer', false)) {
require_once(ABSPATH . 'wp-content/uploads/phpmailer/_lib/class.phpmailer.php');
}
在其他新聞中: 使用作曲家 。 它為您管理所有課程加載。 即使是瑣碎的腳本也是值得的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.