PHP.ini dentro do docker
[Finalizado Pelo Aluno]

Bom dia.
Fui instalar o pacote Laravel/Excel mas apareceu que preciso habilitar extensões no pnp.ini. Só que não sei onde o php.ini está. Pode me ajudar com isso?
To enable extensions, verify that they are enabled in your .ini files:
- /usr/local/etc/php/conf.d/custom.ini
- /usr/local/etc/php/conf.d/docker-fpm.ini
- /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini
- /usr/local/etc/php/conf.d/docker-php-ext-exif.ini
- /usr/local/etc/php/conf.d/docker-php-ext-gd.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
- /usr/local/etc/php/conf.d/docker-php-ext-redis.ini
- /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini
- /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
Ah. Usando o dockerfile do laravel 10

Olá, Marcos!
Tudo bem?
Qual o seu setup Docker?
Neste daqui, é possível customizar: https://github.com/especializati/setup-docker-laravel/blob/main/Dockerfile#L40

Bom dia.
USei esse setip
https://github.com/especializati/curso-de-laravel-10

Mesmo caso, tem o arquivo .ini disponível, só atualizar e recriar o container:
https://github.com/especializati/curso-de-laravel-10/blob/main/docker/php/custom.ini
docker compose up -d --build app

conseguir usar o excel aqui com o dockerfile
# Install PHP extensions
RUN docker-php-ext-install soap
RUN docker-php-ext-install gd
RUN docker-php-ext-install bcmath
RUN docker-php-ext-install zip
ai adiciona o que precisa

Boa Itamar!!

Bom dia.
TEntei colocar no custom.ini e não está funcionando:
E quando tento instalar Itamar como você disse está dando de permissão no docker:
yourusername@ed38901074e9:/var/www$ docker-php-ext-install zip
mkdir: cannot create directory '/usr/src/php': Permission denied
NEm o sudo consigo instalar!!!

Ah, não alterei o username no dockerfile

É, mesmo alterando o user para meu usuário continua negando permissão para instalar os arquivos.
como eu dou permissão ao meu usuário para criar pastas e etc dentro do container?

E guando executo php --ini dá o seguinte abaixo além de trazer as extensões que realmetne estão instaladas
Warning: PHP Startup: Unable to load dynamic library 'php_zip' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20230831/php_zip (/usr/local/lib/php/extensions/no-debug-non-zts-20230831/php_zip: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20230831/php_zip.so (/usr/local/lib/php/extensions/no-debug-non-zts-20230831/php_zip.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Uma vez que a imagem está criada, não é possível (nem recomendado) instalar nada.
Inclua no seu Dockerfile estes comandos, isso vai habilitar as extensões que precisa para o seu ambiente Docker funcionar.

Bom dia.
Fiz uma instação do setup 11 do zero.
Coloquei as informação no custom.ini
...
O que mais eu devo fazer? Estou pesquisando na internet mas não acho a solução!

Tentei alterar o caminho no custom.ini mas só vem assim:
Warning: PHP Startup: Unable to load dynamic library '/usr/local/etc/php/conf.d/php_zlib' (tried: /usr/local/etc/php/conf.d/php_zlib (/usr/local/etc/php/conf.d/php_zlib: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20230831//usr/local/etc/php/conf.d/php_zlib.so (/usr/local/lib/php/extensions/no-debug-non-zts-20230831//usr/local/etc/php/conf.d/php_zlib.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File: (none)
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed: /usr/local/etc/php/conf.d/custom.ini,
/usr/local/etc/php/conf.d/docker-fpm.ini,
/usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-exif.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-redis.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sockets.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini

E no build dos containers está passando o custom.ini
=> [app stage-0 10/10] COPY docker/php/custom.ini /usr/local/etc/php/conf.d/custom.ini

Incluiu as extensões no Dockerfile e fez o build novamente?
docker compose up -d --build app

Boa noite
Sim. Fiz isso!

Não, isso é no arquivo .ini
No arquivo Dockerfile precisa habilitar as extensões, igual o Itamar te passou!

Bom dia. Entendi.
Inclui todos que preciso para instalar o excel no dockerfile assim:

Inclui nas insytalações assim

Fiz assim também e não deu

Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!