web-dev-qa-db-ja.com

MySQL PDOは要求されたアドレスを割り当てることができません

誰かがこのエラーを助けてくれますか?

[08-Apr-2013 17:44:08 Europe/Berlin] PHP Warning:  PDO::__construct(): [2002]
    Cannot assign requested address (trying to connect via tcp://****:3306) in 
    /var/www/***
[08-Apr-2013 17:44:08 Europe/Berlin] PHP Fatal error:  Uncaught exception 
    'PDOException' with message 'SQLSTATE[HY000] [2002] Cannot assign requested 
    address' in /var/www/***

1秒あたりの接続数が多いサーバーがあります。約100の接続のうち、1つの接続でこのエラーが発生しました。

私は試しました stackoverflowからのこの推奨事項 しかし、それは私の問題を解決しません。

3
DjangoSi

Linuxではmax open files (sockets)を打つこともできます。これは/etc/security/limits.confで変更できます。

2
Gary

永続的な接続を使用するとうまくいきました。リンクされている 上記の共通 は、mysqliとの永続的な接続を作成する方法を示しています。私もPDOを使用しています。だから私は私の接続呼び出しに以下を追加する必要がありました:

$mysql = new PDO(
    "mysql:Host=$mySqlServer;dbname=$mySqlDatabase;charset=utf8",
    $mySqlUser,
    $mySqlPassword,
    array(PDO::ATTR_PERSISTENT => true));

より多くの情報と可能な制限はここにあります: http://php.net/manual/de/pdo.connections.php

2
n.r.