CentOS 7 mysqli funktioniert auf php apache, aber nicht auf php-cli

CentOS 7 mysqli funktioniert auf php apache, aber nicht auf php-cli

Ich habe php7.2 (aus dem Remi-Repository) in CentOS 7.5 installiert. Ich möchte über die PHP-Befehlszeile auf mysqli zugreifen. Beim Versuch wird der folgende Fehler angezeigt:

Aufruf der nicht definierten Funktion mysqli_connect()

Das mit Apache laufende PHP funktioniert gut mit MySQLI. Alle über Yum installierten Erweiterungen werden hier perfekt wiedergegeben. Aber für die PHP-Befehlszeile (die eine andere php.ini-Datei analysiert) werden die Erweiterungen nicht geladen.

Muss ich die Erweiterungen für die PHP-Befehlszeile separat hinzufügen? Wenn ja, wie? Oder gibt es eine andere Alternative? Bitte lassen Sie es uns wissen, wenn Sie weitere Informationen benötigen.

Vielen Dank für Ihre Zeit.

Antwort1

Wie betont vonMichael Hampton(danke) im Kommentar gab es zwei PHP-Installationen auf dem Server. Ich bin zu zwei unterschiedlichen Lösungen gekommen, je nach spezifischem Bedarf:

  1. Für php-cli:

In der .bash_profile wird folgende Zeile hinzugefügt

alias php="/usr/bin/php"
  1. Zum Ausführen von PHP von einem Java-Servlet (als Befehl):

Verwenden

String[] commands = {"bash", "-c", "/usr/bin/php myphpfile.php arg01 arg02"};
File dir = new File("<my-php-file-directory>");
try{
Process process;
process = Runtime.getRuntime().exec(commands, null, dir);
process.waitFor();
....
....
}

Das ist alles

php -modulesim Terminal gibt mit mysqli die gewünschte Ausgabe.

verwandte Informationen