0
Help us understand the problem. What are the problem?

posted at

updated at

CentOS Stream 8にPHP PDOのMySQLドライバをインストールする手順

../

CentOS Stream 8でMySQLをインストールし、PHPからアクセスを試みるが、PDOの接続で「could not find driver」のエラーが出た。

could not find driver
Uncaught TypeError: Return value of PersistenceBase::pdo() 
must be an instance of PDO, null returned in ...

MySQLコンソールで接続できることは確認し、dsnやuser/passwordを間違えていないことは確認済み。

// dsn = mysql:dbname=test;host=localhost;port=3306;charset=utf8
// user = root
// password = xxx

$ mysql -uroot -p test
enter password: xxx

MySQLドライバは個別にインストールする必要があるということが分かった。初期状態ではpdo_sqliteしか入っていない。SQLiteは、非常に軽いオープンソースのDBMSらしい。

MySQLドライバ(pdo_mysql)を追加でインストールした。

$ php -m | grep pdo
pdo_sqlite

$ dnf install php-mysqlnd
php-mysqlnd  x86_64  7.4.19-2.module_el8.6.0+1075+ab70be85  appstream   193 k

$ php -m | grep pdo
pdo_mysql
pdo_sqlite

PHPからPDOで接続できるようになった。

../

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?