Я не могу использовать «новый PDO ()», так как я получаю это сообщение об ошибке «не могу найти драйвер».Я использую hostgator, и работал с ними интенсивно, но безрезультатно.
Я обновил свою версию PHP до 7.0.25, проверил настройки php.ini по умолчанию (hostgator использует файл php.ini по умолчанию для печенья для всех своих клиентов ... если вы не создадите свой собственныйфайл php.ini, в этом случае пользовательская версия переопределяет).Я просмотрел свои результаты phpinfo (), и все выглядит хорошо (если я что-то упустил).Я включил свой сценарий и фрагменты моих настроек файла php.ini и результатов phpinfo ().
Настройки файла PHP.ini:
[Pdo];Нужно ли объединять ODBC-соединения.Может быть «строгим», «расслабленным» или «выключенным»;http://php.net/pdo-odbc.connection-pooling; pdo_odbc.connection_pooling = строгий
; pdo_odbc.db2_instance_name
[Pdo_mysql];Если используется mysqlnd: Количество слотов кеша для внутреннего кеша результирующих наборов;http://php.net/pdo_mysql.cache_size pdo_mysql.cache_size = 2000
;Имя сокета по умолчанию для локальных подключений MySQL.Если пусто, использует встроенный;MySQL по умолчанию.;http://php.net/pdo_mysql.default-socket pdo_mysql.default_socket =
phpinfo () результаты:
Драйверы PDO: mysql, sqlite
Версия API клиента: 5.6.41-84.1
Директива: pdo_mysql.default_socket
Локальное значение: /var/lib/mysql/mysql.sock
Основное значение: /var/lib/mysql/mysql.sock
<?php
$host = "localhost";
$user = "ABC";
$pw = "123";
$dbName = "XYZ";
$dsn = 'msql:host=' . $host . ';dbname=' . $dbName;
$pdo = new PDO($dsn,$user,$pw); // this is the line that the error refers to
$eml = $_POST['data'];
$newPassword = $_POST['data1'];
$cnewPassword = $_POST['data2'];
$query = $pdo->query("SELECT * FROM accounts WHERE email = $eml") or die(mysql_error());
$row = $query->fetch(PDO::FETCH_ASSOC);
if($row > 0) {
echo "GOOD";
} else {
echo "BAD";
};
?>
Я должен получить эхо "ХОРОШО", но все, что я продолжаю получать, это ошибка "Не удалось найти драйвер".Одна важная вещь, чтобы отметить;Я заметил, что версия PHP, которую hostgator использовал для обновления, была версией NON THREAD SAFETY ... hostgator использует серверы APACHE, и я узнал, что с серверами APACHE будут работать только версии THREAD SAFE.Это может быть проблемой, но не уверен на 100 процентов.Буду очень признателен за любой вклад / совет!