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!