Erro ao conectar-se ao mysql usando o servidor php5 LAMP

1

Eu estou tentando configurar um servidor LAMP no lubuntu 14.04.5, eu apaguei index.html e substituí-lo com:

/var/www/html/index.php

Problema é que tudo antes deste <?php tag é executada e isso parece travar. Eu não sei porque, é porque eu devo ter index.html?

<?php
$dbhost = "localhost:3306";
$dbuser = "user1";
$dbpass = "pass1";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass);
if(!$connection){
die("connection error " . mysqli_error());
}
echo "connected successfully";
mysqli_close($connection);
?>

Assim, no meu log de erro php eu recebo função indefinida mysqli_connect (). Como eu faço disso uma função disponível?

Quando faço a pesquisa do aptitude php5-mysql, aparece um i que significa que está instalado. E não há outros módulos mysql exceto mysqlnd que eu não acho que eu precise, já que é apenas o diretório nativo e mysqlnd-ms Como resolvo isso?

edit: Eu acho que preciso adicionar a extensão mysqli, mas tenho problemas para localizá-la.

    
por DR. Palson_PH.d 24.08.2017 / 00:32

3 respostas

2

Então o que eu fiz foi sudo apt-get install php5-mysql Então eu ainda estava recebendo a mesma página então achei que não tinha acontecido nada, mas depois de verificar o /var/log/php5/error.log Acontece que o erro mudou de "undefined command mysqli_connect ()" para algum código relacionado erro como "mysqli_error requer 1 parâmetro e" objeto de classe mysqli não pôde ser convertido em string "e" unknown mysql server 'localhost: 3306' ". localhost: 3306 foi alterado para apenas locahost. então depois de atualizar meu código, tudo funciona bem .

<html>
   <head>
      <title>Connecting MySQL Server</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'user1';
         $dbpass = 'pass1';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
         if(! $conn ) {
            die('Could not connect: ' . mysql_connect_error());
         }
         echo 'Connected successfully';
         mysqli_close($conn);
      ?>
   </body>
</html>
    
por DR. Palson_PH.d 27.08.2017 / 02:31
2

Seu código tem código de erro de sintaxe para usar:

<?php
    $dbhost = "localhost:3306";
    $dbuser = "user1";
    $dbpass = "pass1";
    $connection = mysqli_connect($dbhost, $dbuser, $dbpass);
    if(!$connection){
        die("connection error " . mysqli_error());
    }
    echo "connected successfully";
    mysqli_close($connection);
?>

Erros:

  • mysqli_erro() == > %código%
  • mysqli_error() == > %código%
por George Udosen 24.08.2017 / 00:43
0

Você diz que fez isso ...

sudo apt-get install php5-mysql

E você nunca menciona fazer isso, o que também é necessário ...

sudo service apache2 restart

Só porque você instala o php5-mysql, não significa que o Apache tenha carregado o PHP ou o módulo PHP MySQL.

Você pode descobrir com certeza o que está ocorrendo criando um arquivo phpinfo.php contendo ...

<?php
print_r (phpinfo());
?>

Em seguida, verifique + certifique-se de que o PHP esteja carregado + o módulo PHP mysql esteja carregado.

Em caso de dúvida, sempre verifique a saída do arquivo phpinfo.php como sua primeira etapa de depuração.

Muitas vezes, essa saída simples resolve rapidamente problemas complexos.

    
por David Favor 16.10.2017 / 16:26