Ich hatte PHP aus dem Quellcode auf PPC64LE mit CentOS installiert. Ich hatte die MySQLi-Erweiterung während der Konfigurationsoptionen aktiviert. Für bestimmte Teile meiner Web-App-Entwicklung funktionierten die MySQL-Verbindungsfunktionen nicht. Ich habe gelernt, dass der native MySQL-Treiber die empfohlene Option für die Clientbibliothek ist, da er zu einer verbesserten Leistung führt und Zugriff auf Funktionen bietet, die bei Verwendung der MySQL-Clientbibliothek nicht verfügbar sind. Daher wollte ich den nativen Treiber von MySQL installieren, da er alle MySQL-Erweiterungen (d. h. MySQL, MySQLi und PDO_MySQL) unterstützt.
Wenn Sie die MySQLnd-Erweiterung nicht installiert haben, wird wahrscheinlich ein ähnlicher Fehler wie unten angezeigt:
PHP Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result()
Installieren Sie die MySQLnd-Erweiterung
Schritt 1 :Zum Installieren von mysqlnd
, navigieren Sie zu ext/mysqlnd
im PHP-Quellordner.
[root@terra-node-01 mysqlnd]# cd /home/user/php-7.2.30/ext/mysqlnd
Schritt 2: Führen Sie phpize
aus Befehl
[root@terra-node-01 mysqlnd]# phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718
Hinweis: Wenn Sie die Fehlermeldung „configure:error:cannot find sources (config.m4) erhalten ” Folgen Sie in Schritt 2 unserer Lösung hier.
Schritt 3 :Konfigurieren ausführen
[root@terra-node-01 mysqlnd]# ./configure
Hinweis: Wenn Sie einen error:configure:error:Cannot find OpenSSL’s
Schritt 4 :Führen Sie make
aus
[root@terra-node-01 mysqlnd]# make 2>&1 | tee err.log
Schritt 5 :Führen Sie make install
aus
[root@terra-node-01 mysqlnd]# make install
Letzter Schritt :Diese Erweiterungen müssen nicht manuell in php.ini aktiviert werden. Starten Sie einfach den Apache-Dienst neu
[root@terra-node-01 mysqlnd]# systemctl restart httpd