
16.04 wird ausgeführt, Lamp-Stack eingerichtet und läuft einwandfrei. In /etc werden mehrere PHP-Versionen angezeigt:
/etc/php/7.0/apache2/php.ini, /etc/php/7.1/apache2/php.ini und /etc/php/7.2/apache2/php.ini
Eine ähnliche Situation besteht für /etc/php/7.0/cli/php.ini usw. In einem Terminalfenster wird die Ausgabe von
php -i | grep 'php.ini'
Ist
Configuration File (php.ini) Path => /etc/php/7.2/cli
Geladene Konfigurationsdatei => /etc/php/7.2/cli/php.ini Ich gehe also davon aus, dass die Ausführung von PHP in der Befehlszeile PHP Version 7.2 verwendet
Meine info.php-Datei (http://localhost/info.phpzeigt, dass Apache2 PHP Version 7.0 verwendet:
PHP-Version 7.0.27-1+ubuntu16.04.1+deb.sury.org+1 Wie bringe ich Apache2 dazu, PHP-Version 7.2 zu verwenden?
Antwort1
Sie können mod_php
für Apache2 eine andere Option aktivieren. Versuchen Sie
$ a2enmod php7.2
Dadurch sollten vorherige Versionen deaktiviert und /etc/apache2/mods-enabled/php7.2.conf
am richtigen php.ini
Speicherort erstellt werden.
Wenn Sie diesen Mod nicht haben, führen Sie aus $ apt-get install libapache2-mod-php7.2
.
Denken Sie daran, dass Sie Apache2 neu starten müssen, um Änderungen in geladenen Modulen anzuzeigen.
Antwort2
Überprüfen Sie Ihre Apache-Konfigurationum zu sehen, welche Module Apache lädt. Sie sollten nach einer Zeile wie dieser suchen:
LoadModule auth_basic_module modules/libphp7.so
Und ändern Sie es in das PHP-Modul, das Sie verwenden möchten. Etwa so:
LoadModule auth_basic_module modules/libphp72.so
Dies setzt natürlich voraus, dass Sie das PHP-Modul im Modulverzeichnis von Apache haben.
Du kannst auchangebeneine bestimmte php.ini
für Apache zu verwendende.