【问题标题】:Laravel 4.2 : MYSQL Timeout. Where to change the time gloaballyLaravel 4.2:MYSQL 超时。在哪里更改全球时间
【发布时间】:2018-02-05 23:01:58
【问题描述】:

ErrorException: PDO::commit(): MySQL server has gone away

这是我收到的消息。如果我在 xampp (my.ini) 中设置所有变量,它不会改变任何东西。 示例:

`innodb_lock_wait_timeout = 1
net_read_timeout = 1
net_write_timeout = 1
interactive_timeout = 1
wait_timeout = 1
delayed_insert_timeout = 1
slave_net_timeout = 1
lock_wait_timeout = 1
connect_timeout = 1`

另外,如果我在 Laravel 配置的 database.php 中更改它们,它根本没有帮助

例子:

'connections' => array(

        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => 'localhost',
            'database'  => 'xy',
            'username'  => 'root',
            'password'  => 'root',
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => 'xy_',
            'wait_timeout'  =>  '1',
            'interactive_timeout'   => '1',
            'net_read_timeout'  => '1',
        ),

有人知道在哪里改吗?

【问题讨论】:

  • 您的超时设置为 1?这太低了。
  • 不,这只是为了测试问题,因为我想重现该消息。但就像我说的那样,它并没有以任何方式影响真正的超时,它们在这些文件中设置为 1

标签: php mysql pdo laravel-4.2


【解决方案1】:

超时以秒为单位。您在配置文件中的超时时间都设置为 1,这意味着连接将在 1 秒内终止。

关于server variables,请参考MySQL官方文档。

【讨论】:

  • 这些是用于测试的示例。就像我说的,如果我将这些值更改为更高或更低的数字,它不会改变任何东西。我将它们设置为 1 以重现错误
猜你喜欢
  • 2013-06-10
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
  • 1970-01-01
  • 2011-06-18
  • 2020-08-13
  • 2015-03-09
  • 2013-01-11
相关资源
最近更新 更多