Ich habe einen Server bei Digital Ocean und versuche, eine benutzerdefinierte PHP-Anwendung auszuführen. Auf meiner Entwicklungsmaschine: Mac OSX 10.7.5 PHP: 5.3.6 mit mysql, mysqli, mysqlnd, pdo mysql
Aber auf dem Server: Ubuntu 12.04 PHP: 5.3.10
mit mysql, mysqli und pdo mysql
Ich benötige mysqlnd, um meine App auszuführen. Wenn ich es versuche
%Vor%es gibt Fehler:
%Vor%Wenn ich es installiere, bricht mein App-Code, da er viele mysqli-Befehle verwendet.
Ich habe viele stackoverflow-Fragen zum selben Thema durchsucht und verfolgt, aber alles vergebens. Allerdings habe ich die Konfigurationsoption
nicht ausprobiert %Vor%Ich weiß nicht, wie ich damit weitermachen soll und ich konnte keine Tutorials oder Artikel dazu finden.
Wie mein Entwicklungscomputer beides hat, konnte der Server nicht.
Bitte führen.
Wahrscheinlich müssen Sie die Erweiterung mysqlnd
aktivieren. Ich bin kürzlich auf dieses Problem gestoßen (alle Referenzen mysqli
wurden nach der Installation von php5-mysqlnd
unterbrochen) und behoben, indem ich die folgende Zeile am Ende meiner php.ini hinzufüge:
Sie finden den Speicherort Ihrer php.ini in der Ausgabe von phpinfo () .
Beachten Sie auch, dass Sie Ihren Webserver neu starten müssen, damit diese Änderungen wirksam werden.
Ich glaube, der "aktuelle" Weg dahin ist, das PHP-Modul nach der Installation zu aktivieren, ähnlich wie bei einem Apache-Modul: sudo php5enmod mysqlnd
Und dann Neustart Apache für das Modul zu laden: sudo service apache2 restart
Dadurch wird ein Symlink auf /etc/php5/apache2/conf.d/
von /etc/php5/mods-available/
erstellt, den Apache mit Prioritäten aufnimmt und lädt, wie z. B. Dienste beim Start. Nach meiner Erfahrung erstellt Ubuntu 14 LTS einen Symlink namens 10-mysqlnd.ini aus mysqlnd.ini .
Hier ist ein Link für eine detailliertere Erklärung zu dem Thema.