我的客户要求我将他的Wordpress网站从共享服务器移动到AWS。
AWS EC2实例是Ubuntu 14.04 LTS,PHP 5.5.9,MySQL 5.5.38。 旧服务器有PHP 5.4.30和MySQL 5.5.42。 AWS实例上没有安装PHPMyAdmin和CPanel。所以我必须使用命令来做所有事情。
在AWS实例中,我有sudo访问权限,因为' ubuntu'用户。我创建了一个新的Linux用户' wpsite'并为它创建了主目录。我设法转移所有文件&从旧服务器到/home/wpsite/public_html
的目录。
然后我创建了一个新的数据库' WP_DB'和一个新的MySQL用户' wp_db_user'并授予对WP_DB的所有访问权。
CREATE USER wp_db_user@localhost IDENTIFIED BY 'thepwd';
GRANT ALL PRIVILEGES ON WP_DB.* TO wp_db_user@localhost IDENTIFIED BY 'thepwd';
FLUSH PRIVILEGES;
现在,我更改了wp-config.php文件
define('DB_NAME', 'WP_DB');
define('DB_USER', 'wp_db_user');
define('DB_PASSWORD', 'thepwd');
define('DB_HOST', 'localhost');
然后我使用wp_db_user帐户从sql dump恢复旧的WP数据库(也尝试使用root用户)。接下来,我在Apache中创建了一个v-host配置,其中包含正确的服务器名称和别名和目录路径,并将域的A-Record更改为AWS实例。到目前为止,一切顺利。没有错误。
当我访问网站时,会显示wordpress网站,但问题是某些内容缺失,包括网站标题。我看了一下错误日志文件,这个错误列在多行:
Access Denied for user 'ubuntu'@'localhost' (using password: no) in /home/wpsite/public_html/wp-content/themes/enterprise-pro/front-page.php on line 5
并且所述行包含以下代码
$sel_home = mysql_query("select * from admin_home_page");
请注意,错误消息中提到的用户不是MySQL用户。它是Linux用户。我无法确定它是否是Wordpress或PHP版本或MySQL的问题。我也不是Linux的专业人士。我已经完成了从博客和其他Stackoverflow问题中读取的所有内容。
该网站在旧服务器上运行良好。有人可以告诉我我做错了什么,以及可以做些什么来解决这个问题?
提前致谢。
编辑:我可以登录WP管理部分,它使用相同的数据库,没有任何错误。
答案 0 :(得分:0)
执行查询时front-page.php
正在做什么,实际上并没有向MySQL提供密码(根据错误消息中的"使用密码:no"位)。如果你能弄清楚那个脚本正在做什么来与数据库交谈,你就必须修改它以提供密码。