alguem consegue me ajudar com laravel e SQL SERVER?
fiz todas as configuraçoes. meu mysql funciona perfeitamente mas a conexao com sql server nao funciona...
2/2) QueryException
could not find driver (SQL: SELECT
alguem ja passou por isso?
alguem consegue me ajudar com laravel e SQL SERVER?
fiz todas as configuraçoes. meu mysql funciona perfeitamente mas a conexao com sql server nao funciona...
2/2) QueryException
could not find driver (SQL: SELECT
alguem ja passou por isso?
Oi Emerson, você precisa configurar o driver do SQL Server. Dá uma olhada nessa página no site da Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=20098
No MySQL você não precisa por que já vem configurado por padrão.
Dependendo da sua instalação do PHP, tudo que vai precisar fazer é habilitar o driver no php.ini
ja fiz estas configuraçoes, reiniciei ate o computador e ele nao entende... tenho a mesma aplicacao em php puro e ele funciona perfeitamente em PDO. mas com laravel nao tem cristo
Alguem que consiga me ajudar? ja fiz de tudo... alguem pode me explicar como funciona PDO no laravel ? ja procurei mas nada que explique como posso usar
oque acontece e que meu laravel nao carrega dentro do pdo o sqlsrv.... meu wamp aponta normal o sqlsrv no pdo. mas quando executo a verificação no laravel ele nao esta la. alguma dica?
Emerson, o Laravel usa PDO no final das contas, mas você precisa configurar lá nas configurações de banco de dados.
Cola aqui o conteúdo do arquivo config/database.php
segue codigo...
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'intranet_rotoline'),
'username' => env('DB_USERNAME', 'laravel'),
'password' => env('DB_PASSWORD', 'laravel'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '192.168.0.252'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'SBO'),
'username' => env('DB_USERNAME', 'sa'),
'password' => env('DB_PASSWORD', 'UmaSenha'),
'charset' => 'utf8',
'prefix' => '',
],
],
mas oque eu digo de o driver nao estar aparecendo e sobre isso:
PDO
PDO support enabled
PDO drivers mysql, sqlite
mas em outra aplicacao sem o laravel executando a mesma verificacao ele aparece.
PDO
PDO support enabled
PDO drivers mysql, odbc, sqlite, sqlsrv
No mínimo é estranho ele detectar drivers diferentes de acordo com o projeto. Me descreve o ambiente que tá configurado na sua máquina para eu entender mais ou menos?
Tipo, você tem um ambiente separado por projeto? php.ini personalizado por projeto, etc?
então vamos a explicação...
eu estava usando WAMP server para programar com PHP puro, tudo funciona perfeitamente, MSSQL, MYSQL... instalei o laravel junto com esse WAMP SERVER. tambem funcionou de acordo ate eu precisar da configuração do MSSQL, aparentemente não tenho dois arquivos .ini mas fiquei com duvida se no laravel preciso configurar algum documento a mais com as configs das DLLs.
aparentemente eo mesmo. mas executando php info() em dois projetos diferentes um em LARAVEL e outro PHP PURO ele reconhece drivers diferentes, acredito que esteja faltando algum apontamento do laravel, algum comando que leia os drivers disponíveis mas não faço ideia de como fazer isso.
Talvez minha versão do Laravel 5.4.03 esteja com algum problema, não sei mais oque fazer. estou a ponto de desistir.
Oi Emerson, tudo bom?
Qual a versão do seu php pelo terminal? e qual a versão do php do laravel? Sua máquina pode ter mais de uma versão do php instalado. E, pelas extensoes exibidas anteriormente é evidente que a versão que o laravel está executando é diferente da versão executada pelo php puro.
O primeiro passo é descobrir qual versão o laravel está rodando pra gente conseguir habilitar a extensão lá também.
Qualquer problema é só falar.
Abraço
do meu WAMP é 5.6.31
e do Laravel também me mostrou a versão 5.6.31
ambas são iguais :/ Abri meu outro projeto e também é a mesma versão.
Show, então temos os dois na mesma versão. Mas, se um foi carregado pelo wampp e o laravel pelo terminal, eles são instalações diferentes. Uma no wamp, uma no sistema operacional.
Para garantir, verifica o php.ini do wamp, no diretório do apache da ferramenta, semelhante a (no windows):
C:\wamp64\bin\apache\apacheX.X.XX\bin\php.ini
Que, possue a extensão habilitada, já que na aplicação que subiu no wamp funcionou. Copia esse arquivo e substitui no php instalado no sistema operacional. No windows, seria algo como:
C:\php\php\php.ini
Você pode descobrir a localização exata do php.ini também executando o comando:
php --ini
No terminal.
Substituindo o php.ini do wamp no php local deve resolver o problema da extensão no Laravel, lembrando que você precisa reiniciar o apache depois de substituir os arquivos.
Qualquer problema é só falar =)
Então... nao tenho outro php.ini a nao ser a da pasta do wamp, sera esse meu problema ?
Configuration File (php.ini) Path: C:\WINDOWS Loaded Configuration File: C:\wamp\bin\php\php5.6.31\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
Se o laravel não está puxando o php.ini dai, está puxando de outro lugar. Você pode ver qual php.ini o laravel está usando usando a função php_info() em qualquer action =)
Vale a pena sobrescrever esse diretório:
C:\wamp\bin\php\php5.6.31\php.ini
Também, pra garantir.
Qualquer problema é só falar.
Server API - Built-in HTTP server Virtual Directory Support- enabled Configuration File (php.ini) Path - C:\WINDOWS Loaded Configuration File C:\wamp\bin\php\php5.6.31\php.ini
esta pegando da pasta certa.
Apos rever todas as configuraçoes.. resolvi entrar nesse caminho do WAMP. e esse aruqivo e diferente do que eu configurei... reconfigurei este como o outro e o problema de conexao com o SQL aparentemente esta ok.. Obrigado pela ajuda. e peço desculpas se fui insistente.