[BUG] Issue with login on phpyadmin
Hi Currently fresh install the docker compose but when i try to access the phpmyadmin i get this error trying to login with root and tiger
mysqli_real_connect(): (HY000/2002): No such file or directory
i checked the index.php which i found this which i was not sure if it has to be localhost or the name of my container phpmyadmin?
<li><a href="/phpinfo.php">phpinfo()</a></li>
<li><a href="http://localhost:<? print $_ENV['PMA_PORT']; ?>">phpMyAdmin</a></li>
<li><a href="/test_db.php">Test DB Connection with mysqli</a></li>
<li><a href="/test_db_pdo.php">Test DB Connection with PDO</a></li>
Thank you
Hi, I'm not able to reproduce your issue. With content from master branch this seems to work out of the box.
thanks for the reply, so im attaching what im getting

This is my test env by default i left everything the same
# Please Note:
# In PHP Versions <= 7.4 MySQL8 is not supported due to lacking pdo support
# To determine the name of your containers
COMPOSE_PROJECT_NAME=lamp
# Possible values: php54, php56, php71, php72, php73, php74, php8, php81
PHPVERSION=php56
DOCUMENT_ROOT=/root/location/html
APACHE_DOCUMENT_ROOT=/var/www/html
VHOSTS_DIR=./config/vhosts
APACHE_LOG_DIR=./logs/apache2
PHP_INI=./config/php/php.ini
SSL_DIR=./config/ssl
# PHPMyAdmin
UPLOAD_LIMIT=512M
MEMORY_LIMIT=512M
# Xdebug
XDEBUG_LOG_DIR=./logs/xdebug
XDEBUG_PORT=9003
#XDEBUG_PORT=9000
# Possible values: mysql57, mysql8, mariadb103, mariadb104, mariadb105, mariadb106
#
# For Apple Silicon User:
# Please select Mariadb as Database. Oracle doesn't build their SQL Containers for the arm Architecure
DATABASE=mariadb106
MYSQL_INITDB_DIR=./sql.sql
MYSQL_DATA_DIR=./data/mysql
MYSQL_LOG_DIR=./logs/mysql
# If you already have the port 80 in use, you can change it (for example if you have Apache)
HOST_MACHINE_UNSECURE_HOST_PORT=8075
# If you already have the port 443 in use, you can change it (for example if you have Apache)
HOST_MACHINE_SECURE_HOST_PORT=44355
# If you already have the port 3306 in use, you can change it (for example if you have MySQL)
HOST_MACHINE_MYSQL_PORT=3308
# If you already have the port 8080 in use, you can change it (for example if you have PMA)
HOST_MACHINE_PMA_PORT=8077
HOST_MACHINE_PMA_SECURE_PORT=5443
# If you already has the port 6379 in use, you can change it (for example if you have Redis)
HOST_MACHINE_REDIS_PORT=6379
# MySQL root user password
MYSQL_ROOT_PASSWORD=tiger
# Database settings: Username, password and database name
#
# If you need to give the docker user access to more databases than the "docker" db
# you can grant the privileges with phpmyadmin to the user.
MYSQL_USER=docker
MYSQL_PASSWORD=docker
MYSQL_DATABASE=docker
and my docker compose which only changed the db location because i had another one
version: "3"
services:
webserver:
build:
context: ./bin/${PHPVERSION}
container_name: "${COMPOSE_PROJECT_NAME}-${PHPVERSION}"
restart: "always"
ports:
- "${HOST_MACHINE_UNSECURE_HOST_PORT}:80"
- "${HOST_MACHINE_SECURE_HOST_PORT}:443"
links:
- database
volumes:
- ${DOCUMENT_ROOT-./www}:/var/www/html:rw
- ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/php.ini
- ${SSL_DIR-./config/ssl}:/etc/apache2/ssl/
- ${VHOSTS_DIR-./config/vhosts}:/etc/apache2/sites-enabled
- ${LOG_DIR-./logs/apache2}:/var/log/apache2
- ${XDEBUG_LOG_DIR-./logs/xdebug}:/var/log/xdebug
- /ftp:/ftp:rw
- /tmp:/tmp:rw
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
APACHE_DOCUMENT_ROOT: ${APACHE_DOCUMENT_ROOT-/var/www/html}
PMA_PORT: ${HOST_MACHINE_PMA_PORT}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
HOST_MACHINE_MYSQL_PORT: ${HOST_MACHINE_MYSQL_PORT}
XDEBUG_CONFIG: "client_host=host.docker.internal remote_port=${XDEBUG_PORT}"
extra_hosts:
- "host.docker.internal:host-gateway"
database:
build:
context: "./bin/${DATABASE}"
container_name: "${COMPOSE_PROJECT_NAME}-${DATABASE}"
restart: "always"
ports:
- "127.0.0.1:${HOST_MACHINE_MYSQL_PORT}:3306"
volumes:
- /root/location/sql.sql:/docker-entrypoint-initdb.d/init.sql:rw
# - ${MYSQL_INITDB_DIR-./config/initdb}:/docker-entrypoint-initdb.d
- ${MYSQL_DATA_DIR-./data/mysql}:/var/lib/mysql
- ${MYSQL_LOG_DIR-./logs/mysql}:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- /root/lyntik/my.cnf:/etc/mysql/my.cnf
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
phpmyadmin:
image: phpmyadmin
container_name: "${COMPOSE_PROJECT_NAME}-phpmyadmin"
links:
- database
environment:
PMA_HOST: database
PMA_PORT: 3306
PMA_USER: root
PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
UPLOAD_LIMIT: ${UPLOAD_LIMIT}
MEMORY_LIMIT: ${MEMORY_LIMIT}
ports:
- "${HOST_MACHINE_PMA_PORT}:80"
- "${HOST_MACHINE_PMA_SECURE_PORT}:443"
volumes:
- /sessions
- ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
redis:
container_name: "${COMPOSE_PROJECT_NAME}-redis"
image: redis:latest
ports:
- "127.0.0.1:${HOST_MACHINE_REDIS_PORT}:6379"
Hi, in the env, your are changing your mysql default port from 3306 to 3308.
# If you already have the port 3306 in use, you can change it (for example if you have MySQL)
HOST_MACHINE_MYSQL_PORT=3308
But phpmyadmin is looking for port 3306 (defined in docker-compose pma_port) to connect to the database, that is the issue.
So we should add the mysql port as variable to the docker-compose file, so phpmyadmin knows how to contact the database. I will create a fix for that.
Can you verify that phpmyadmin works, when you modify the docker-compose PMA_PORT to 3308 in your case ?
Thanks for the reply, i changed the following
phpmyadmin:
image: phpmyadmin
container_name: "${COMPOSE_PROJECT_NAME}-phpmyadmin"
links:
- database
environment:
PMA_HOST: database
PMA_PORT: 3308
PMA_USER: root
PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
UPLOAD_LIMIT: ${UPLOAD_LIMIT}
MEMORY_LIMIT: ${MEMORY_LIMIT}
then ran docker-compose up -d
but still getting the same issue
Thank you
HI @MrOffline77 i was wondering if you were able to replicate the same issue? Thank you
bump?
same issue here, although it worked before a restart of docker.