我一直在本地 Mac MAMP 安装和另一个远程红帽 linux 服务器上使用phpdao2.6 。我最近迁移到 EC2 amazon ubuntu 风格并安装了 LAMP 设置。
突然,我发现我遇到了 mysql 连接错误,但并非总是如此:
[09-Jul-2013 21:09:11 Australia/Sydney] PHP Warning: mysql_real_escape_string(): Access denied for user 'ec2-user'@'localhost' (using password: NO) in /var/www/html/mycobber/class/sql/SqlQuery.class.php on line 40
[09-Jul-2013 21:09:11 Australia/Sydney] PHP Warning: mysql_real_escape_string(): A link to the server could not be established in /var/www/html/mycobber/class/sql/SqlQuery.class.php on line 40
如果我使用的是 MyObjectMySqlExtDAO.class.php 中的函数,我只会收到这些错误
$sql .= 'and ca.enabled = ? ';
.....
$sqlQuery = new SqlQuery($sql);
$sqlQuery -> set('Y');
样式语法。如果我将此语法更改为 ..
$sql .= " and ca.enabled = 'Y' ";
它工作正常。我不知道为什么会发生这种情况,并且我不想使用第二种方法,因为输入没有经过消毒。
我怀疑这个问题是某种 php 设置。
在我正在使用的 EC2 实例上:
php: 5.3.26
apache: Apache/2.2.24 (Amazon)
我的本地 MAMP 设置是
php: 5.4.10
apache: Apache/2.2.23 (Unix)
有什么想法吗?