MySQLとFTPにのみアクセスできるサーバーでWebサイトを開発しているため、実行するすべてのコマンドはb374k php Shellを使用します。 SQLドライバーでLaravel問題が発生しています。ファイルホストのSQLite(database/database.sqlite内)に切り替えてみましたが、スローされる例外はMySQLを使用する場合と同じです。コンソールの入力と出力は次のとおりです。
php artisan migrate:refresh --seed
[Illuminate\Database\QueryException]
could not find driver (SQL: select * from sqlite_master where type = 'table ' and name = migrations)
[Doctrine\DBAL\Driver\PDOException]
could not find driver
[PDOException]
could not find driver
サーバーにインストールされているApache拡張機能は次のとおりです。
/etc/php/5.6/Apache2/conf.d/10-mysqlnd.ini,
/etc/php/5.6/Apache2/conf.d/10-opcache.ini,
/etc/php/5.6/Apache2/conf.d/10-pdo.ini,
/etc/php/5.6/Apache2/conf.d/15-xml.ini,
/etc/php/5.6/Apache2/conf.d/20-calendar.ini,
/etc/php/5.6/Apache2/conf.d/20-ctype.ini,
/etc/php/5.6/Apache2/conf.d/20-curl.ini,
/etc/php/5.6/Apache2/conf.d/20-dom.ini,
/etc/php/5.6/Apache2/conf.d/20-exif.ini,
/etc/php/5.6/Apache2/conf.d/20-fileinfo.ini,
/etc/php/5.6/Apache2/conf.d/20-ftp.ini, /etc/php/5.6/Apache2/conf.d/20-Gd.ini,
/etc/php/5.6/Apache2/conf.d/20-gettext.ini,
/etc/php/5.6/Apache2/conf.d/20-iconv.ini,
/etc/php/5.6/Apache2/conf.d/20-json.ini,
/etc/php/5.6/Apache2/conf.d/20-mbstring.ini,
/etc/php/5.6/Apache2/conf.d/20-mcrypt.ini,
/etc/php/5.6/Apache2/conf.d/20-mysql.ini,
/etc/php/5.6/Apache2/conf.d/20-mysqli.ini,
/etc/php/5.6/Apache2/conf.d/20-pdo_mysql.ini,
/etc/php/5.6/Apache2/conf.d/20-phar.ini,
/etc/php/5.6/Apache2/conf.d/20-posix.ini,
/etc/php/5.6/Apache2/conf.d/20-readline.ini,
/etc/php/5.6/Apache2/conf.d/20-shmop.ini,
/etc/php/5.6/Apache2/conf.d/20-simplexml.ini,
/etc/php/5.6/Apache2/conf.d/20-sockets.ini,
/etc/php/5.6/Apache2/conf.d/20-sysvmsg.ini,
/etc/php/5.6/Apache2/conf.d/20-sysvsem.ini,
/etc/php/5.6/Apache2/conf.d/20-sysvshm.ini,
/etc/php/5.6/Apache2/conf.d/20-tokenizer.ini,
/etc/php/5.6/Apache2/conf.d/20-wddx.ini,
/etc/php/5.6/Apache2/conf.d/20-xmlreader.ini,
/etc/php/5.6/Apache2/conf.d/20-xmlwriter.ini,
/etc/php/5.6/Apache2/conf.d/20-xsl.ini,
/etc/php/5.6/Apache2/conf.d/20-Zip.ini
何が問題であり、どのように修正できますか? (ルートbashにアクセスできません)
可能であれば、実行します:
composer update
composer require doctrine/dbal
依存関係が欠落しているようです
編集:
Php.iniファイルで以下をコメントアウトする必要がある場合があります。
;extension=pdo_mysql.so
この投稿から引用: Laravel 5 PDOExceptionはドライバーを見つけることができませんでした Digital Oceanでlaravelをセットアップするとき、私はまさにこのようなことをしなければならなかったと思います。
データベースドライバーが見つかりません。問題を解決するには
最初にドライバーをインストールします
Ubuntuの場合:mysqlデータベースの場合。
Sudo apt-get install php5.6-mysql/php7.2-mysql
他のデータベースシステムを検索することもできます。
ドライバーを検索することもできます:
Sudo apt-cache search drivername
次に、cmd php artisan migrate
を実行します
テストスイートの実行時に同じエラーが発生しました。以前は動作していましたが、phpをアップグレードすると動作しなくなりました。だから私はやった
Sudo apt-get install php-sqlite3
そしてそれは働いた。
Ubuntu(18.04)でさらにシンプルに
apt install php-mysql
できた.ini
ファイルを編集する必要はありません。
ハッピーコーディング!
最初の確認php -m
。mysqlドライバーが表示されない場合は、mysql Sudo apt-cache search php-mysql
をインストールしてください
結果は次のようになります。
php-mysql - MySQL module for PHP [default]
php- mysqlドライバーのインストール
Sudo apt-get install php7.1-mysql
最後にこれを修正しました。サーバー構成にタイプミスがあり、php extecutablesへのパスはすべて、エラーの原因となったphp-cliへのパスを除いて問題ありませんでした。パスを修正すると、すべてが正常に機能しました。
CentOS7では、yum install php-mysql
を試してから、php.iniを編集します
ウィンドウOS。 php.exeと同じディレクトリにあるphp.iniファイルのextension = pdo_mysqlのコメントを外します。その後は正常に動作します。
私は同じ問題を抱えていたので、extension=pdo_sqlite
のコメントを外し、migration
を実行しましたが、すべて正常に機能しました。
おそらく、sqliteまたは移行しようとしている特定のDBドライバーが欠落しています。
DBドライバーをインストールすれば大丈夫です。 php.iniファイルを編集する必要は必ずしもありません(ただし、修正する方法の1つです)。
Sqliteの場合-> Sudo apt-get install php-sqlite3
その後php artisan migrate
注意:PHPとMySqlが既にインストールされていると思います