Ich versuche, mit PHP zu SQL Server zu verbinden. Ich habe den Microsoft ODBC-Treiber 13 für SQL Server installiert und habe ihn mit dem Befehl 'isql' getestet. Wenn ich jetzt versuche, eine Verbindung zum Server in PHP herzustellen, stürzt es immer ab und sagt "http-Fehler 500". Hier ist der Code:Aufruf zu undefinierter Funktion odbc_connect() in Ubuntu
<?php
$server = merkur.edikt.local;
$database = ITServiceE;
$connection = odbc_connect("Driver={ODBC DRIVER 13 for SQL Server};
Server=$server;Database=$database;",
'user',
'PW'
);
echo "connected";
?>
Ich bin mit Ubuntu 16.04 Server und Apache2 und PHP 7. ich denke, es mit Berechtigungen für die Apache-Problem sein könnte (wenn der Apache die ODBC-Treiber zugreifen kann), aber ich bin nicht wirklich sicher wie das geht. EDIT: Hier ist das Protokoll von Apache Fehler:
PHP Notice: Use of undefined constant merkur - assumed 'merkur' in /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant edikt - assumed 'edikt' in /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant local - assumed 'local' in /var/www/html/index.php on line 2
PHP Notice: Use of undefined constant ITServiceE - assumed 'ITServiceE' in /var/www/html/index.php on line 3
PHP Fatal error: Uncaught Error: Call to undefined function odbc_connect() in /var/www/html/index.php:4\nStack trace:\n#0 {main}\n thrown in /var/www/html/index.php on line 4
und die Datei odbc.ini ist leer und odbcinst.ini sieht wie folgt aus:
[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
Haben Sie sich die Apache Logs angeschaut? ('/ var/log/apache2/error.log' ist der Standard-Speicherort für Apache-Fehler, die unter Ubuntu 16.04 geloggt werden) Können Sie Ihre Frage bearbeiten und zeigen, was Sie in Ihrer'/etc/odbc.ini' und '/ etc/odbcinst.ini' Dateien? –
danke für Hinweis, ich habe die Frage bearbeitet –