@@ -126,7 +126,7 @@ jobs:
126126 uses : shivammathur/setup-php@27853eb8b46dc01c33bf9fef67d98df2683c3be2 # v2
127127 with :
128128 php-version : ${{ matrix.php_version }}
129- extensions : curl
129+ extensions : curl, mysqli
130130 coverage : none
131131
132132 - name : Check PHP setup
@@ -326,6 +326,7 @@ jobs:
326326 runs-on : ${{ matrix.os }}
327327 container :
328328 image : quay.io/centos/centos:stream9
329+ options : --privileged
329330 needs : [ build_rpm ]
330331 strategy :
331332 matrix :
@@ -352,11 +353,34 @@ jobs:
352353 dnf --assumeyes module reset php
353354 dnf --assumeyes --nogpgcheck module install php:remi-${{ matrix.php_version }}
354355 dnf --assumeyes install php-pdo
356+ dnf --assumeyes install php-mysqlnd
355357 yum install -y mod_php
356358 yum install -y nginx
357359 yum install -y php-fpm
358360 dnf install -y procps-ng
359361
362+ - name : Install and start MySQL
363+ run : |
364+ yum install -y mysql-server
365+ mkdir -p /var/lib/mysql
366+ mysqld --initialize-insecure --datadir=/var/lib/mysql
367+ mysqld -u root --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock &
368+ sleep 10
369+ mysql -u root -e "CREATE DATABASE IF NOT EXISTS db;"
370+
371+ - name : Test MySQL connection with mysqli
372+ run : |
373+ php -r '
374+ $mysqli = new mysqli("localhost", "root", "", "db");
375+ if ($mysqli->connect_error) {
376+ echo "MySQL connection failed: " . $mysqli->connect_error . "\n";
377+ exit(1);
378+ } else {
379+ echo "MySQL connection successful\n";
380+ $mysqli->close();
381+ }
382+ '
383+
360384 - name : Get Arch
361385 run : echo "ARCH=$(uname -m)" >> $GITHUB_ENV
362386
@@ -397,6 +421,7 @@ jobs:
397421 runs-on : ${{ matrix.os }}
398422 container :
399423 image : ${{ matrix.container }}
424+ options : --privileged
400425 needs : [ build_deb ]
401426 strategy :
402427 matrix :
@@ -442,13 +467,35 @@ jobs:
442467 a2enmod mpm_prefork
443468 a2enmod rewrite
444469
470+ - name : Install MariaDB server
471+ run : |
472+ apt-get install -y mariadb-server
473+ mkdir -p /var/lib/mysql
474+ mkdir -p /run/mysqld
475+ mysqld --user=root --datadir=/var/lib/mysql &
476+ sleep 10
477+ mysql -u root -e "CREATE DATABASE IF NOT EXISTS db;"
478+
445479 - name : Setup PHP
446480 uses : shivammathur/setup-php@27853eb8b46dc01c33bf9fef67d98df2683c3be2
447481 with :
448482 php-version : ${{ matrix.php_version }}
449- extensions : curl, sqlite3
483+ extensions : curl, sqlite3, mysqli
450484 coverage : none
451485
486+ - name : Test MySQL connection with mysqli
487+ run : |
488+ php -r '
489+ $mysqli = new mysqli("localhost", "root", "", "db");
490+ if ($mysqli->connect_error) {
491+ echo "MySQL connection failed: " . $mysqli->connect_error . "\n";
492+ exit(1);
493+ } else {
494+ echo "MySQL connection successful\n";
495+ $mysqli->close();
496+ }
497+ '
498+
452499 - name : Check PHP setup
453500 run : |
454501 php_versions="php7.3 php7.4 php8.0 php8.1 php8.2 php8.3"
@@ -494,4 +541,5 @@ jobs:
494541 name : test-results-aikido-${{ env.AIKIDO_VERSION }}-${{ matrix.os }}-php-${{ matrix.php_version }}
495542 if-no-files-found : ignore
496543 path : |
497- ${{ github.workspace }}/tests/cli/**/*.diff
544+ ${{ github.workspace }}/tests/cli/**/*.diff
545+ /var/log/mysql/error.log
0 commit comments