質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

3603閲覧

laravel5.3にてmigrateができない

tanamochi

総合スコア83

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/12/14 06:09

編集2016/12/14 06:21

いつもお世話になっております。
最近は質問ばかりで恐縮ですがよろしくお願いします。

###前提・実現したいこと
Laravel5.3,CentOS7,PHP7,MariaDBの環境構築
vagrant1.8.4,virtualbox4.34.4
mac10.11.5 EL Capitan

###発生している問題・エラーメッセージ
php artisan migrateで以下のエラーが出ている

[PDOException] could not find driver

###該当のソースコード
以下の手順で構築しLaravelのトップページが出るところまでは確認できました。
そこからDBを作成しようとしたところmigrateでエラーが出てしまい詰まってしましました。
php artisan make:migration create_tasks_table
等でファイルの生成もできております。
mysqlは起動できます。

sudo yum -y install epel-release sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm #Apache sudo yum -y install httpd sudo systemctl start httpd.service sudo systemctl enable httpd.service #firewalld sudo systemctl stop firewalld.service sudo systemctl disable firewalld.service #MariaDB sudo yum -y remove mariadb* sudo rm -rf /var/lib/mysql/ sudo yum -y install mariadb.x86_64 sudo yum -y install mariadb-devel.x86_64 mariadb-libs.x86_64 mariadb-server.x86_64 sudo systemctl enable mariadb.service sudo systemctl start mariadb.service #wget sudo yum -y install wget #vim sudo yum -y install vim #PHP sudo yum -y remove php-* sudo yum -y --enablerepo=epel,remi,remi-php70 install php php-devel php-pdo php-mcrypt php-mbstring php-fpm php-dom php-gd php-mysql sudo systemctl restart httpd.service #git sudo yum -y install git #Composer sudo curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer #Laravel composer require 'laralib/l5scaffold' –dev composer global require "laravel/installer=~1.1" #laraval create cd /vagrant composer -n create-project laravel/laravel myapp --prefer-dist cd /vagrant/my composer install cp /vagrant/.env.example .env chmod -R 777 storage chmod -R 777 bootstrap chmod -R 777 bootstrap/cache setenforce 0 php artisan key:generate php artisan config:clear mysql -u root < create_database.sql #start php artisan serve --host 192.168.33.11 --port="8010"

###試したこと
.envの書き換え

DB_CONNECTION=mysql

1DB_HOST=127.0.0.1 2DB_PORT=3306 3DB_DATABASE=myapp 4DB_USERNAME=root 5DB_PASSWORD=

app/config/databese.phpの書き換え

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'myapp'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ],

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php.iniにて、extension=php_pdo_mysql.soが有効になっているか確認してみては如何でしょうか?

投稿2016/12/14 06:12

編集2016/12/14 06:18
motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanamochi

2016/12/14 06:20

回答ありがとうございます。 extension=php_pdoで検索してみたのですが記述がありませんでした。 追記してみたところ PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_pdo_mysql.dll' - /usr/lib64/php/modules/php_pdo_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0 というエラーが出ました
motuo

2016/12/14 06:26

すいません。拡張子.dllはwindows用なので拡張子.soが正しいです。 それはさておき… extensionを格納しているフォルダに、上述のphp_pdo_mysql.soがある事を確認して下さい。無い場合は、phpにmysql用のドライバーをインストールする必要がありそうですね。 手順はhttp://php.net/manual/ja/set.mysqlinfo.phpを参照されると良いかと思います。
motuo

2016/12/14 06:31

私の環境はWindowsなので未検証ですが、 yum install php php-mysql でmysqlの追加パッケージをインストール出来るみたいですね。
tanamochi

2016/12/14 06:35

ありがとうございます! 実行してみたところ以下のようになりました。 $ yum install php php-mysql 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.jaist.ac.jp * epel: kartolo.sby.datautama.net.id * extras: ftp.jaist.ac.jp * remi-safe: mirrors.netix.net * updates: ftp.jaist.ac.jp 一致したパッケージ php-5.4.16-42.el7.x86_64 はすでにインストールされています。更新を確認しています。 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ php-mysql.x86_64 0:5.4.16-42.el7 を インストール --> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-42.el7 のパッケージ: php-mysql-5.4.16-42.el7.x86_64 --> 依存性解決を終了しました。 エラー: パッケージ: php-mysql-5.4.16-42.el7.x86_64 (base) 要求: php-pdo(x86-64) = 5.4.16-42.el7 インストール: php-pdo-7.0.14-1.el7.remi.x86_64 (@remi-php70) php-pdo(x86-64) = 7.0.14-1.el7.remi 利用可能: php-pdo-5.4.16-42.el7.x86_64 (base) php-pdo(x86-64) = 5.4.16-42.el7 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest
motuo

2016/12/14 06:40

「インストール済み」というメッセージが出ていますね。 /usr/lib64/php/modulesの配下に以下のファイル(もしくは類似したファイル名)がある事は確認できますでしょうか? php_mysql.so php_mysqli.so php_pdo_mysql.so また、php.iniのextensionの内容も確認した方が良いと思います。 上記のファイルを読込む記述(extension=~)が無ければ、追加する必要がありそうですね。
tanamochi

2016/12/14 06:45

検索しましたがphpとつくものはありませんでした。 $ ls /usr/lib64/php/modules/p pdo.so pdo_sqlite.so phar.so extension=~が無ければ、追加する了解しました。
motuo

2016/12/14 07:16

この方法を試して頂けますか? yum install --enablerepo=remi,remi-php70 php-mysqlnd
tanamochi

2016/12/14 09:40

すみません、返事が遅くなりました。 先ほどのコマンドでpdo_mysql.soをインストールすることができました! しかし、migrateはうまく動作しませんでした。 $ php artisan migrate PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - /usr/lib64/php/modules/pdo_mysql.so: undefined symbol: mysqlnd_allocator in Unknown on line 0 Could not open input file: artisan php.iniにはextension=pdo_mysql.soを追記しています。
tanamochi

2016/12/14 12:51

警告はでてますが実行はされてました!
motuo

2016/12/14 14:05

良かったです。先ほどのアドバイスとは変わってしまうのですが、extension=pdo_mysql.soをコメントアウトしてみては如何でしょうか?これでワーニングが出なくなり、かつ動けば良いのですが…
tanamochi

2016/12/14 14:10 編集

コメントアウトしてみたところワーニング出てません! ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問