Uncaught pdoexception could not find driver in windows

I have been trying to connect to MySQL from PHP using PDO. However, I get this error message:

PHP Fatal error: Uncaught PDOException: could not find driver in /home/abdullah/Documents/projects/cs50_radio/public/test.php:5
Stack trace:
#0 /home/abdullah/Documents/projects/cs50_radio/public/test.php(5): PDO->__construct(‘mysql:host=127….’)

PDO is enabled and installed. I checked phpinfo(), but I can’t figure out the error.

Here is my code used to connect:

<?php
    $user = "root";
    $pass = "root";

    $dbh = new PDO("mysql:host=127.0.0.1;dbname=radio;port=3306", $user, $pass);
    //$dbh->query('INSERT INTO users (name) VALUES ("abdullah")');
    $dbh = null;
?>

Should my project folder contain any additional drivers or files? Or am I missing something in my code?

Peter Mortensen's user avatar

asked Nov 27, 2016 at 9:19

A.Emad's user avatar

4

To use different drivers you need to install them.

On Windows you simply uncomment a line in php.ini:

extension=php_pdo_mysql.dll

On Debian or similar Linux distribution you can just install the extension with the package manager:

sudo apt update
sudo apt install php7.1-mysql

Remember to install the correct version.

Valerio Bozz's user avatar

answered Nov 27, 2016 at 9:54

VeeeneX's user avatar

VeeeneXVeeeneX

1,55618 silver badges26 bronze badges

1

I had the same problem, resulting from some incompatibility (not immediately evident) between the Apache and PHP versions I had downloaded. Try writing a toy PHP script that simply creates a new PDO object, — something like:

<?php

$dbname   = 'mydb';
$username = 'myuser';
$password = 'mypassword';
try {
    $pdo = new \PDO("mysql:host=localhost;dbname=$dbname", $username,  $password);
} catch (Exception $e) {
    print $e->getMessage() . "\n";
}
print "OK\n";

Then run that script from the command line. If you don’t get the ‘could not find driver’ error message, then that points to an incompatibility between your PHP and Apache versions.

answered May 27, 2018 at 1:29

flapjack's user avatar

flapjackflapjack

871 silver badge5 bronze badges

In my PHP 7.4 I didn’t get php.ini. Instead, I have php.ini-development and php.ini-production. So, I have created a new php.ini file only and copied the configurations into it.

Then I have uncommented and changed the extension directory to the full installation path.

 extension_dir = "C:/php/ext"

And uncommented:

 extension=pdo_mysql

Finally, restart the server.

answered Dec 13, 2019 at 7:58

Abdulwehab's user avatar

AbdulwehabAbdulwehab

1,3562 gold badges10 silver badges12 bronze badges

1

Ok, somehow I had a problem with the extension itself. It helped to reinstall the MySQL extension. Here an example for PHP 7.3:

sudo apt purge php7.3-mysql
sudo apt install php7.3-mysql
sudo service apache2 restart

Peter Mortensen's user avatar

answered Feb 23, 2020 at 21:14

Sebastian Rahmel's user avatar

1

  • Главная

    Список форумов

    Ошибки Open Server

  • Поиск

    • Текущее время: 09 окт 2023, 10:18
    • Часовой пояс: UTC+03:00

santex85

Сообщения: 2
Зарегистрирован: 18 апр 2016, 12:27

Аватара пользователя

Максим

Сообщения: 6022
Зарегистрирован: 11 дек 2010, 20:29

orogastus

Сообщения: 3
Зарегистрирован: 23 янв 2015, 21:35

Re: Ошибка Uncaught exception ‘PDOException’ with message ‘could not find driver’

Непрочитанное сообщение

orogastus »

