問題描述

是否可以在尚未配置域名的公共伺服器上安裝 WordPress?我以為我會在 IP-only 上進行設定,並在我的 Nginx 配置中使用了 server_name _; 。我認為這是因為 WordPress 安裝死於 wp-admin/install.php?step=2,我看到 Nginx 日誌中出現以下錯誤:

2017/01/08 07:24:53 [error] 25686#25686: *22 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught phpmailerException: Invalid address: wordpress@_ in /home/ankush/wp_main_site/wp-includes/class-phpmailer.php:946
Stack trace:
#0 /home/ankush/wp_main_site/wp-includes/pluggable.php(352): PHPMailer->setFrom('wordpress@_', 'WordPress', false)
#1 /home/ankush/wp_main_site/wp-admin/includes/upgrade.php(395): wp_mail('dkasolutions.sa...', 'New WordPress S...', 'Your new WordPr...')

是域名是必須的還是我做錯了?

最佳解決方案

server_name 設定為 IP 地址,例如:

server {
    listen   80;
    server_name 0.1.2.3;
    // other stuff
}

你也可以把它留下來,因為 ngninx 中的預設是一個空字串。但是那些不能驗證 $_SERVER['SERVER_NAME']和類似值的 WordPress 中的所有這些片段將會中斷。

有關這方面的進展請見 #25239 機票。

如果只有 WordPress 有一個 Request 物件,像其他人一樣。那麼準備所有這些全球價值觀是很容易的。見 Symfony for an example

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。