【发布时间】:2014-08-11 08:26:12
【问题描述】:
我正在开发一个 zend 框架 2 应用程序,并且正在使用端口 8080。我一开始的主要问题是我无法在视图中从数据库中检索或添加数据(可能是与连接的问题)数据库)。它没有显示任何错误,但无法检索或添加数据。 我试图在 global.php 中指定端口:
<?php
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=pizza;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES\'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory'
)
),
);
在那之后,我得到了这个错误:
Warning: PDO::__construct(): MySQL server has gone away in
我寻找解决方案,我找到了。我在 php.ini 中注释了一行:
extension=php_pdo_mysql.dll
它解决了问题,但现在我遇到了另一个问题:
Fatal error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in C:\wamp\www\pizza\config\autoload\global.php on line 18
我找到了一些关于如何通过 Linux 命令解决此问题的建议:
apt-get install php5-mysql /etc/init.d/apache2 restart
但我想要一个适用于 Windows 7 的解决方案,或者您可能觉得有用的任何其他解决方案。 感谢您的宝贵时间。
【问题讨论】:
-
如果将其替换为代表整数 1002 是否有效?我也没有看到您的 global.php 中指定的端口。我认为您收到该错误是因为您在 php.ini 中注释了该行
-
指定了 port=8080,就像说如果我取消注释“MySQL 服务器已消失”错误发生。你能告诉我我应该用 1002 替换什么
-
那么我建议你解决“MySQL server has gone away”错误并考虑这个讨论stackoverflow.com/questions/2232150/…
标签: php database zend-framework2