我正在将我的 Wordpress 网站从 Win7 上的 WAMP 堆栈移动到 Ubuntu Desktop 13.10。
导出时我意识到所有表都被写为 InnoDB 而不是 MyISAM,因此我进行了查找/替换来更正它。
我应该注意 WAMP 和 LAMP 堆栈之间的不兼容性吗?
我收到此错误:
Warning: mysql_connect(): Can't connect to MySQL server on 'x.x.x.x' (111) in /var/www/wp-includes/wp-db.php on line 1147
第 1147 行:
$this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
我的过程是:
- 创建与原始数据库同名的数据库。
- 将从旧 WAMP 服务器导出的 .sql 文件导入到这个新数据库中(同样,必须将 InnoDB 更改为 MyISAM
- 创建与原始数据库具有相同名称和密码的数据库用户
- 将我的 wordpress 站点的所有内容复制到 /var/www
- 打开浏览器并指向 http://xxxx/wordpress(ip 和“localhost”)都出现同样的错误,但我使用 IP 而不是“localhost”建立了我的网站
- 测试只是http://xxxx然后我就看到了“它起作用了!”页面。
我能够从头开始创建一个新的 wordpress 网站,因此我非常有信心我的设置对于 LAMP 堆栈来说是没问题的。
我只是不知道该去哪儿寻找了。
任何想法都将不胜感激。
答案1
我知道问题出在哪里了。
在原始站点中,我已将所有内容更改为查找 IP 地址而不是“localhost”,因此所有内容(export.sql
数据库、wordpresswp-config.php
文件、apachehttpd.conf
文件)都在尝试理解不再存在的硬编码 IP 地址。
我这样做是因为我读到过一些关于 LAN 上其他计算机无法连接到 wordpress 服务器的信息,因此我需要使用服务器 IP 而不是本地主机。
为了解决这个问题,我只需将新服务器的 IP 更改为与旧服务器匹配即可。这样一切都会正常运行,此时我就可以进入并将所有内容切换回“localhost”。仅供参考,现在使用 localhost 测试与服务器的 LAN 连接似乎没问题,所以我不知道最初发生了什么 - 我只知道我无法使用 localhost 进行连接,但我可以使用 IP 进行连接,但现在似乎并非如此。