www-data
apacheとphpを実行するDebianユーザーです。有効な接続がないときにクエリを試行すると、php/mysqlは<unix-user>@localhost
を使用して接続を作成しようとします。 パスワードなし。ここで、[email protected] (using password:NO)
から来ています。
これが今発生し始めた最も可能性の高い理由は(2年前は正常に実行されていましたが)、一部の接続が成功できないポイントまでデータベースの負荷が増加したことです(おそらく、max_connectionsまたはmax_user_connectionsが原因です。これは、メモリ、スレッドなどの他の制限からも発生する可能性があります)。これが発生した場合、mysql_connect
への呼び出し エラーメッセージを出力し、FALSE
を返します 。この失敗を検出できない場合は、次のmysql呼び出し(おそらくmysql_queryまたはmysql_select_db)が [email protected]
-したがって、あなたが見ている問題を引き起こします。
エラー報告とエラー表示を有効にすることをお勧めします(@DarkMantisが提案):
ini_set('error_reporting', E_ALL|E_STRICT);
ini_set('display_errors', 1);
また、mysql_connectの呼び出しがではないことを確認してください。 @
が前に付いている サイン;必ず戻り値を確認してください。次のようになります:
$cxn = mysql_connect('localhost','yourusername','yourpassword');
if( $cxn === FALSE ) { die('mysql connection error: '.mysql_error()); }