我怎样才能使phpmyadmin持续更长的时间没有超时与Docker

nue99wik  于 2022-11-09  发布在  PHP
关注(0)|答案(2)|浏览(156)

我正在使用Docker和phpMyAdmin,一切正常,除了它超时的方式太快,如果我不使用它一会儿.我怎么能改变限制之前,必须重新连接?

soat7uwm

soat7uwm1#

在您的docker-compose(在'environment'下)中设置MAX_EXECUTION_TIME是一个可能的解决方案吗?

rqqzpn5f

rqqzpn5f2#

经过一番研究,我找到了一个很好的解决方案。请参考(https://hub.docker.com/r/phpmyadmin/phpmyadmin/)了解config.user.inc.php的信息。
我们的想法是,您希望为此创建一个卷来存储以下代码。

配置用户.inc.php

<?php
    $cfg['LoginCookieValidity'] = (86400 * 30); //86400 is 24 hours in seconds.  Therefore this is 30 days.
    ini_set('session.gc_maxlifetime', (86400 * 30));
?>

你可以在这里输入任何你想要的秒数,默认情况下是24分钟。
我的docker合成文件在phpmyadmin中看起来如下所示

phpmyadmin:
    depends_on:
      - db_live
      - db_dev
    container_name: phpmyadmin
    image: phpmyadmin/phpmyadmin
    volumes:
     - ./phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
    hostname: localbeta.domain.com
    environment:
      PMA_ARBITRARY: 1
      UPLOAD_LIMIT: 25000000
    restart: always
    ports:
      - "8081:80"

这里的关键是volumes命令,它将创建一个本地目录,以便将config.user.inc.php更改为您现在想要的任何文件!
另一个需要注意的是,如果你运行PhpMyAdmin并查看控制台输出,它会给你一个主机名错误,要解决这个问题,只需将'hostname'字段添加到docker compose中。然后在你的系统主机文件中,将其添加到你的主机列表中,并将其指向127.0.0.1进行本地测试,不要对实际的beta和/或live服务器进行任何更改(如果你正在使用这个)。
如果您转到设置并查看以下登录cookie有效性信息,您知道您会做得很好:

相关问题