[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
MarcosDisc
Criador MarcosDisc 23/12/2021

Olá Carlos,

como faço para instalar uma extension pdo SQL Server ou outra no php do laradock?

Manager Carlos Ferreira 23/12/2021

Olá, Marcos!
Tudo bem?

O laradock já vem com o container pronto para trabalhar com o MSSQL

docker-compose up -d mssql

A extensão já vem habilitada por default, nos arquivos de configuração do php (em php-fpm)

Está tendo algum erro amigo?

Carlos Ferreira
Criador MarcosDisc 23/12/2021

Eu tenho um projeto laravel no meu note q usa o pdo do SQL Server dentro da pasta ext da instalação do PHP, sendo assim, ao migrar o mesmo para o laradock ele apresentou o erro de dependecia e estava tentando localizar a mesma pasta em php-fpm.

MarcosDisc
Manager Carlos Ferreira 23/12/2021

Tem um print do erro amigo?

Carlos Ferreira
Criador MarcosDisc 23/12/2021

Illuminate\Database\QueryException

SQLSTATE[28000]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'sa'. (SQL: select top 1 * from [Cliente] where [Cliente].[id] = 2)
MarcosDisc
Criador MarcosDisc 23/12/2021

As minhas configurações do .env do projeto Laravel usando as configurações do SQL Server instalado no host são essas:

DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=58257
DB_DATABASE=master
DB_USERNAME=sa
DB_PASSWORD=123456

Como ficaria para usar o contéiner MSSQL do laradock?

 

 

 

 

MarcosDisc
Criador MarcosDisc 23/12/2021

Fiz a instalação do conteiner Adminer para gerenciar visualmente, mas não consigo conectar tb e exibe esse erro:

 

MarcosDisc
Criador MarcosDisc 23/12/2021

MarcosDisc
Criador MarcosDisc 23/12/2021

SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (localhost) (severity 9)

MarcosDisc
Manager Carlos Ferreira 23/12/2021

A variável de ambiente DB_HOST no arquivo .env precisa receber o nome do serviço (container) que está rodando o banco de dados.

Se o database fosse mysql, seria:
DB_HOST=mysql

----


No seu Adminer não conectou porque você passou localhost no server, precisa ser o nome do container que está rodando o banco de dados.

Carlos Ferreira
Criador MarcosDisc 23/12/2021

Bom dia Carlos, tranquilo?

O arquivo não encontrei a variável de ambiente DB_HOST no arquivo .env dentro da pasta laradock, porém, consegui fazer a conexão usando o nome do serviço mysql, porém usando mssql exibe essa mensagem de erro: SQLSTATE[01002] Adaptive Server connection failed (mssql) (severity 9)

MarcosDisc
Manager Carlos Ferreira 23/12/2021

A variável de ambiente DB_HOST fica no arquivo .env do Laravel.

-----

Pode ser que está com problemas para subir o seu container do mssql

Após subir ele, como está o status?
docker-compose ps

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!