OctoberCMSのインストールでcould not find driver(MySQLエラー)と戦った話

OctoberCMSを興味本位で始めています。
基本的に日本での事例が少ないので、海外の記事を翻訳しまくってる毎日です。
その中でも初歩的な「インストール」という段階で、
色々と苦戦したのでそれを記事として残しておこうと思う。

開発環境

CentOS Linux release 7.4.1708 (Core)
PHP 7.1.11
Apache/2.4.6
mysql Ver 14.14 Distrib 5.6.38

仮想環境はVagrantでBOXを作って色々テストしています。
インストールに関してはこちらの記事を参考にしました。

LaravelベースのCMS OctoberCMS入門

今回ハマった部分がデータベースの設定でした。

php artisan october:install

このコマンドでOctoberCMSのインストールがCUIで出来る。

この画面を見るだけでテンションが上がる。
今回はMySQLを使ってデータベースと接続するので、最初は0。

この設定は後からでも変更できるようだが、とりあえずテストなので適当に入力しておく。

データベースもあらかじめ作成し、データベース名/ユーザー名/パスワードを入力する。

Configure advanced options? (yes/no) [no]:

ここでエンターを押したときにこんなエラーが出た。

Application key [FLXXLqvgLjhwZRv6yOP9NwTl8vgayqj5] set successfully.
Migrating application and plugins...
could not find driver (SQL: select * from information_schema.tables where table_schema = october and table_name = migrations)

どうやらアプリケーションのインストールは出来たが、データベースの接続がうまくいってないようだ。

OctoberCMSはとにかく日本での事例が少ないので、英語の事例を翻訳して読み漁りました。

結論から言うとPDO driversの問題でした。
Apacheの設定で、PDO driversがsqliteしか有効になってなかったようで、
今回はMySQLを使いたいのでphp.iniの設定が必要になる。

MySQLの有効化

とりあえずyumコマンドを使って有効化する方法を書いておく。

yum -y install php-pdo
yum -y install php-mysql

※既にインストールされていたら、Nothing to doと言われますので無視してください。

service httpd restart

Apacheを再起動しまずは心を落ち着かせましょう。

php.iniの追記

; Enable pdo extension module
extension=pdo.so

; Enable pdo_mysql extension module
extension=pdo_mysql.so

こいつをMySQLが書いてあるあたりに追記するか、/etc/php.dにファイルを作成します。

service httpd restart

再度Apacheを再起動しphpinfo()でPDO driversにmysqlが追加されていればOK!

これで再度

php artisan october:install

を実行しエンターを押しまくれば…(一応間違いがないか確認しながら…)

木が生えました!!
めでたしめでたし…。

きっとこれからもいろんな山があるのでしょう…。

Leave a Reply

Your email address will not be published. Required fields are marked *

10 + twelve =