programing

왜 PHP가 오류 코드 없이 mysqli_connect에 고착됩니까?

lastmoon 2023. 9. 4. 20:35
반응형

왜 PHP가 오류 코드 없이 mysqli_connect에 고착됩니까?

온 라인

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

PHP는 오류 없이 중지됩니다.

이것은 PHP 7.0, Apache 2 및 MariaDB 10을 실행하는 새로운 Linux 서버를 위한 것입니다."myql-server" 패키지를 설치했는데도 왜 MariaDB를 실행하는지 모르겠습니다.호환이 된다고 해서 괜찮을 것 같습니다.같은 결과로 다른 컴퓨터(Raspberry Pi 3)에 서버를 설치하려고 했습니다.

<?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>";
}
?>

웹 페이지에서 출력하는 내용은 다음과 같습니다.

passed dbServername
passed dbUsername
passed dbPassword
passed dbName 

그리고 절대적으로 다른 건 없습니다.연결 여부와 상관없이 더 많은 출력을 기대하겠습니다.

편집:

흥미롭게도 다음과 같은 오류 보고를 삽입하면 다음과 같습니다.

$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>";

출력을 확인합니다.

passed dbServername
passed dbUsername 

따라서 MySqli와 관련된 모든 것을 추가하면 PHP가 동결될 것으로 보입니다.

오류 보고가 없으면 소스를 보면 다음과 같이 표시됩니다.

passed dbServername <br>passed dbUsername <br>passed dbPassword <br>passed dbName <br>

이것이 7개월 된 것은 알지만, 저도 같은 문제가 있었습니다.

솔루션은 쉬웠습니다.나는 아직 php-myql을 설치하지 않았습니다!

Ubuntu에서 실행

apt install php-mysql

언급URL : https://stackoverflow.com/questions/55311209/why-is-php-stuck-on-mysqli-connect-with-no-error-code

반응형