У меня установлены php 7.0 и 7.2 на моем компьютере с Ubuntu.
Когда я выполняю php -v, он говорит мне, что я использую php 7.2. В Apache я также включил php 7.2.
Когда я запускаю phpenmode zip, я получаю это:
WARNING: Module zip ini file doesn't exist under /etc/php/7.0/mods-available
Хотя файл действительно находится под /etc/php/7.2/mods-available.
Как я могу это исправить? Я подсказываю, что это то, что заставляет некоторые приложения жаловаться на то, что класс ZipArchive не установлен.






Если у вас установлено несколько версий php, вы можете сделать:
phpenmod -v 7.2 zip
для версии 7.2.
Чтобы изменить целевую версию по умолчанию, вы можете попробовать:
sudo update-alternatives --set php /usr/bin/php7.2
sudo update-alternatives --set phar /usr/bin/phar7.2
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2
sudo update-alternatives --set phpize /usr/bin/phpize7.2
sudo update-alternatives --set php-config /usr/bin/php-config7.2
Примечание. phpize может не всегда присутствовать, так как для этого требуется пакет php-dev.
Это также изменит версию, используемую в CLI, и, следовательно, избавит от дополнительной головной боли, связанной с попытками выяснить, почему все работает в FPM, но не в CLI.
Это не сработало с первой попытки, но сработало использование этих команд:
sudo update-alternatives --set php /usr/bin/php7.2 sudo update-alternatives --set phar /usr/bin/phar7.2 sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2 sudo update-alternatives --set phpize /usr/bin/phpize7.2 sudo update-alternatives --set php-config /usr/bin/php-config7.2