WP-CLI в Github Actions - "Error establishing a database connection."

Рейтинг: 0Ответов: 1Опубликовано: 21.04.2023

Сейчас изучаю работу gihub actions для запуска phpunit тестов для тестирования WP плагина. И возникла проблема подключения к бд через wp-cli. Напрямую через mysql подключение есть, создание и импорт бд через wp-cli работают, но получение данных из бд через wp-cli невозможно. На локальной машине всё работает отлично

Мой workflow.yml

name: WordPress install

on: [workflow_dispatch]

jobs:
  run:    
    runs-on: ${{ matrix.operating-system }}
    strategy:      
      matrix:
        operating-system: [ubuntu-latest]
        php-versions: ['7.2']
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    steps:
    - name: Checkout
      uses: actions/checkout@v1

    - name: Setup PHP
      uses: shivammathur/setup-php@v1
      with:
        php-version: ${{ matrix.php-versions }}
        extension-csv: mbstring, intl #optional, setup extensions
        ini-values-csv: post_max_size=256M, short_open_tag=On #optional, setup php.ini configuration
        coverage: xdebug #optional, setup coverage driver
        pecl: false #optional, setup PECL
        
    -   name: Set up MySQL
        run: |
            sudo /etc/init.d/mysql start
            
    -   name: Install wp
        run: |
            curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
            php wp-cli.phar core download
            echo 1
            php wp-cli.phar config create --dbname=wordpress_test --dbuser=root --dbpass=root --dbhost=127.0.0.1 --dbprefix=wptests_
            echo 2
            php wp-cli.phar db create
            php wp-cli.phar db check
            echo 30
            mysql --user="root" --password="root" --execute='show databases;'
            echo 31
            php wp-cli.phar db query 'SHOW TABLES' --allow-root
            echo 32
            php wp-cli.phar db tables
            echo 3
            php wp-cli.phar core install --url=wpclidemo.dev --title="WP-CLI" --admin_user=wpcli --admin_password=wpcli --admin_email=info@wp-cli.org
            echo 4
            php wp-cli.phar option get siteurl
            echo 5

И итоговый результат

Success: WordPress downloaded.
1
Success: Generated 'wp-config.php' file.
2
Success: Database created.
Success: Database checked.
30
Warning: arning] Using a password on the command line interface can be insecure.
Database
information_schema
mysql
performance_schema
sys
wordpress_test
31
32
Error: Error establishing a database connection.
Error: Process completed with exit code 1.

В чем может быть причина ошибки с wp-cli? Пример в gh actions здесь

Ответы

▲ 1Принят

Включил логирование в wp-config.php и получил ошибки:

PHP Warning:  mysqli_real_connect(): (HY000/2054): 
The server requested authentication method unknown to the client in /home/runner/work/gh-actions-wp-demo/gh-actions-wp-demo/wp-includes/class-wpdb.php on line 2019
Error: `The server requested authentication method unknown to the client`

Исправил следующей строчкой в workwlow.yml

mysql --user="root" --password="root" --execute="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';"