Undefined Class Constant MYSQL_ATTR_SSL_CA
1drupal@ubuntu:/var/www/sites/openedu.localhost/docroot$ drush si site-name='OpenEDU Testing' --db-url='mysql://openedu_DBA:openedu_PASS@127.0.0.1/openedu_DB' openedu
2PHP Fatal error: Uncaught Error: Undefined class constant 'MYSQL_ATTR_SSL_CA' in /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php:56
3Stack trace:
4#0 /usr/local/share/drush/lib/Drush/Sql/SqlBase.php(164): Drush\Sql\Sqlmysql->creds()
5#1 /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php(107): Drush\Sql\SqlBase->query('SELECT 1;', '/tmp/drush_uX7T...', '/dev/null')
6#2 /usr/local/share/drush/commands/core/site_install.drush.inc(146): Drush\Sql\Sqlmysql->db_exists()
7#3 /usr/local/share/drush/includes/command.inc(422): drush_core_pre_site_install('site-name=OpenE...')
8#4 /usr/local/share/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
9#5 /usr/local/share/drush/includes/command.inc(199): drush_command('site-name=OpenE...')
10#6 /usr/local/share/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
11#7 /usr/local/share/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
12#8 /usr/local/share/drush/drush.php(12): drush_main()
13#9 {main}
14 thrown in /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php on line 56
15Drush command terminated abnormally due to an unrecoverable error. [error]
16Error: Uncaught Error: Undefined class constant 'MYSQL_ATTR_SSL_CA' in /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php:56
17Stack trace:
18#0 /usr/local/share/drush/lib/Drush/Sql/SqlBase.php(164): Drush\Sql\Sqlmysql->creds()
19#1 /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php(107): Drush\Sql\SqlBase->query('SELECT 1;', '/tmp/drush_uX7T...', '/dev/null')
20#2 /usr/local/share/drush/commands/core/site_install.drush.inc(146): Drush\Sql\Sqlmysql->db_exists()
21#3 /usr/local/share/drush/includes/command.inc(422): drush_core_pre_site_install('site-name=OpenE...')
22#4 /usr/local/share/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array)
23#5 /usr/local/share/drush/includes/command.inc(199): drush_command('site-name=OpenE...')
24#6 /usr/local/share/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array)
25#7 /usr/local/share/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch()
26#8 /usr/local/share/drush/drush.php(12): drush_main()
27#9 {main}
28 thrown in /usr/local/share/drush/lib/Drush/Sql/Sqlmysql.php, line 56
Solution:
1sudo apt-get install php-mysql
see details in https://stackoverflow.com/questions/13375061/installing-pdo-driver-on-mysql-linux-server
Another possible solution: check and ensure the mysql credentials can access the database itself.