我正在将Zend 3应用程序的DBAL迁移到Doctrine。完成了数据检索部分的迁移。数据保存仍有待Zend\Db驱动。
现在,我希望将新版本部署到服务器上,并获得以下错误:
[PDOException: SQLSTATEHY000通常只允许使用一个套接字地址(协议/网络地址/端口)。在D:\Path\to\my-project\vendor\zendframework\zend-db\src\Adapter\Driver\Pdo\Connection.php:266中
此错误不发生在我的本地Debian虚拟机上,而是仅在Windows上运行PHPUnit时发生。
刚看了一下Zend\Db\Adapter\Driver\Pdo\Connection.php:266。这就是Zend\Db尝试创建一个新连接的地方。
由于这个问题以前还没有被观察到,我想,它与(部分)迁移到Doctrine有关。可能应用程序没有关闭为Zend\Db打开的数据库连接,而是尝试打开一个与Doctrine设置完全相同的新连接。反之亦然:打开Doctrine的PDO连接,同时框架尝试为Zend\Db打开一个新的连接。
如何解决这一问题并同时使用Doctrine和Zend\Db
发布于 2017-12-21 16:57:31
我在PDO中也遇到过这种情况。我对它的研究表明,这与MySQL或PHP无关,而是与Windows有关。你的要求太快了。当windows关闭一个端口时,它会将其置于time_wait状态最多240秒(默认),并且该端口在退出time_wait状态之前无法使用。
https://stackoverflow.com/questions/46401541
复制相似问题