PHP和PDO:使用IPv6地址连接到MySQL
IPV6 SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
当你确认你的服务器IPV6环境是好用的,并且,在服务器端使用IPV6账号、密码能登录,并且可以正常增、删、改、查操作,那么你可以试试下面的方法。
如果其他人偶然发现了同样的问题,并且通过PHP源代码节省了2个小时,那么如果你在地址周围添加方括号,PDO MySQL
IPv6连接就可以工作.
例如
$pdo = new PDO("mysql:host=[1234:5678::42];port=3306;dbname=foo", ...);
thinkphp3.2.4示例
return array(
//'配置项'=>'配置值'
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => '[::1]', // 服务器地址 127.0.0.1 | localhost | [::1]
'DB_NAME' => 'dbName', // 数据库名
'DB_USER' => 'dbUser', // 用户名
'DB_PWD' => 'dbpass', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'abc_', // 数据库表前
);