Error could not find driver file

Error could not find driver file

Я только что установил Debian Lenny с Apache, MySQL и PHP, и я получаю PDOExceptioncould not find driver.

Это конкретная строка кода, на которую он ссылается:

$dbh = new PDO(‘mysql:host=’ . DB_HOST . ‘;dbname=’ . DB_NAME, DB_USER, DB_PASS)

DB_HOST, DB_NAME, DB_USER, и DB_PASSявляются константами, которые я определил. Он отлично работает на рабочем сервере (и на моей предыдущей настройке сервера Ubuntu).

Это как-то связано с моей установкой PHP?

Поиск в Интернете не помог, все, что я получаю, это experts-exchange и примеры, но никаких решений.

Ответ

У вас должен быть модуль с именем pdo_mysql. Ищу следующее в phpinfo(),

              pdo_mysql

              PDO Driver for MySQL, client library version => 5.1.44

DSN в вашем коде показывает, что вы пытаетесь подключиться к драйверу mysql. Ваше сообщение об ошибке указывает, что этот драйвер недоступен.

Убедитесь, что на вашем сервере установлено расширение mysql.

В Ubuntu / Debian вы проверяете наличие пакета с помощью:

              dpkg –get-selections | grep php | grep mysql

Установите пакет php5-mysql, если у вас его нет.

В Ubuntu / Debian вы можете использовать:

              PHP5: sudo apt-get install php5-mysql

              PHP7: sudo apt-get install php7.0-mysql

Наконец, чтобы заставить его работать, вам нужно будет перезапустить ваш веб-сервер:

              Apache: sudo /etc/init.d/apache2 restart

              Nginx: sudo /etc/init.d/nginx restart

Обновление: более новые версии должны использовать php-sqlite3package вместо php5-sqlite. Поэтому используйте это, если вы используете последнюю версию ubuntu:

              sudo apt-get install sqlite php-sqlite3

Оригинальный ответ на вопрос здесь:

              sudo apt-get install sqlite php5-sqlite

              sudo /etc/init.d/apache2 restart

Если ваш phpinfo () не показывает строку pdo_sqlite (в моем случае, на моем сервере Ubuntu), вам просто нужно запустить приведенные выше строки, и тогда все будет готово.

Laravel: PDOException: could not find driver

Я разрабатываю веб-сайт на сервере, у меня есть доступ только к MySQL и FTP, поэтому все команды, которые я запускаю, выполняются через php-оболочку b374k. У меня возникла проблема Laravel с драйвером SQL. Я попытался переключиться на файловый 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

В чем может быть проблема и как я могу ее исправить? (У меня нет доступа к root bash)

Ответ

Драйвер вашей базы данных отсутствует. Для решения проблемы

Сначала установите драйвер

Для ubuntu: для базы данных MySQL.

              sudo apt-get install php5.6-mysql/php7.2-mysql

Вы также можете выполнить поиск в других системах баз данных.

Вы также можете выполнить поиск драйвера:

              sudo apt-cache search drivername

Затем запустите cmd php artisan migrate

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector