I'm sorry if my question is not 100% correct, it's my first one here.
I am currently putting together a docker stack and have a problem with the connection between php(php:8.1-fpm-alpine) and the mysql server (mysql:8.0).
I have built in the image for php as follows:
FROM php:8.1-fpm-alpine
# installing PHP PDO extension to talk to MySQL
RUN docker-php-ext-install mysqli pdo pdo_mysql
WORKDIR /var/www/html/web-root
the MySQL server like this:
FROM mysql:8.0
EXPOSE 3307
I can connect to the mySQL server with this data using the software "Beekeeper-Studio":
host: 127.0.0.1
port: 3307
user: root
pw: ""
My test php file is built as follows:
<?php
require_once "/logs/log.php";
$MYSQL_ADDRESS = "127.0.0.1"; // 127.0.0.1 -> mysql: 172.22.0.5
$MYSQL_DATABASE = "version_db";
$MYSQL_USER = "root";
$MYSQL_PASS = "";
$MYSQL_PORT = "3307";
$MYSQL_DSN = "mysql:host=${MYSQL_ADDRESS};port=${MYSQL_PORT};charset=UTF8;dbname=${MYSQL_DATABASE}";
$logger = new Log();
$logger->log("Update Databases!");
if (!in_array('pdo_mysql', get_loaded_extensions())) {
$logger->log("pdo_mysql not loaded!");
exit("pdo_mysql not loaded!");
}
$logger->log("MYSQL_DSN: " . $MYSQL_DSN);
try {
$pdo = new PDO($MYSQL_DSN, $MYSQL_USER, $MYSQL_PASS, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_FOUND_ROWS => TRUE]);
} catch (PDOException $e) {
$logger->log("No connection to database possible");
$logger->log($e);
exit("No connection to database possible");
}
$logger->log("connected to database");
And I get this error message logged: enter image description here