Вот такая ошибка вылазит:
Fatal error: Uncaught exception ‘PDOException’ with message ‘could not find driver’ in C:\OSPanel\domains\C9\include\setting.php:9 Stack trace: #0 C:\OSPanel\domains\C9\include\setting.php(9): PDO->__construct(‘sqlsrv:server=8…’, ‘sa’, ‘m128634!’) #1 C:\OSPanel\domains\C9\script-head.php(3): include_once(‘C:\OSPanel\doma…’) #2 C:\OSPanel\domains\C9\index.php(1): include(‘C:\OSPanel\doma…’) #3 {main} thrown in C:\OSPanel\domains\C9\include\setting.php on line 9
скриншот: все подключено раскомментировано: http://prntscr.com/kskl0e
помогите, куда копать?

include_once(«function.php»);
$sql = new PDO(«sqlsrv:server=».MSSQL_HOST.»; Database=».MSSQL_DB.»»,MSSQL_USER,MSSQL_PASS);
$api = new API(true);
$ip = $_SERVER[‘REMOTE_ADDR’];

вот что там

orogastus

Сообщения: 3
Зарегистрирован: 23 янв 2015, 21:35

Аватара пользователя

Максим

Сообщения: 6022
Зарегистрирован: 11 дек 2010, 20:29

Re: Ошибка Uncaught exception ‘PDOException’ with message ‘could not find driver’

Непрочитанное сообщение

Максим »

voron121, вы ничего не можете понять, т.к. не читали или невнимательно прочитали руководство пользователя. В противном случае вы могли бы знать, что корректная среда окружения доступна только в тех программах, что запускаются из меню Open Server. А когда вы запускаете свои обычные программы в Windows они естественно не видят переменные окружения Open Server и вы получаете то, что получаете.

На будущее, предвидя ваше следующее непонимание, замечу, что если вы меняете версию любого модуля в настройках, то меняется и окружение. Поэтому программы, запущенные из меню ранее, необходимо перезапускать, чтобы они увидели обновлённое окружение. Всё это указано в руководстве.

@meet-bhagdev
Thanks for your response.

[root@dev ~]# odbcinst -q -d -n «ODBC Driver 13 for SQL Server»
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1
UsageCount=2

[root@dev ~]# php -m
[PHP Modules]
……
PDO
pdo_mysql
PDO_OCI
PDO_ODBC
pdo_sqlite
pdo_sqlsrv
……
sqlsrv
……

[Zend Modules]
Zend OPcache

[root@dev ~]# php -v
PHP 7.0.9 (cli) (built: Aug 8 2016 12:22:02) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.9, Copyright (c) 1999-2016, by Zend Technologies

[root@dev ~]# php -i
……
PDO
PDO support => enabled
PDO drivers => oci, odbc, sqlite, mysql, sqlsrv
……
PDO_ODBC
PDO Driver for ODBC (unixODBC) => enabled
ODBC Connection Pooling => Enabled, strict matching
……
pdo_sqlsrv
pdo_sqlsrv support => enabled
ExtensionVer => 4.0.2.0
Directive => Local Value => Master Value
pdo_sqlsrv.client_buffer_max_kb_size => 10240 => 10240
pdo_sqlsrv.log_severity => 0 => 0
……
sqlsrv
sqlsrv support => enabled
ExtensionVer => 4.0.2.0
Directive => Local Value => Master Value
sqlsrv.ClientBufferMaxKBSize => 10240 => 10240
sqlsrv.LogSeverity => 0 => 0
sqlsrv.LogSubsystems => 0 => 0
sqlsrv.WarningsReturnAsErrors => On => On
……

[root@dev ~]# cat /web/test.php

«;
} catch ( PDOException $e ) {
echo ‘The connection failed: ‘ . $e->getMessage ();
}
?>

result:
The connection failed: could not find driver.

[root@dev ~]# cat /usr/local/php/etc/php.ini
……
date.timezone = PRC
include_path = «/usr/local/php/lib/php»
extension=php_sqlsrv_7_nts.so
extension=php_pdo_sqlsrv_7_nts.so
zend_extension=opcache.so

