php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Ubuntu Server 17.10 PhP7.1 Connect MSSQL Datenbank!


 
Hauser
21-11-2018, 18:05 
 
Hallo Leute.


Gleich vor Weg, Server sind nicht mein Ding und das Einrichten schon gar nicht. Habe es zwar schon gemacht, aber wie ich das gemacht habe, weiß ich manchmal selbst nicht mehr,


Ich habe bislang zwei Server zum lauffen bekommen:


1. Windows 7 mit einem Xampp PHP 5.6 und einer MySql Datenbak
2. Ubuntu Server 15.10 PhP 5.6 MySql Datenbank, PhpMyAdmin, Curl usw.


Beide Systeme haben einen Connect zu einer externer MSSQL Server 2012 Datenbank unter Windows 7.


Xampp greift über den sqlsrv_connect auf die Datenbank zu und der ubuntu Server ist es ein mssql_connect.


Nun zu meiner neuen Aufgabe, an der ich so langsam verzweifle.


Ich möchte gerne das gesamte System auf den neusten Stand bringen und alles uner einem neuen Server (HP ILO4) zusammenfassen.


Meine Überlegung daher ein Ubuntu 17.10 oder 18, eine PHP7.1 oder 7.2 usw.


Ich habe nun schon mehrfach versucht den Connect von dem Ubuntu Server 17.10 zu dem MSSQL Server herzustellen, ober das klappt nicht.


Ich weiß nicht mal, wie ich den richtigen Treiber finde. Suche mich schon im Netz wund, aber da ist so viel erklärt, das mir so langsam der Kopf glüht...


Offenbar gibt es eine Reihe von Möglichkeiten, odbc, sqlserv oder freetds.
Der alte mssql.so funktioniert glaub ich nur bis php 5.6, wenn ich mich nicht irre.


Hat jemand Lust und Zeit mir zu helfen. Ich komme einfach nicht vorwärts und es frustriert auch da ich meine eigenliche Arbeit das Programmieren solange hinten anstellen muss, bis ich einen funktionierenden Server ausgesetzt bekomme.


Danke

 
Hauser
22-11-2018, 10:49 
 
So ich hab mich jetzt noch mal rangesetzt und das ganze dokumentiert:


1. Ubuntu 17.10 server installiert

2. Statische IP setzen
sudo nano /etc/netplan/*.yaml
network: version: 2
renderer: networkd
ethernets:eno1:
dhcp4: no
dhcp6: no
addresses: [192.168.2.75/24]
gateway4: 192.168.2.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
sudo netplan --debug apply
sudo netplan apply

3. Installieren von PHP 7.1
sudo susudo add-apt-repository ppa:ndrej/php
sudo apt-get update
sudo apt-get -y install php7.1 mcrypt php7.1-mcrypt php-mbstring php-pear php7.1-dev php7.1-xml

4. Installieren FTP und Rechte
Install FTP
sudo apt-get install vsftpd
sudo nano /etc/vsftpd.conf --> write_enable=YES local_unmask=022

User Rechte vergeben
sudo adduser $USER www-data
sudo chown $USER:www-data -R /var/www/
sudo chmod u=rwX,g=srX,o=rX -R /var/www/

5. Install Microsoft ODBC Driver 17 for SQL Server requirements
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/17.10/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
sudo apt-get install unixodbc-dev

6. Copy und Activieren des Treibers

php_sqlsrv_71_nts.so ins verzeichnis /usr/lib/php/20160303/

echo "extension=php_sqlsrv_71_nts.so" | sudo tee -a /etc/php/7.1/cli/php.ini > /dev/null
--------------------------------------------------------------------------------------------


php -m
Der Treiber wird geladen

Nun der Verbindungsaufbau über php:

define("ILS_HOST","192.168.2.70\JTLWAWI");
define("ILS_NAME","Mandant_2");
define("ILS_USER","sa");
define("ILS_PASS","******");

$connectionInfo = array('Database'=>ILS_NAME,'UID'=>ILS_USER,'PWD'=> ILS_PASS);
$conn1 = sqlsrv_connect(ILS_HOST, $connectionInfo);


if( $conn1 === false ){
echo "Could not connect.\n";
echo "<pre>";
die( print_r( sqlsrv_errors(), true));
echo "</pre>";
}
else{
echo "Connection Online";
} Array ( [0] => Array ( [0] => HYT00 [SQLSTATE] => HYT00 [1] => 0 [code] => 0 [2] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired [message] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired ) [1] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 258 [code] => 258 [2] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x102 [message] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x102 ) [2] => Array ( [0] => 08001 [SQLSTATE] => 08001 [1] => 258 [code] => 258 [2] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [message] => [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. ) )


An dem Punkt geht es für mich nicht weiter.

Was hab ich vergessen, nicht beachtet oder falsch konfiguriert.

Danke


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:57 Uhr.