PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Monday, April 18, 2022

[FIXED] How to install from PECL repo in Docker (Fatal error: Array and string offset access syntax with curly braces is no longer supported)

 April 18, 2022     docker, laravel, laravel-sail, php     No comments   

Issue

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:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15

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


Solution

The easiest way is using this repo

It's as easy as

FROM php:8.0

ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions pgsql sqlite3


Answered By - online Thomas
Answer Checked By - David Marino (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing