Installation von php5-mysqlnd

  • Hallo liebe Community,


    ich bin vor ein paar Tagen mit einer Website auf meinen eigenen vServer umgezogen und bekomme jetzt immer folgende Fehlermeldung in PHP:

    PHP
    Fatal error:  Call to undefined method mysqli_stmt::get_result()


    Laut ein paar Internetquellen liegt das an dem fehlenden PHP MySQL native driver.
    Bei der Installation per 'apt-get install php5-mysqlnd' würden jedoch die Pakete php5-mysql und froxlor automatisch deinstalliert werden.


    Um php5-mysql mache ich mir keine Sorgen, da dieses Paket meines Wissens nach veraltet ist und alle Features auch von mysqlnd unterstützt werden. Jedoch scheint es mir eine schlechte Idee zu sein, froxlor deinstallieren zu lassen.
    Internetquellen zufolge soll auch der Download per 'apt-get download' und die Installation per dpkg auch nicht der richtige Weg zu sein, da apt-get in Zukunft immer Fehlermeldungen aufgrund der nicht erfüllten Abhängigkeiten ausgeben würde.


    Gibt es noch eine andere Möglichkeit, php5-mysqlnd zu installieren, ohne froxlor zu deinstallieren, per dpkg zu installieren oder PHP mit mysqlnd neu zu kompilieren?


    Schon mal danke für die Hilfe,
    Haggi

  • Offenbar hast du die mysqli-Erweiterung nicht aktiviert.

    Laut PHPinfo() ist der Mysqli Support aktiviert, folgende Zeilen Code funktionieren auch:

    PHP
    $mysql = new mysqli($db_host, $db_user, $db_password, $db_database);
    $partys = NULL;
    $res_partys = $mysql->query("SELECT * FROM party ORDER BY begin");
    while($row_partys = $res_partys->fetch_array()) {
    	$partys[] = $row_partys;
    }
    $count_reg = $mysql->prepare("SELECT COUNT(*) FROM guestlist WHERE partyid = ?");
    $count_reg->bind_param('i', $party['partyid']);
    $count_reg->execute();


    Erst diese Zeile macht Probleme:

    PHP
    $count_res = $count_reg->get_result();
  • Mein Problem ist ja, dass die Installation von mysqlnd per

    Code
    apt-get install php5-mysqlnd

    automatisch das Paket Froxlor, also mein Server Management Panel, entfernen würde.

  • Ich habe es jetzt geschafft php5-mysqlnd zu installieren, ohne Froxlor zu entfernen und die Ursache gefunden, warum Froxlor hätte entfernt werden sollen: Froxlor hängt selbstverständlich von php5-mysql ab, aber apt-get erkennt nicht, dass es auch zu php5-mysqlnd kompatibel ist. Somit musste ich php5-mysqlnd mit

    Code
    apt-get download php5-mysqlnd

    herunterladen und mit

    Code
    dpkg -i --ignore-depends=froxlor php5-mysqlnd_5.4.4-14+deb7u7_amd64.deb

    installieren.