Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redis Connection Error #93

Open
dickensdjj opened this issue Jun 20, 2019 · 1 comment
Open

Redis Connection Error #93

dickensdjj opened this issue Jun 20, 2019 · 1 comment

Comments

@dickensdjj
Copy link

Hi guys, I currently having a redis connection error when I try to run some scripts.

Here is the context:

There is a webscript directory which I put down the src/ directory (this directory reckons as the root directory of Magento) and the file structure will be like this

Structure:
src/webscript/test.php

Code of test.php:

require __DIR__ . '/../app/bootstrap.php';

use Magento\Framework\App\Bootstrap;
use Magento\Framework\App\Filesystem\DirectoryList;

$params = $_SERVER;
$params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [
    DirectoryList::PUB => [DirectoryList::URL_PATH => ''],
    DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'],
    DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'],
    DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'],
];
$bootstrap = Bootstrap::create(BP, $params);

// Below is my custom code

Code of env.php:

<?php
return [
    'backend' => [
        'frontName' => 'admin'
    ],
    'crypt' => [
        'key' => '5e56dc6d8f24f711bb4f289cca1beda9'
    ],
    'session' => [
        'save' => 'redis',
        'redis' => [
            'host' => 'redis_session',
            'port' => '6379',
            'password' => '',
            'timeout' => '2.5',
            'persistent_identifier' => '',
            'database' => '2',
            'compression_threshold' => '2048',
            'compression_library' => 'gzip',
            'log_level' => '1',
            'max_concurrency' => '6',
            'break_after_frontend' => '5',
            'break_after_adminhtml' => '30',
            'first_lifetime' => '600',
            'bot_first_lifetime' => '60',
            'bot_lifetime' => '7200',
            'disable_locking' => '0',
            'min_lifetime' => '60',
            'max_lifetime' => '2592000'
        ]
    ],
    'db' => [
        'table_prefix' => '',
        'connection' => [
            'default' => [
                'host' => 'db',
                'dbname' => 'magento',
                'username' => 'magento',
                'password' => 'magento',
                'active' => '1',
                'model' => 'mysql4',
                'engine' => 'innodb',
                'initStatements' => 'SET NAMES utf8;'
            ]
        ]
    ],
    'resource' => [
        'default_setup' => [
            'connection' => 'default'
        ]
    ],
    'x-frame-options' => 'SAMEORIGIN',
    'MAGE_MODE' => 'developer',
    'cache_types' => [
        'config' => 1,
        'layout' => 1,
        'block_html' => 1,
        'collections' => 1,
        'reflection' => 1,
        'db_ddl' => 1,
        'eav' => 1,
        'customer_notification' => 1,
        'full_page' => 0,
        'config_integration' => 1,
        'config_integration_api' => 1,
        'translate' => 1,
        'config_webservice' => 1,
        'compiled_config' => 1
    ],
    'install' => [
        'date' => 'Thu, 05 Jan 2017 22:49:50 +0000'
    ],
    'cache' => [
        'frontend' => [
            'default' => [
                'backend' => 'Cm_Cache_Backend_Redis',
                'backend_options' => [
                    'server' => 'redis',
                    'port' => '6379',
                    'persistent' => '',
                    'database' => '0',
                    'password' => '',
                    'force_standalone' => '0',
                    'connect_retries' => '1',
                    'read_timeout' => '10',
                    'automatic_cleaning_factor' => '0',
                    'compress_data' => '1',
                    'compress_tags' => '1',
                    'compress_threshold' => '20480',
                    'compression_lib' => 'gzip',
                    'use_lua' => '0'
                ]
            ],
            'page_cache' => [
                'backend' => 'Cm_Cache_Backend_Redis',
                'backend_options' => [
                    'server' => 'redis',
                    'port' => '6379',
                    'persistent' => '',
                    'database' => '1',
                    'password' => '',
                    'force_standalone' => '0',
                    'connect_retries' => '1',
                    'lifetimelimit' => '57600',
                    'compress_data' => '0'
                ]
            ]
        ]
    ]
];

Code of docker_compose.yml:

version: '2'
services:
  apache:
    image: rafaelcgstz/magento2
    # build: .
    ports:
      - "80:80" # web
      - "9001:9000" # xdebug
      # - "35729:35729" # live reload
    volumes:
      - jh-sync:/var/www/html:nocopy
      - ~/.composer:/var/www/.composer
      - ~/.npm:/var/www/.npm
      # - ~/.nvm:/var/www/.nvm
    environment:
      XDEBUG_CONFIG: "remote_host=10.254.254.254 remote_connect_back=0"      
      PHP_IDE_CONFIG: "serverName=Docker"
    depends_on:
      - db
    links:
      - db
    networks:
      - jh-network

  db:
    image: mariadb
    ports:
     - 3300:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=magento
      - MYSQL_USER=magento
      - MYSQL_PASSWORD=magento
    volumes:
      - dbdata:/var/lib/mysql
    networks:
      - jh-network

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
     - PMA_HOST=db
     - PMA_USER=root
     - PMA_PASSWORD=root
     - MYSQL_ROOT_PASSWORD=root
    ports:
     - 8080:80
    networks:
      - jh-network

  redis:
    image: redis
    ports:
     - 6379
    networks:
      - jh-network

  redis-session:
    image: redis
    ports:
     - 6379
    networks:
      - jh-network

  mailhog:
    image: mailhog/mailhog
    ports:
      - 1025:1025
      - 8025:8025
    networks:
      - jh-network

networks:
  jh-network:
    driver: bridge

volumes:
  jh-sync:
    external: true
  dbdata:
    driver: local

However, when I try to run this script with my phpstorm debugger, it pops up the error message:

PHP Fatal error:  Uncaught CredisException: Connection to Redis redis:6379 failed after 2 failures.Last Error : (0) php_network_getaddresses: getaddrinfo failed: Name or service not known in /opt/project/src/vendor/colinmollenhour/credis/Client.php:463
Stack trace:
#0 /opt/project/src/vendor/colinmollenhour/credis/Client.php(459): Credis_Client->connect()
#1 /opt/project/src/vendor/colinmollenhour/credis/Client.php(792): Credis_Client->connect()
#2 /opt/project/src/vendor/colinmollenhour/credis/Client.php(619): Credis_Client->__call('select', Array)
#3 /opt/project/src/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php(369): Credis_Client->select(1)
#4 /opt/project/src/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php(242): Cm_Cache_Backend_Redis->_applyClientOptions(Object(Credis_Client))
#5 /opt/project/src/vendor/magento/zendframework1/library/Zend/Cache.php(153): Cm_Cache_Backend_Redis->__construct(Array)
#6 /opt/project/src/vendor/magento/zendframework1/library/Zend/Cache.php(94): Ze in /opt/project/src/vendor/colinmollenhour/credis/Client.php on line 463

It seems like the they cannot find the redis:6379. I have done some search about this redis connection with magento, but it is barely to find and related information.

I am appreciated if someone can put me out of this puzzle. Thanks,

@JackWormUK
Copy link

Redis uses 3 databases. From your code above, 2 of the databases (0,1) run on host 'redis' the session controller (database 2) runs on host 'redis_session'. I am struggling to setup PHPStorm so that is as much help as I can give until someone replies to me on here with a bit of help on setting it up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants