问题描述
是否可以在尚未配置域名的公共服务器上安装 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。