I’m very new to the docker technology.
What i’m trying to do, is install the PHP extensions sqlsrv and pdo_sqlsrv from PECL repo.
Accordingly to this tutorial:
Before i get data from this repo i install the following php additions:
RUN apt-get install -y php8.0-cli php8.0-dev php8.0-pgsql php8.0-sqlite3
php8.0-gd php8.0-curl php8.0-memcached php8.0-imap php8.0-mysql
php8.0-mbstring php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap
php8.0-intl php8.0-readline php8.0-pcov php8.0-msgpack
php8.0-igbinary php8.0-ldap php8.0-redis php8.0-swoole php8.0-xdebug
php-pear
After this part i update the apt-get:
&& apt-get update
Unfortunately I get an error when i do this:
RUN pecl install sqlsrv pdo_sqlsrv
ERROR [ 9/17] RUN pecl install sqlsrv pdo_sqlsrv
[ 9/17] RUN pecl install sqlsrv pdo_sqlsrv:#12 0.541 PHP Fatal error: Array and string offset access syntax with curly braces is no
longer supported in /usr/share/php/PEAR/Config.php
on line 2095
#12 0.541 PHP Stack trace:
#12 0.541 PHP 1. {main}() /usr/share/php/peclcmd.php:0
#12 0.541 PHP 2. require_once() /usr/share/php/peclcmd.php:31
—— failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c pecl install sqlsrv pdo_sqlsrv]: exit code:
255
here is the whole dockerfile
https://github.com/GregOstry/sail/blob/1.x/runtimes/8.0/Dockerfile
2
Answers
The easiest way is using this repo
It’s as easy as
This is not for Docker, but if in case anyone is running to the above issue on Ubuntu, you can run this to upgrade your PEAR so that PECL would work: