1

私は、ローカルの Mac MAMP インストールでphpdao2.6を使用しており、別のリモートの Red Hat Linux サーバーでは問題なく使用しています。最近、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 を使用している場合、これらのエラーは MyObjectMySqlExtDAO.class.php の関数でのみ発生します。

$sql .= 'and ca.enabled = ? ';

.....

$sqlQuery = new SqlQuery($sql);

$sqlQuery -> set('Y');

スタイル構文。この構文を ..

$sql .= " and ca.enabled = 'Y' ";

それは正常に動作します。なぜこれが起こっているのか理解できず、入力がサニタイズされていないため、2番目の方法を使用したくありません。

問題は、ある種のphp設定であると思われます。

私が使用しているEC2インスタンスで:

php: 5.3.26
apache: Apache/2.2.24 (Amazon)

私のローカルMAMPセットアップは

php: 5.4.10
apache: Apache/2.2.23 (Unix) 

そこに何かアイデアはありますか?

4

2 に答える 2