Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

erro conexao docker mysql

Olá a todos.

Eu estou usando o docker para subir minhas aplicações. Já instalei php, apache2, mysql com o docker-compose. Minha duvida é como faço o $conexao nesse caso, segue abaixo meu codigo:

<?php 
//Estou usando o MVC para melhor organização.

include "model.php";
include "controller.php";

$nome=$_POST['nome'];
$sobrenome=$_POST['sobrenome'];
$host = "db";
$user = "root";
$pass = "password";
$banco = "banco";

$p1 = new model($nome, $sobrenome);

$conexao = mysqli_connect($host, $user, $pass, $banco);
$query = "INSERT INTO users (nome, sobrenome) VALUES ('{$nome}', '{$sobrenome}')";
mysqli_query($conexao, $query);

(new controller())->check($p1);

O erro que aparece pra mim é:

"Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/users.php:15 Stack trace: #0 {main} thrown in /var/www/html/users.php on line 15"

Meu arquivo do docker-compose:

version: '3'

volumes:
  data:

services:
  web:
    image: 'php:7.2-apache'
    container_name: php_apache
    ports:
      - "8080:80"
    volumes:
      - /home/rhuan.santos/Dev/house/estudo:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:5.6
    ports:
      - "3306:3306"
    volumes:
      - data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=app_development

  app:
    image: phpmyadmin/phpmyadmin:latest
    links:
      - db
    ports:
      - 8081:80
    environment:
      - PMA_ARBITRARY=1

Help please ;-;

2 respostas
solução!

Pela descrição do seu erro, "Call to undefined function mysqli_connect", o que pode estar ocorrendo é que não está habilitada a extensão MySQLi no seu PHP. Edite o seu arquivo php.ini, vá para a parte de extensions, e descomente a linha referente ao MySQLi.

Aqui tem mais informações:

https://stackoverflow.com/questions/36958030/edit-php-ini-file-to-include-extension-for-mysqli
http://blog.thiagobelem.net/guia-pratico-de-mysqli-no-php

Obrigado!