Configure Command:
./buildconf —force
./configure LIBS=-lodbc
—prefix=/usr/local/php
—with-apxs2=/usr/local/httpd/bin/apxs
—with-config-file-path=/usr/local/php/etc
—enable-pdo
—with-mysqli=/usr/local/mysql/bin/mysql_config
—with-pdo-mysql=mysqlnd
—with-pdo-oci=instantclient,/usr,12.1.0.2
—with-oci8=instantclient,/usr/lib/oracle/12.1/client64/lib,12.1.0.2
—with-unixODBC=/usr
—with-pdo-odbc=unixODBC,/usr
—with-sqlite3
—with-pdo-sqlite
—with-iconv=/usr/local/libiconv
—with-zlib=/usr/local/zlib
—with-zlib-dir=/usr/local/zlib
—with-openssl=/usr/local/ssl
—with-pcre-dir=/usr/local/pcre

or

./buildconf —force
./configure LIBS=-lodbc
—prefix=/usr/local/php
—with-apxs2=/usr/local/httpd/bin/apxs
—with-config-file-path=/usr/local/php/etc
—enable-pdo=shared
—with-mysqli=/usr/local/mysql/bin/mysql_config
—with-pdo-mysql=shared,mysqlnd
—enable-mysqlnd
—with-sqlite3=shared,/usr/local/sqlite3
—with-pdo-sqlite=shared,/usr/local/sqlite3
—with-pdo-oci=shared,instantclient,/usr,12.1.0.2
—with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client64/lib,12.1.0.2
—with-unixODBC=shared,/usr
—with-pdo-odbc=shared,unixODBC,/usr
—with-iconv=/usr/local/libiconv
—with-zlib=/usr/local/zlib
—with-zlib-dir=/usr/local/zlib
—with-openssl=/usr/local/ssl
—with-pcre-dir=/usr/local/pcre

[root@dev ~]# httpd -V
Server version: Apache/2.4.23 (Unix)
Server built: Aug 8 2016 01:24:13
Server’s Module Magic Number: 20120211:61
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with….
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT=»/usr/local/httpd»
-D SUEXEC_BIN=»/usr/local/httpd/bin/suexec»
-D DEFAULT_PIDLOG=»logs/httpd.pid»
-D DEFAULT_SCOREBOARD=»logs/apache_runtime_status»
-D DEFAULT_ERRORLOG=»logs/error_log»
-D AP_TYPES_CONFIG_FILE=»conf/mime.types»
-D SERVER_CONFIG_FILE=»conf/httpd.conf»

The test URL:
http://i-up.vicp.cc/info.php
http://i-up.vicp.cc/pdo-test.php

Compiled into static or dynamic modules can not solve this problem.
The problem has been bothering me for a lot of days. Hope to get your help.thanks.

Я только что установил Debian Lenny с Apache, MySQL и PHP, и я получаю PDOException could 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?

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

4b9b3361

Ответ 1

Вам нужен модуль pdo_mysql. Поиск следующего в phpinfo(),

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

Ответ 2

В вашем коде 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

Ответ 3

Обновление: более новые версии должны использовать пакет php-sqlite3 вместо 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), вам просто нужно запустить строки выше, и тогда вам будет хорошо идти.

Ответ 4

Для более новых версий Ubuntu с PHP 7.0 вы можете получить пакет php-mysql:

sudo apt-get install php-mysql

Затем перезагрузите сервер:

sudo service apache2 restart

Ответ 5

На моей машине с Windows мне пришлось указать абсолютный путь к расширению dir в моем php.ini:

extension_dir = "c:\php5\ext"

Ответ 6

Я была такая же проблема. Решение зависит от ОС. В моем случае у меня есть Debian, поэтому для его решения:

  • Обновил мою версию php с (php5 до php7)
  • Установите php-mysql и php7.0-mysql

    apt-get install php-mysql
    apt-get install php7.0-mysql
    
  • Я отредактировал свой php.ini в /etc/php/7.0/apache2/php.ini

    uncomment the line : extension=php_pdo_mysql.dll
    
  • Затем перезапустите Apache:

    service apache2 restart
    

Это решает мою проблему

Ответ 7

В Ubuntu просто выполните

