PHP ODBC к серверу MIcrosoft sql работает только из командной строки, не работает в APACHE - PullRequest
0 голосов
/ 02 февраля 2019

Когда я запускаю php из командной строки, это работает отлично, и мой запрос выполняется без проблем.ЕСЛИ я получаю доступ через Интернет, хотя время ожидания истекает.

function query_sql2($query,$ar,$results =1)
{
global $hostname,$username,$password;
$mssqldriver = '{ODBC Driver 17 for SQL Server}';
//$mssqldriver = '{ODBC Driver 13 for SQL Server}';
$dbname='unclaimed';

$odbc="odbc:Driver=$mssqldriver;Server=$hostname;Database=$dbname;";


$result = array();

try {
$dbDB = new PDO($odbc, $username, $password);
$dbDB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    if($dbDB)
    { 
        //echo "Connected!";

        $sql = "set ANSI_WARNINGS on
set ANSI_PADDING on
set ANSI_NULLS on
set ARITHABORT on
set QUOTED_IDENTIFIER on
set NOCOUNT on
set ANSI_NULL_DFLT_ON on
set CONCAT_NULL_YIELDS_NULL on
".$query;
         $query = $dbDB->prepare($sql);
            $query->execute($ar);
            if($results ==1)
            {
            $result = $query -> fetchAll(PDO::FETCH_ASSOC);
            }

    }
}
    catch(Exception $e) {
    echo 'Exception -> ';
    var_dump($e->getMessage());
}
//$sth = null;
$dbDB = null;

return $result;
}

print_r(query_sql2("exec signedDocument.dbo.sp_signeddocument_modify ;",[],1));

Но если я запускаю через свой Apache, я получаю эту ошибку SQLSTATE [HYT00] SQLDriverConnect: 0 [unixODBC] [Microsoft] [Драйвер ODBC 17 для SQL Server] Время ожидания входа истекло

Я чамод 777 в и т. Д. И в opt / Microsoft, которая нет нет, но ничего не работает.Вот мой вывод из odbcinst -j

DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

И, наконец, мой odbcinst.ini (ни один из этих файлов не указан выше)

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.2.so.0.1
UsageCount=1

Не знаю, что ещепопробовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...