![macOS Sierra 破坏了 XAMPP 上的 WP Admin](https://linux22.com/image/1509380/macOS%20Sierra%20%E7%A0%B4%E5%9D%8F%E4%BA%86%20XAMPP%20%E4%B8%8A%E7%9A%84%20WP%20Admin.png)
升级到 MacOS Sierra 并使用 Xampp 5.6.X 后,还有其他人遇到此问题吗?
多年来一直使用 Xampp 测试 WordPress,从来没有遇到过问题,但现在似乎对 WordPress 的外部调用已被阻止。
我认为这是 MacOS 引入的安全“功能”,但我似乎无法确定如何更改它。
症状:
- 当我加载 WP 网站的前端时,该网站会立即加载。
- 加载不使用 Wordpress 的本地网站也是即时的
我登录 WordPress 管理面板(仪表板)后,需要 10-20 秒才能加载,有时会出现“您的连接已重置”(在 Firefox 上)
当 DEBUG 打开时,我可以在插件页面上看到这一点:
发生错误。WordPress.org 或此服务器的配置可能有问题。如果您继续遇到问题,请尝试支持论坛。(WordPress 无法与 WordPress.org 建立安全连接。请联系您的服务器管理员。)位于 /Applications/XAMPP/xamppfiles/htdocs/site/wp-admin/includes/plugin-install.php 第 158 行
- 如果我添加:
define('WP_HTTP_BLOCK_EXTERNAL', true);
到我的wp-config.php
,后端会立即加载,但是添加插件和仪表板新闻不再起作用。
我尝试更新我的 .CA 包Curl 官方网站并确保它在我的 php.ini 中指向正确,但它不起作用。
还有人遇到过这种情况吗?错误似乎与通过 PHP 的出站连接有关...我应该在哪里查找?谢谢!
答案1
经过更多测试后,我编写了以下脚本:
include('wp-config.php');
$url = "http://api.wordpress.org/plugins/info/1.0/";
$http_args = array(
'timeout' => 15,
'body' => array(
'action' => $action,
'request' => serialize( $args )
)
);
print_r($request = wp_remote_post( $url, $http_args ));
果然我发现了这个错误:
cURL error 6: name lookup timed out
结果是 DNS 问题,因此我去了:
系统偏好设置 > 网络 > 高级 > DNS,将默认 DNS 更改为8.8.8.8
(8.8.4.4
Google 的公共 DNS),瞧,它起作用了。我希望这对其他人有所帮助。
答案2
从技术上来说这不是一个解决方案,但是遇到这个问题后,我开始使用 OSX 内置的 Apache,下载了 SQL Server 等。我花了一段时间才弄明白,但是问题解决了。