1

On the line

$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);

PHP stops with no error.

This is for a new Linux server, running PHP 7.0, Apache 2 and MariaDB 10. I don't know why I'm running MariaDB even though I installed the package "mysql-server." I read that they were compatible so I think it should be fine. I tried setting up my server on a different machine(Raspberry Pi 3) with the same result.

<?php

$dbServername = "localhost";
echo "passed dbServername <br>";
$dbUsername = "root";
echo "passed dbUsername <br>";
$dbPassword = "";
echo "passed dbPassword <br>";
$dbName = "cities";
echo "passed dbName <br>";

$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);
echo "passed conn <br>";

if (!$conn) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
} else {
    echo "success! <br>";
}
?>

Here is what my webpage outputs:

passed dbServername
passed dbUsername
passed dbPassword
passed dbName 

And absolutely nothing else. I would expect some more output regardless if it connected or not.

Edit:

Interestingly, if I insert error reporting like this:

$dbServername = "localhost";
echo "passed dbServername <br>";
$dbUsername = "root";
echo "passed dbUsername <br>";

mysqli_report(MYSQLI_REPORT_ALL);

$dbPassword = "";
echo "passed dbPassword <br>";
$dbName = "cities";
echo "passed dbName <br>";

I get the output:

passed dbServername
passed dbUsername 

So it seems by adding anything MySqli related will freeze PHP.

Without the error reporting, when I view the source it displays:

passed dbServername <br>passed dbUsername <br>passed dbPassword <br>passed dbName <br>
Justin
  • 11
  • 4

1 Answers1

1

I know this is 7 month old, but I had the same problem.

My solution was easy: I haven't had php-mysql installed!

In Ubuntu run

apt install php-mysql
Lennay
  • 11
  • 1