SuiteCRM - missing ext-zip PHP extension

Running composer update -o --no-dev from shell, i am getting following error.

Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages.

Problem 1
- The requested PHP extension ext-zip * is missing from your system. Install or enable PHP’s zip extension.
Problem 2
- league/uri 4.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
- league/uri 4.2.3 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- league/uri 4.2.3 requires ext-intl * -> the requested PHP extension intl is missing from your system.
- Installation request for league/uri ^4.2.3 -> satisfiable by league/uri[4.2.3, 4.x-dev].

Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.

I have MAMP with PHP version 7.2.10 and OSX 10.15.1 (19B88) Catalina. Anyone else facing same issue.
I updated my OS and then ran Composer Update which i think has installed latest libraries for shell. I have PHP 7.3.9 cli installed.

Have you enabled those extensions in your php.ini?

Things like

extension=php_intl.dll

Nothing like that in my php.ini here is the result of php -m

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
hash
iconv
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zlib

These are my commands to install test systems on different PHP versions

apt install zip unzip iotop htop php-mbstring php7.0-mbstring php-gettext php-xml-parser php7.0-zip php7.0-imap php7.0-gd php7.0-curl phpmyadmin php-xdebug

apt install zip unzip iotop htop php-mbstring php7.2-mbstring php-gettext php-xml php7.2-zip php7.2-imap php7.2-gd php7.2-curl php-gd phpmyadmin php-xdebug

apt install zip unzip iotop htop php-mbstring php7.3-mbstring php-gettext php-xml php7.3-zip php7.3-imap php7.3-gd php7.3-curl php7.3-intl php7.3-mysql php-gd phpmyadmin php-xdebug

Note that php7.3-intl in 7.3, it didn’t seem to be necessary before.

But the generic idea is to…

  1. figure out the name of the extension PHP is complaining about (and that is a version-specific name),
  2. check if it is installed in Linux, run apt install if necessary, and then
  3. check if it is activated in php.ini
1 Like