Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14
  1. #1
    Anwender
    Registriert seit
    08.04.2020
    Beiträge
    5

    Standard PHP MySQLi Connection Refused vHost

    Hallo Zusammen

    Ich habe meine Website offline programmiert und alle moeglichen Datenbankzugriffe funktionieren in der "Simulation" auf dem PC.
    Nun wollte ich heute die Website auf mein Synology NAS hochladen und jetzt stehe ich vor einem
    "Warning: mysqli_connect(): (HY000/2002): Connection refused in /volume1/vHost/php/initialfetch.php on line 7".

    In dieser besagten Linie 7 befindet sich folgender Code, mit dem ich die Datenbankverbindung herstelle:
    PHP-Code:
        $conn mysqli_connect($servername$username$password$db_name); 
    Fuer die entsprechenden Parameter habe ich folgende Werte zugewiesen:
    PHP-Code:
        $servername "192.168.1.135:3307";
        
    $username "root";
        
    $password "meinPasswort";
        
    $db_name "hypnoticseals"
    Ich habe fuer den Parameter $servername folgende Eintraege versucht: localhost, localhost:3306, localhost:3307, 192.168.135:3306
    ("192.168.1.135" entspricht der IP die in meinem lokalen Netzwerk dem Synology NAS vergeben wurde).

    Der virtuelle Host laeuft mit Apache HTTP Server 2.2 und PHP 7.0.

    Hat da jemand von euch bereits Erfahrungen mit gemacht und/oder kann mir bei diesem Fehler weiterhelfen?

    Gruesse,
    Andreas

  2. #2

    Standard

    Connection refused heißt schlicht => Verbindung abgelehnt.

    Den Standardport muss man nicht angeben. Die Portangabe ist nur zu machen, wenn eben nicht der Standardport benutzt wird. Soviel dazu. Mit nur localhost muss das funktionieren.

    Hast du mal probiert zum Testen einfach mal die Firewall der Syno abzuschalten? Wenn's danach geht, dann musst du das in der Firewall noch konfigurieren. Bitte nicht abgeschaltet lassen! Das wäre mein Tipp warum es nicht geht. Denn wenn der Login falsch wäre, würde die Meldung auch anders lauten. Hier ist es klar ein Verbindungsproblem.

    Und du bist dir auch sicher, dass der MySQL Server läuft?
    Geändert von DustFireSky (08.04.2020 um 23:53 Uhr)

  3. #3
    Anwender
    Registriert seit
    08.04.2020
    Beiträge
    5

    Standard

    Vielen Dank für deine Überlegungen!

    Der Standardport ist nach meiner Recherche die 3306 aber ich nutze MariaDB 10 für den Datenbankserver. Das habe ich vergessen zu erwähnen. Und dieser Server gibt an, dass er den Port 3307 benutzt -> deshalb habe ich auch beide Ports getestet.

    Da ich einen virtuellen Host benutze und mein Datenbankserver nicht auf dem virtuellen Host läuft, dürfte ja localhost eigentlich nicht funktionieren. Da gab es bei mir dann auch einen anderen Fehler: "Warning... no such file or directory".

    Ich habe nun mal probiert die Firewall auszuschalten -> keine bemerkbaren Veränderungen.
    Habe dann die Firewall wieder aktiviert und eine Regel erstellt, dass die entsprechenden Ports der Datenbank(3307) und der vHost(443) zugelassen sind (siehe Link) -> leider auch keinen Erfolg.
    http://prntscr.com/rvx9dc

    Der Datenbankserver läuft ohne Probleme: D.h. ich kann mich via phpmyadmin in das Interface einloggen und auf alle Datenbanken und Datensätze zugreifen.

    Update: Ich habe bei den Settings für MariaDB 10 zwischen den Ports 3306 und 3307 gewechselt und habe unterschiedliche Fehlermeldungen bekommen:
    3307: "Warning... connection refused" (gleicher Fehler wie ursprünglich)
    3306: "Warning: Packets out of order. Expected 0 received 1. Packet size=78 in /volume1/vHost/php/initialfetch.php on line 7"


    Gruss
    Geändert von Andreas_J (09.04.2020 um 09:05 Uhr)

  4. #4

    Standard

    Zitat Zitat von Andreas_J Beitrag anzeigen
    Vielen Dank für deine Überlegungen!

    Da ich einen virtuellen Host benutze und mein Datenbankserver nicht auf dem virtuellen Host läuft, dürfte ja localhost eigentlich nicht funktionieren. Da gab es bei mir dann auch einen anderen Fehler: "Warning... no such file or directory".
    Ja klar, der virtuelle Host ist wahrscheinlich für deine Webseite, richtig? Ich verstehe trotzdem nicht, wie du darauf kommst, das dann deshalb localhost nicht funktionieren soll. Ich finde es vor allem interessant, das dann eine andere Meldung präsentiert wird, wenn du die Verbindungsdaten in deiner initialfetch.php Datei nach localhost änderst. Welchen Ordner oder Datei findet er denn dann nicht? versuchst du in den PHP Dateien irgendwelche Ordner/Dateien zu includen? Denn wenn das der Fall ist, so hat die DB Verbindung doch funktioniert und das Script ist weiter gelaufen. Ich kenne natürlich jetzt auch deine Scripte nicht und was diese nun genau machen. Aber dann wäre dies schlicht ein anderes Problem und das DB Problem ist schon gegessen.

  5. #5
    Anwender
    Registriert seit
    08.04.2020
    Beiträge
    5

    Standard

    Der virtuelle Host ist für die Website, ja. Es kann sein, dass ich da etwas falsch verstanden habe und localhost trotzdem funktioniert.
    Auf jedenfall kommt dann wie gesagt die Fehlermeldung, dass ein directory nicht gefunden werden kann: "Warning: mysqli_connect(): (HY000/2002): No such file or directory in /volume1/vHost/php/initialfetch.php on line 7"

    Das komplette PHP Skript sieht wie folgt aus:

    PHP-Code:
    <?php
        $servername 
    "localhost";
        
    $username "root";
        
    $password "meinPasswort";
        
    $db_name "hypnoticseals";

        
    $conn mysqli_connect($servername$username$password$db_name);

        if (
    $conn->connect_error) {
            die(
    "Connection failed: " $conn->connect_error);
        }

                                
    /* Startseite */
                            /* Matchcard 1 */
        
    $m1req "SELECT * FROM matches ORDER BY matchid DESC LIMIT 1";
        
    $m1res mysqli_query($conn,$m1req);
        
    $m1data mysqli_fetch_assoc($m1res);
        }

                                
    /* Matches */
        
    $archreq "SELECT * FROM matches ORDER BY matchid DESC LIMIT 10";
        
    $archres mysqli_query($conn$archreq);
        
    $archamt mysqli_num_rows($archres);

        for (
    $i=0$i<$archamt$i++) {
            
    $archdata mysqli_fetch_array($archres);
            
    $archarray[] = array (
                
    => $archdata[0],
                
    => $archdata[1],
                
    => $archdata[2],
                
    => $archdata[3],
                
    => $archdata[4],
                
    => $archdata[5],
                
    => $archdata[6],
                
    => $archdata[7],
                
    => $archdata[8],
            );
        }
    ?>
    Welchen Ordner oder Datei findet er denn dann nicht? versuchst du in den PHP Dateien irgendwelche Ordner/Dateien zu includen?
    Ich versuche keine externen Dateien zu includen, deshalb dachte ich, dass er das directory für die Datenbank nicht findet, auf das er zugreifen will, weil dieses nicht in volume1/vHost/ befindet sondern volume1/web/ .

  6. #6
    Anwender Avatar von MikeZulu
    Registriert seit
    04.05.2016
    Beiträge
    93

    Standard

    Versuchs mal mit folgendem Call (PHP 7.x):

    $conn = new mysqli($dbHost, $dbUser, $dbPswd, $dbName, $dbPort)

    Ich gehe davon aus, dass der entsprechende DB-User mit dem korrekten Kennwort in MaiaDB definiert ist.

    Für MariaDB 10 verwende ich ich 3307
    DS415+: INTEL Atom C2538, 2.4 GHz, RAM: 2GB, HD: 4 x 3GB WD30ERFX, Raid 5
    OS: DSM 6.2.2-24922 Update 3
    USV: APC 750
    Router: UniFi USG 3P
    Switch: UniFi Switch-16-150W
    Access Point: UniFi AP-HD
    PI-Hole/UniFi Network Mgmt Ctrl: Raspberry Pi 3 Model B
    Backup: Hyper Backup auf Thecus N5200 (Raid 5) & Synology C2

  7. #7
    Anwender
    Registriert seit
    08.04.2020
    Beiträge
    5

    Standard

    Hi MikeZulu

    Ich habe den Call mal zu deiner Version geändert und die Parameter angepasst. Es gibt mir stets den gleichen Fehler:
    Warning: mysqli::__construct(): (HY000/2002): No such file or directory in /volume1/vHost/php/initialfetch.php on line 8

    Ich gehe davon aus, dass der entsprechende DB-User mit dem korrekten Kennwort in MaiaDB definiert ist.
    Ja, dem User root ist das entsprechende PW zugewiesen.

    Den Port habe ich in der Zwischenzeit in der MariaDB 10 Konfiguration ändern können und habe den auf 3306 setzen können.

  8. #8
    Anwender
    Registriert seit
    07.11.2018
    Beiträge
    13

    Standard

    Hatte das gleiche Problem und bei mir hat geholfen, 127.0.0.1 anstelle von localhost zu benutzen.

  9. #9
    Anwender
    Registriert seit
    08.04.2020
    Beiträge
    5

    Standard

    Hallo Blackway,

    vielen Dank für deinen Input! Ich habe das Problem gestern wieder versucht zu fixen und bin dann zufällig wieder auf den Post hier gestossen ^^
    Anstelle von localhost die 127.0.0.1 zu nutzen hat geholfen

    Gruss,
    Andreas

  10. #10
    Anwender
    Registriert seit
    25.11.2018
    Beiträge
    105

    Standard

    hat mich auch gewundert wieso man 127.0.0.1 eintragen muss wieso geht das nicht wie üblich über localhost oder über die IP die ich der DS zugeteilt habe?
    Wo ist da das Problem?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Zugriff auf phpMyAdmin - Connection refused
    Von smolo im Forum Installation und Konfiguration allgemein
    Antworten: 4
    Letzter Beitrag: 20.10.2019, 07:44
  2. Maria DB - Connection refused
    Von bernd_ im Forum Sonstiges
    Antworten: 2
    Letzter Beitrag: 11.03.2018, 11:40
  3. Antworten: 1
    Letzter Beitrag: 01.11.2017, 06:38
  4. OSTicket und mysqli.php
    Von zariomahn im Forum Andere 3rd Party Anwendungen
    Antworten: 2
    Letzter Beitrag: 07.04.2016, 08:57
  5. Anmelden als Root -> Connection Refused
    Von Madlip im Forum Terminal-Dienste (Telnet, SSH) - Linux-Konsole
    Antworten: 29
    Letzter Beitrag: 21.01.2013, 19:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •