PHP PDO Connection возвращает SQLSTATE [работает на терминале, но не в сети) - PullRequest
1 голос
/ 10 февраля 2020

Я пытаюсь выполнить запрос php (7.2) в базу данных Microsoft Access по моей сети в среде linux (Ubuntu 18.04). Я использую Nginx в качестве веб-сервера и MDBTools в качестве драйвера. Я настроил DSN odb c .ini и odbcinst.ini и попробовал несколько способов доступа к базе данных. «Панель инструментов» в строке подключения - это имя моего DSN.

Это мой php скрипт запроса:

<html>
<body>
<?php


try{
    $conn = new PDO('odbc:dashboard');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e){
    die("Could not access database. <br> Error: $e");
}
echo "<p>";
$problems = $conn->prepare("SELECT * FROM tbl_PlanetSections");
$problems->execute();
$result = $problems->fetchColumn();
var_dump($result);

echo "</p>";
?>
</body>
</html>

Когда я запускаю $ php Query.php в моем терминале, скрипт выполняется как положено Когда я загружаю свою страницу в веб-сервер nginx, я получаю эту ошибку:

PDOException: SQLSTATE [00000] SQLConnect: 0 в / srv / me / www/Query.php: 8 Трассировка стека: # 0 / srv / me / www/Query.php (8): PDO -> конструкция __ ('odb c: панель инструментов') # 1 {main}

Ничего после строки 8 (строки, которую я инициализация нового PDO) выполняется из-за попытки / отлова, заканчивающей мой скрипт.

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

Спасибо

...