Запуск 16.04, настройка стека Lamp и работа в порядке. Несколько версий php показаны в /etc:
/etc/php/7.0/apache2/php.ini, /etc/php/7.1/apache2/php.ini и /etc/php/7.2/apache2/php.ini
Аналогичная ситуация существует для /etc/php/7.0/cli/php.ini и т. д. В окне терминала вывод
php -i | grep 'php.ini'
является
Configuration File (php.ini) Path => /etc/php/7.2/cli
Загруженный файл конфигурации => /etc/php/7.2/cli/php.ini Итак, я понимаю, что запуск php в командной строке использует версию php 7.2.
Мой файл info.php (http://localhost/info.phpпоказывает, что apache2 использует версию php 7.0:
PHP версии 7.0.27-1+ubuntu16.04.1+deb.sury.org+1 Как заставить apache2 использовать PHP версии 7.2?
решение1
Вы можете включить другой mod_php
для apache2. Попробуйте
$ a2enmod php7.2
Это должно отключить предыдущие версии и создать их /etc/apache2/mods-enabled/php7.2.conf
в правильном php.ini
месте.
Если у вас нет этого мода, запустите $ apt-get install libapache2-mod-php7.2
.
Помните, что вам необходимо перезапустить apache2, чтобы увидеть изменения в загруженных модулях.
решение2
Проверьте конфигурацию Apache.чтобы увидеть, какие модули загружает apache. Вам следует поискать строку вроде этой:
LoadModule auth_basic_module modules/libphp7.so
И измените его на нужный вам модуль php. Что-то вроде этого:
LoadModule auth_basic_module modules/libphp72.so
Конечно, это предполагает, что у вас есть модуль php в каталоге модулей Apache.
Вы также можетеуказатьопределенный php.ini
для использования Apache.