首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

请教关于阿里云 RDS 数据库的问题

  •  
  •   echotpq · 2017-08-09 22:11:50 +08:00 · 1232 次点击
    这是一个创建于 562 天前的主题,其中的信息可能已经有所发展或是发生改变。

    并发 500 个连接左右,就会报错。如下:

    [09-Aug-2017 12:39:07 Asia/Shanghai]

    PHP Fatal error:

    Uncaught PDOException: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /www/connect/public_html/function.php:14

    Stack trace:

    #0 /www/web/connect/function.php(14): PDO->__construct('mysql:host=rm-b...', '数据库用户名', '数据库密码')

    #1 /www/web/connect/function.php(10): mysql->connect()

    #2 /www/web/connect/function.php(2): mysql->__construct()

    #3 /www/web/connect/direct.php(8): require_once('/www/web/function.php')

    数据库连接代码如下:

    $mysql = new mysql();

    class mysql {

    protected $pdo;
    
    protected $res;
    
    protected $config;
    
    /*构造函数*/
    
    function __construct() {
    
        //$this->Config = $config;
        
        $this->connect();
        
    }
    
    /*数据库连接*/
    
    public function connect() {
    
        $this->pdo = new PDO(DB_TYPE.':host='.DB_HOSTNAME.';dbname='.DB_NAME,DB_USERNAME,DB_PASSWORD);
        
        $this->pdo->query('set names utf8;');
        
        $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        
    }
    
    /*数据库关闭*/
    
    public function close() {
    
        $this->pdo = null;
        
    }
    
    12 回复  |  直到 2017-08-11 15:36:41 +08:00
        1
    Showfom   2017-08-09 22:18:24 +08:00 via iPhone
    检查下 dns 是否用自己改过了 否则没法解析出内网的域名的
        2
    echotpq   2017-08-09 22:58:17 +08:00
    @Showfom 检查了,dns 未改过。自己测试时也都是正常,就是连接数达到几百的时候,才会出现如上错误
        3
    xi_lin   2017-08-09 23:20:25 +08:00
    是不是连接数满了?不懂 php
        4
    Showfom   2017-08-09 23:30:31 +08:00
    @echotpq MySQL 默认最大连接数有限制的,你检查下
        5
    lslqtz   2017-08-10 03:33:33 +08:00
    @echotpq 写死 IP 呢
        6
    wdd2007   2017-08-10 10:25:08 +08:00
    使用内网连接还是外网连接?

    如果是内网连接,就用 RDS 提供的内网连接的地址。
        7
    blackcat11   2017-08-10 11:41:34 +08:00
    嗯,报错来看就是 DNS 的问题,还是找阿里云看吧
        8
    echotpq   2017-08-10 16:47:56 +08:00 via Android
    @lslqtz 阿里云只给了一个域名,没有 ip
        9
    echotpq   2017-08-10 19:20:50 +08:00 via Android
    @wdd2007 目前仅用内网地址连接
        10
    lslqtz   2017-08-11 04:17:32 +08:00
    @echotpq 自己 ping
        11
    echotpq   2017-08-11 05:40:55 +08:00 via Android
    @lslqtz ping 不靠谱 万一域名更改了 ip 地址 就挂了…
        12
    lslqtz   2017-08-11 15:36:41 +08:00
    @echotpq 所以叫“测试”啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2205 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 15:12 · PVG 23:12 · LAX 07:12 · JFK 10:12
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1