[php-src] Issue #11799: broken SSL mariadDB connections after 8.1.1 to 8.2.8 php upgrade
| From: | signmeuptwice | Date: | Wed, 26 Jul 2023 14:14:54 +0000 |
| Subject: | [php-src] Issue #11799: broken SSL mariadDB connections after 8.1.1 to 8.2.8 php upgrade | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245042@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/11799
Author: signmeuptwice
### Description
After updating my docker php image from 8.1.1 to 8.2.x symfony is not working with mariadb
connections using ssl. Not sure if anything happened on the new php verrsion.
If I revert to 8.1.1 it works no problem.
Symfony error
An exception occurred in the driver: SQLSTATE[HY000] [2002] (trying to connect via
(null))
docker database log
2023-07-17 17:51:27 19 [Warning] Aborted connection 19 to db: 'unconnected' user:
'unauthenticated' host: '172.26.0.3' (This connection closed normally without
authentication)
docker compose
```
database:
container_name: database
image: "mariadb:${MARIADB_VERSION}"
restart: always
env_file: .env
volumes:
- "${SQL_INIT}:/docker-entrypoint-initdb.d"
- type: bind
source: ${MARIADB_DATA_DIR}
target: /var/lib/mysql
- type: bind
source: ${MARIADB_LOG_DIR}
target: /var/logs/mysql
- type: bind
source: ${MARIADB_CERTS_DIR}
target: /etc/certs/
- type: bind
source: /etc/localtime
target: /etc/localtime:ro
- type: bind
source: ${MARIADB_BACKUP_DIR}
target: /opt/mysql/backup
- type: bind
source: ${MARIADB_BACKUP_SCRIPT_DIR}
target: /etc/periodic/daily
ports:
- "3306:3306"
networks:
app_network:
command:
[
"mysqld",
"--character-set-server=utf8mb4",
"--collation-server=utf8mb4_general_ci",
"--require_secure_transport=OFF",
"--bind-address=0.0.0.0",
"--ssl-key=/etc/certs/server-key.pem",
"--ssl-cert=/etc/certs/server-cert.pem",
"--ssl-ca=/etc/certs/ca-cert.pem",
]
```
symfony dbal config
```
doctrine:
dbal:
server_version: '%env(DATABASE_VERSION)%'
dbname: '%env(DATABASE_NAME)%'
host: '%env(DATABASE_HOST)%'
port: '%env(DATABASE_PORT)%'
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PASSWORD)%'
driver: '%env(DATABASE_DRIVER)%'
charset: UTF8
options:
!php/const PDO::MYSQL_ATTR_SSL_KEY: '%DATABASE_PUB_KEY%'
!php/const PDO::MYSQL_ATTR_SSL_CERT: '%DATABASE_PRIV_KEY%'
!php/const PDO::MYSQL_ATTR_SSL_CA: '%DATABASE_CA_CERT%'
!php/const PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT: false
```
docker image
```
# FROM php:8.1.1-fpm
FROM php:8.2-fpm
RUN apt-get clean && apt-get update \
&& apt-get install -y --no-install-recommends \
locales \
apt-utils \
git \
libicu-dev \
g++ \
libpng-dev \
libxml2-dev \
libzip-dev \
libonig-dev \
libxslt-dev \
unzip \
libpq-dev \
nodejs \
wget \
apt-transport-https \
lsb-release \
ca-certificates
RUN apt-get update
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get install -y nodejs
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen
RUN curl -sS https://getcomposer.org/installer | php
-- \
&& mv composer.phar /usr/local/bin/composer
RUN curl -sS https://get.symfony.com/cli/installer | bash
# && mv /root/.symfony/bin/symfony /usr/local/bin
RUN docker-php-ext-configure \
intl \
&& docker-php-ext-install \
pdo pdo_mysql pdo_pgsql opcache intl zip calendar dom mbstring gd xsl
RUN pecl install apcu && docker-php-ext-enable apcu
# RUN npm install --global yarn
RUN apt-get install -y libmagickwand-dev; \
pecl install imagick; \
docker-php-ext-enable imagick;
RUN apt update
RUN apt -y install iputils-ping git
RUN export NODE_OPTIONS=--max_old_space_size=8096
WORKDIR /var/www/
RUN echo 'deb [trusted=yes] https://repo.symfony.com/apt/ /' | tee
/etc/apt/sources.list.d/symfony-cli.list
RUN apt update
RUN apt install symfony-cli
RUN symfony new --version=6.* --no-git --dir=./app
RUN apt install -y ffmpeg
WORKDIR /var/www/app
EXPOSE 9000
```
### PHP Version
8.2.8
### Operating System
docker