sudo apt-get install php5-mysql

Ответ 8

sudo apt-get install php-mysql 

хорошо работал на ubuntu и php 7

Ответ 9

Вы проверили свой php.ini(проверьте правильность расположения с помощью phpinfo()), если MySQL и драйвер установлены правильно?

Ответ 10

При добавлении их в ваш php.ini убедитесь, что ссылка php_pdo.dll является первой до dll-драйверов db, иначе это также вызовет это сообщение об ошибке. Добавьте их так:

[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll

Ответ 11

Для PHP 5.5 on CentOS я исправил это, установив пакет php55-mysqlnd.

sudo yum -y install php55w-mysqlnd # For Webtatic
sudo yum -y install php55u-mysqlnd # For Remi

Для помощи в установке, напишите комментарий, поскольку он зависит от способа установки PHP в вашей системе. Доступные репо — webtatic и remi.

Ответ 12

Я провел последний день, пытаясь понять, почему я получил следующую ошибку. Я запускаю Ubuntu 14.04.

Проблема:
Я заметил, что моя версия PHP-CLI запускала php7.0, но php_info() (веб-версия) отображала php 5.5.9. Несмотря на то, что php_info() сказал, что pdo включен, использование командной строки (CLI) не распознает команду pdo_mysql. Оказывается, mysql был включен для моей старой версии, но не для версии CLI. Все, что я сделал, это установить mysql для php7.0, и он смог работать.

Это то, что сработало:

Чтобы проверить версию:

php -v

Чтобы установить mysql для php7.0

sudo apt-get install php7.0-mysql

1) убедитесь, что ваша версия CLI такая же, как ваша веб-версия
2) Если они отличаются друг от друга, убедитесь, что ваша версия CLI имеет подключаемый модуль mysql, поскольку он не поставляется с ним по умолчанию.

Ответ 13

для Windows 8.1/10 в файле:\\php.ini вы должны раскомментировать строку «extension = pdo_mysql»

Ответ 14

Проверьте, доступен ли модуль с php -m | grep pdo_mysql php -m | grep pdo_mysql.

Если нет, для PHP 7.2 вы можете установить соответствующий пакет с помощью sudo apt install php7.2-mysql.

Используйте аналогичную команду в других версиях PHP и менеджерах пакетов.

Ответ 15

В моем случае моя строка DSN была неправильной, в частности, она не содержала mysql://. Я бы ожидал другого сообщения об ошибке, возможно, что-то вроде строки DSN не указывает драйвер/протокол.

Добавление mysql:// в начало строки DSN устраняет проблему.

Ответ 16

Проверьте правильность установки extension_dir в файле конфигурации php. Попробуйте прокомментировать/раскомментировать некоторые расширения и посмотреть, отразилось ли это на phpinfo().
Если это не так, либо файл конфигурации php не может быть загружен (неправильное местоположение). Extension_dir комментируется или устанавливается в неправильное местоположение.

Ответ 17

Проблема заключается в отсутствии библиотеки php в mysql. В CentOs я исправил его, запустив
  # yum install php-mysql, а затем перезапуск apache с помощью # /bin/systemctl restart httpd.service Обратите внимание, что именование немного отличается от дистрибутивов, основанных на debian/ubuntu, php- > php5 и httpd- > apache2.

Ответ 18

Я очень рекомендую mysqllnd вместо mysql из-за того, что у вас будет много проблем, таких как преобразование числа и тип бит, и проблема с расширением mysql.

на ubuntu install mysqllnd со следующей командой:

sudo apt-get install php5-mysqlnd

Ответ 19

Я исправил эту проблему на своем Debian 6.
Обычно я только что установил пакет php5-common. После установки вам необходимо перезапустить веб-сервер (apache или nginx в зависимости от того, какой из них вы установили).
Затем я просто делаю lsof на id процесса apache (lsof -p process_id) следующим образом:

