Laravelのインストール中に悪い経験をしました。しかし、私はそうすることができ、次のレベルに進むことができました。ジェネレーターを使用して移行を作成しました。しかし、最後のコマンドを入力すると
php artisan migrate
PDOExceptionがスローされています-ドライバーが見つかりませんでした。
'mysql' => array(
'driver' => 'mysql',
'Host' => 'localhost',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'database' => 'database',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
これがconfig/database.phpの私の構成です。
Stackoverflowとlaravelフォーラムで検索してみたところ、人々はPDOの問題であり、職人やphpの問題ではないことを示唆しています。
extension=pgsql.so
extension=pdo_pgsql.so
php.iniで
肯定的な結果はありません。常に[PDOException]could not find driver.
と表示されます
誰かがこれを解決するのを助けてください。
私が使用している環境:Mac、laravel 4、MAMP PROとphp 5.4.4
使用できます
Sudo apt-get install php7-mysql
または
Sudo apt-get install php5-mysql
または
Sudo apt-get install php-mysql
これは私のために働いた。
これは私のために働いた:
Sudo apt-get install php5-sqlite
これによりphp5のsqliteがインストールされ、php artisan migrateコマンドを再度実行して完全に機能しました。
Pdo_mysqlプラグインを特に有効にする必要があります。標準のPHPインストールを使用していると仮定すると、一般的にこれをPHP.iniファイルに追加するだけです。
extension=pdo_mysql.so
ただし、このファイルが拡張ディレクトリに存在することを確認する必要があります。
pdo_pgsql.so
を追加しても、PostgreSQL用であるため、役に立ちません。
さらに、PHP iniファイルに変更を加えた後は、変更が反映されない可能性があるため、必ずWebサーバーを再起動してください。
ここで同じ問題に遭遇しましたが、これはコマンドラインのPHPがブラウザバージョンとは異なるphp.ini
ファイルを使用しているためです。ブラウザでphpinfo()
を見ます。
この回答 に従って、次のコマンドを実行するだけです:
php --ini
コマンドラインで、現在ロードされているphp.ini
(おそらく実際には通常のphp-cli.ini
ファイルと同じ場所にあるphp.ini
ファイル)へのパスが表示されます。
見つかったら、必要なpdo拡張機能で変更します(この場合はMySQLの場合)。
extension=pdo_mysql.so
または、Windows上で何らかのWAMPサーバーを使用している他のユーザーの場合、代わりに次のようになります。
extension=php_pdo_mysql.dll
Php5のmysqlドライバーを見逃したと思います。以下のコマンドを実行します:
Sudo apt-get install php5-mysql
/etc/init.d/php5-fpm restart
Laravel .env
ファイルも確認してください。 DB_CONNECTION=mysql
を確認してください。そうしないと、MySQLで動作しません。他のものをロードしようとしました。
PDOドライバーがありません。
最初にドライバーをインストールします
Ubuntuの場合:mysqlデータベースの場合。
Sudo apt-get install php5.6-mysql/php7.2-mysql
他のデータベースシステムを検索することもできます。
ドライバーを検索することもできます。
Sudo apt-cache検索ドライバー名
Then Run the cmd php artisan migrate
php mysql
の最新バージョンをインストールする必要があります。私の場合、php7.1-mysql
をインストールしています。
これを試して
Sudo apt-get install php7.1-mysql
私はlaravelの最新バージョンを使用しています
私も同じエラーを受け取っていました-> "[PDOException]
ドライバーが見つかりませんでした "
その後、私は多くのコマンドを使用しましたが、何の助けも得ませんでした
最後に、次のコマンドを使用して問題を解決しました。
Sudo apt-get install php5-sqlite
Laravel Testing with sqlite php pdo sqlite driversが必要
Ubuntu 14.04の場合
Sudo apt-get install php5-sqlite
Sudo service Apache2 restart
Ubuntu 16.04にはphp5-sqlite
はありません
Sudo apt-get install php7.0-sqlite
Sudo service Apache2 restart
同じ問題を抱えており、WebサイトはMAMPのphpで実行されていますが、コマンドを呼び出すと、macが実行されます(bashパスが変更されていない場合)。 Macにこれらの拡張機能がない場合は問題が発生します。
php -iを実行して、ロードされた拡張機能を見つけ、見落とした拡張機能をインストールします。または '/Applications/MAMP/bin/php/php5.3.6/bin/php artisan {your command}'を実行してMAMPを使用します
Debianでこの問題が発生しました。問題は、最近のPHPパッケージにdotdebリポジトリを使用していたことです。何らかの理由で、php cliを7.0に更新しましたが、web phpバイナリはphp 5.6のままでした。 この回答 を使用して、phpコマンドラインバイナリを5.6バージョンにリンクしました。
$ Sudo ln -sfn /usr/bin/php5 /etc/alternatives/php
PostgreSQLでこのエラーが発生しました。解決策は次のとおりです。
Sudo apt-get install php7.1-pgsql
インストール済みのPHPバージョンのみを使用する必要があります。私のバージョンは7.1です。これにより、PostgreSQLの問題が修正されました。
これは私と一緒に働いた:(pgsqlの場合:「mysql」の代わりに「pgsql」を使用)
ステップ1)
Sudo apt-get install php-mysql
ステップ2)
php artisan config:clear
ステップ3)
php artisan config:cache
ステップ4)
次にサーバーを再起動し、キーを再生成して移行します。完了
Ubuntu 14.04が見つかりません
以下のコマンドでこの問題を解決しました。
Sudo apt-get install php-mysql
私の場合、PHPバージョンを5.5.9から7.0.8に更新した後、他の2つのエラーを含むこのエラーを受け取りました。
エラー:
laravel/framework v5.2.14にはext-mbstringが必要です*->要求されたPHP拡張mbstringがシステムにありません。
phpunit/phpunit 4.8.22にはext-domが必要です*->要求されたPHP拡張domがシステムにありません。
[PDOException]
ドライバーが見つかりませんでした
ソリューション:
このパッケージをインストールしましたが、問題はなくなりました。
Sudo apt-get install php-mbstring
Sudo apt-get install php-xml
Sudo apt-get install php-mysql
まず、次のようにphpバージョンを確認します。
php -v
たとえば、バージョン番号を取得した後、7.1を取得し、そのようにインストールします
Sudo apt-get install php7.1-sqlite //for laravel testing with sqlite
Sudo apt-get install php-mysql //for default mysql
Sudo apt-get install php7.1-mysql //for version based mysql
Sudo apt-get install php7.1-common //for other necessary package for php
Apache2を再起動する必要があります
Sudo service Apache2 restart
置き換えられたのは、php.iniファイルの; extension = pdo_mysqlからextension = pdo_mysqlへ。
将来の検索者向け。 FreeBSDでは次を試してください
pkg_info | grep php5-pdo_mysql
代わりに空の行が表示される場合は、次を実行します。
cd /usr/ports/databases/php5-pdo_mysql
そして、インストールを行います
make install clean
次に、Apacheを再起動するだけで完了です。
例えばSudo /usr/local/etc/rc.d/Apache22 restart
このコマンドでインストールしてください
Sudo apt-get install php5-Gd
これは私のために働いた。
私も同じエラーを受け取っていました-> "[PDOException] could not find driver"
Phpがlampp/opt/lampp/bin/phpの代わりに/ usr/bin/phpを指しているので、単純に作成してエイリアスを作成しました。
エイリアスphp = "/ opt/lampp/bin/php"
また、データベースアクセス資格情報が更新されたことを確認するために、.envファイルを更新する必要がありました。
そして、それがうまくいったと思います!
このエラーの適切な解決策を見つけました!データベースがインストールされていないか、このファイルにデフォルトのデータベースがありますconfig/database.phpはこのような他のデータベースに設定されています
'default' => 'sqlite',
'default' => env('DB_CONNECTION', 'sqlite'), //laravel 5.2
デフォルトのインストール先を変更するか、デフォルトとなるデータベースをインストールしてください!この行を次のように変更した後、mysqlとphp artisan migrateをインストールしました。
'default' => 'mysql',
'default' => env('DB_CONNECTION', 'mysql'), //laravel5.2
ManjaroのようなArchベースのシステムを使用している場合
ただ使う
Sudo pacman -S php-sqlite
Httpdを再起動します
systemctl restart httpd
Laravel 5.xを使用しており、エラーが列の属性を変更しようとする場合、前提条件が欠落しているためにエラーが発生する可能性があります。
これを試して:
composer require doctrine/dbal
その後、移行を実行してみてください。
ここから: https://laravel.com/docs/master/migrations#modifying-columns
私の場合、Apacheで実行されるPHPがCLIで実行されるものと異なることを知りませんでした。 httpd.confでの設定中に、CLIが使用するデフォルトのモジュールではなく、PHPモジュールを指定した場合が該当する可能性があります。
この投稿を見つけたwindows 10およびWAMPのユーザーには、解決策があります。 このリンクにアクセスしてください 。私にとってはうまくいき、解決策を見つけるのは困難でしたが、将来的には他の人の助けになることを願っています。