Ubuntu Server 17.10 PhP7.1 Connect MSSQL Datenbank!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ubuntu Server 17.10 PhP7.1 Connect MSSQL Datenbank!

    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

  • #2
    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/confi...7.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:

    PHP-Code:
    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_rsqlsrv_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
    Zuletzt geändert von Hauser; 22.11.2018, 10:58.

    Kommentar

    Lädt...
    X