sudo lsof -p 1399   #replace 1399 by your apache process id
apache2 1399 root  mem    REG  254,2    80352 227236 /usr/lib/php5/20090626/xmlrpc.so
apache2 1399 root  mem    REG  254,2   166496 227235 /usr/lib/php5/20090626/suhosin.so
apache2 1399 root  mem    REG  254,2    31120 227233 /usr/lib/php5/20090626/pdo_mysql.so
apache2 1399 root  mem    REG  254,2   100776 227216 /usr/lib/php5/20090626/pdo.so
apache2 1399 root  mem    REG  254,2   135864 227232 /usr/lib/php5/20090626/mysqli.so

Как вы можете видеть выше, модули устанавливаются на пути к файлу, который неизвестен или управляется общим путем библиотеки:/ usr/lib/php5/20090626/. Для вашей установки это может быть другое, но только путь к pdo_mysql.so, pdo.so, mysqli.so. Вот почему Drupal или любой другой php-движок не смогли найти библиотеку и показали, что ошибка: PDOException: could not find driver

Я просто не знаю, почему он установлен на такой странный путь, для меня это просто ошибка в установке пакета библиотеки script в debian 6.
Я решил проблему, создав символический для всех файлов под /usr/lib/php5/20090626/, чтобы
/usr/lib/php5/ с помощью этой команды:

