[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

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

Criador Marcos Birro Calixto 01/07/2024

Ah. Usando o dockerfile do laravel 10

Marcos Birro Calixto
Manager Carlos Ferreira 01/07/2024

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

Carlos Ferreira
Criador Marcos Birro Calixto 01/07/2024

Bom dia.

USei esse setip

https://github.com/especializati/curso-de-laravel-10

Marcos Birro Calixto
Manager Carlos Ferreira 01/07/2024

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

Carlos Ferreira
Itamar chaves 01/07/2024

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

Itamar chaves
Manager Carlos Ferreira 01/07/2024

Boa Itamar!!

Carlos Ferreira
Criador Marcos Birro Calixto 01/07/2024

Bom dia.

TEntei colocar no custom.ini e não está funcionando:

[PHP]
post_max_size = 100M
upload_max_filesize = 100M
extension=php_zip
extension=php_xml
extension=php_gd2
extension=php_iconv
extension=php_simplexml
extension=php_xmlreader
extension=php_zlib

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!!!
Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

Ah, não alterei o username no dockerfile

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

É, 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?

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

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

Marcos Birro Calixto
Manager Carlos Ferreira 01/07/2024

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.

Carlos Ferreira
Criador Marcos Birro Calixto 01/07/2024

Bom dia.

Fiz uma instação do setup 11 do zero.

Coloquei as informação no custom.ini

[PHP]
post_max_size = 100M
upload_max_filesize = 100M
extension=php_zip
extension=php_xml
extension=php_gd2
extension=php_iconv
extension=php_simplexml
extension=php_xmlreader
extension=php_zlib
 
Mas quando dou o comando php --ini vem assim:
 
marcosbirro@3283d67984b4:/var/www$ php --ini Warning: PHP Startup: Unable to load dynamic library 'php_zip' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_zip (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_zip: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_zip.so (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_zip.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'php_xml' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_xml (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_xml: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_xml.so (/usr/local/lib/php/extensions/no-debug-non-zts-20210902/php_xml.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

...

O que mais eu devo fazer? Estou pesquisando na internet mas não acho a solução!

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

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

 

Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

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 

Marcos Birro Calixto
Manager Carlos Ferreira 01/07/2024

Incluiu as extensões no Dockerfile e fez o build novamente?

docker compose up -d --build app

Carlos Ferreira
Criador Marcos Birro Calixto 01/07/2024

Boa noite 

Sim. Fiz isso!

PHP]
post_max_size = 100M
upload_max_filesize = 100M
extension=php_zip
extension=php_xml
extension=php_gd2
extension=php_iconv
extension=php_simplexml
extension=php_xmlreader
extension=php_zlib
 
E dei o build
 
docker compose up -d --build app
Marcos Birro Calixto
Manager Carlos Ferreira 01/07/2024

Não, isso é no arquivo .ini

No arquivo Dockerfile precisa habilitar as extensões, igual o Itamar te passou!

Carlos Ferreira
Criador Marcos Birro Calixto 01/07/2024

Bom dia. Entendi.

Inclui todos que preciso para instalar o excel no dockerfile assim:

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib
 
Já tinha os que você colocou e coloquei os adicionais e quando dei o build mostrou assim:
 
=> ERROR [app stage-0 4/10] RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sock 2.4s ------ > [app stage-0 4/10] RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib: 2.129 error: /usr/src/php/ext/php_zip does not exist 2.129 2.129 usage: /usr/local/bin/docker-php-ext-install [-jN] [--ini-name file.ini] ext-name [ext-name ...] 2.129 ie: /usr/local/bin/docker-php-ext-install gd mysqli 2.129 /usr/local/bin/docker-php-ext-install pdo pdo_mysql 2.129 /usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop 2.129 2.129 if custom ./configure arguments are necessary, see docker-php-ext-configure
 
failed to solve: process "/bin/sh -c docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib" did not complete successfully: exit code: 1
 
Eu tenho que incluir mais alguma coisa antes do build?
 
Obrigado.
Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

Inclui nas insytalações assim

# Install system dependencies
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip \
    php_zip \
    php_xml \
    php_gd2 \
    php_iconv \
    php_simplexml \
    php_xmlreader \
    php_zlib

# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd sockets php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib
 
E deu isso
 
failed to solve: process "/bin/sh -c apt-get update && apt-get install -y git curl libpng-dev libonig-dev libxml2-dev zip unzip php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib" did not complete successfully: exit code: 100
Marcos Birro Calixto
Criador Marcos Birro Calixto 01/07/2024

Fiz assim também e não deu

# Install system php dependences    
RUN docker-php-ext-install php_zip \
   php_xml \
   php_gd2 \
   php_iconv \
   php_simplexml \
   php_xmlreader \
   php_zlib
 
> [app stage-0 3/11] RUN docker-php-ext-install php_zip php_xml php_gd2 php_iconv php_simplexml php_xmlreader php_zlib: 1.237 error: /usr/src/php/ext/php_zip does not exist
Marcos Birro Calixto
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!