ln -s /usr/lib/php5/20090626/* /usr/lib/php5/

Ответ 20

У меня возникла такая же проблема после того, как я удалил пакет php5 (включая все драйверы), чтобы установить пакет php7. Я фактически установил пакет php7 без модуля mysql.

Мне удалось решить это, набрав терминал:

1) $apt-cache search php7
который перечисляет все модули, просматривая найденные модули,

php7.0-mysql — модуль MySQL для PHP

2) $sudo apt-get install php7.0-mysql

Что это. Это работало для меня в моей Linux-системе.

(используйте соответствующую версию php, ваш может быть php5)

Ответ 21

Просто еще одна вещь, чтобы подтвердить, что некоторые люди копируют/вставляют пример кода из Интернета, чтобы начать. Убедитесь, что вы здесь MySQL:

... $dbh = new PDO ("mysql: ...  

В некоторых примерах это показывает

$dbh = new PDO ("dblib ...

Ответ 22

У меня была такая же проблема во время тестов с отдельным php.ini. Мне пришлось добавить эти строки в свой собственный файл php.ini:

[PHP]
extension = mysqlnd.so
extension = pdo.so
extension = pdo_mysql.so

Примечание: точно в этом порядке

Ответ 23

В моем случае я использовал PDO с php-cli, и он работал нормально.

Только когда я попытался подключиться от apache, у меня возникла проблема с отсутствующим драйвером, что я не совсем понял.

Простой apt-get install php-mysql решил. (Ubuntu 16.04/PHP7. Кредиты идут к выбранному ответу и комментарию Ивана)

Надеюсь, это поможет.

Ответ 24

Для тех, кто использует Symfony2/3, и задается вопросом, почему вы получаете эту ошибку. Если вы используете «mapping_types» , вы можете столкнуться с этой ошибкой. Причина в том, что «mapping_types» помещен на неправильном уровне. Например:

doctrine:
  dbal:
    mapping_types:
        set: string

Это «mapping_types» должно быть размещено на этом уровне:

doctrine:
dbal:
    #To counter the error caused by 'mapping_types'
    connections:
        default:
            server_version: %database_server_version%
            mapping_types:
                set: string

Я надеюсь, что это поможет

Я нашел решение здесь: https://github.com/doctrine/DoctrineBundle/issues/327

Ответ 25

Куда бы я ни пошел, я читал, что путь extension_dir должен быть изменен с ext на абсолютный путь. Это сработало для меня. Однако, когда я пытался собрать сервер моего коллегиного ПК, мне пришлось допустить значение ext вместо указания абсолютного пути.

Если вы указали абсолютный путь, и он все еще не найден, попробуйте как абсолютный путь, так и ext.

Ответ 26

Некорректная установка PHP

Я испытывал ту же проблему. И я надеюсь, что это поможет кому-то, кто сталкивается с такой же проблемой, как я.

сценарий

OS = Windows 10  
Platform = XAMPP  
PHP Version = 7 (Multiple Version seem to have been installed in the PC)  

Я создал phpinfo.php файл в public папке и запустить phpinfo(), чтобы посмотреть на место моего php.ini файла.

Расположение PHP.ini = c:\xampp\php\php.ini

проблема
Вызов c:\xampp\htdocs> php -v вернул PHP 7.2.3 но phpinfo.php показал PHP 7.2.2.

Решение
Вместо звонка

php artisan migrate:install   

который дал мне эту ошибку, я использовал

c:\xampp\php\php artisan migrate:install

и это сработало.

Ответ 27

Проверьте правильный путь в extension_dir в вашем phpinfo().

Ответ 28

PHP Fatal error:  Uncaught PDOException: could not find driver

Я боролся и боролся с «apt install php-mysql php7toInfinity и не забывал sqlite-what-ever’s» и просто не мог избавиться от этого сообщения об ошибке, пока не вернулся к основам и не сбросил разрешения для файлов на рассматриваемый веб-сайт.

Эти 3 команды сбрасывают права доступа к файлам и папкам на веб-сайте и заставляют его снова работать.

cd /var/www/web-site-name.com/web/

# find (sub) directories and change permissions
find . -type d -exec chmod 755 {} \;

# find files and change permissions
find . -type f -exec chmod 664 '{}' \;

Ответ 29

$DB_TYPE = 'mysql'; //Type of database<br>
$DB_HOST = 'localhost'; //Host name<br>
$DB_USER = 'root'; //Host Username<br>
$DB_PASS = ''; //Host Password<br>
$DB_NAME = 'database_name'; //Database name<br><br>

$dbh = new PDO("$DB_TYPE:host=$DB_HOST; dbname=$DB_NAME;", $DB_USER, $DB_PASS); // PDO Connection

Это сработало для меня.

Ответ 30

У меня было то же исключение при попытке использовать pdo_sqlite. Проблема заключалась в том, что автоматически созданные символические ссылки 20-pdo_sqlite.ini и 20-sqlite3.ini/etc/php5/mods-enabled) были сломаны.

Удаление сломанных символических ссылок и их добавление вручную:

  • sudo ln -s /etc/php5/mods-avaliable/pdo_sqlite.ini /etc/php5/mods-enabled/20-pdo_sqlite.ini
  • sudo ln -s /etc/php5/mods-avaliable/sqlite3.ini /etc/php5/mods-enabled/20-sqlite3.ini

исправлена ​​проблема.

Примечание. Это не будет работать для старых версий php, поскольку они не искали configs в /etc/php5/mods-enabled

# Проблема

Любая попытка взаимодействия с базой данной завершается ошибкой:

[Illuminate\Database\QueryException] could not find driver

PDOException(code: 0): could not find driver at /Illuminate/Database/Connectors/Connector.php

# Причина

В окружении не установлены или не подключены расширения для базы данных.
Посмотреть список установленных модулей можно командой php -m

# Решение

Установить расширение php-pdo и

php-mysql для MySQL

php-pgsql для PostgreSQL

php-sqlite для SQLite

Для конкретной версии, например, 8.1:

Или автоматически для текущей:

Возможно понадобится перезапуск web-сервера. Обычно больше ничего не требуется, но если модули по какой-то причине
не подключились автоматически, то можно активировать вручную:

# Решение для Windows

Для Windows смысл тот же,
необходимо скачать
dll в директорию ext с расширениями,
но скорей всего необходимые модули уже присутствуют в сборке,
осталось только их подключить в php.ini

Для этого необходимо удалить символ ; в начале строк:

  • Unable to connect to the server by using windows powershell remoting
  • Unc paths are not supported defaulting to windows directory
  • Unable to execute command chcp please make sure that the c windows system32 directory
  • Unarc dll скачать для windows 7 x64 код ошибки 7
  • Ummy video downloader windows 10 ключом