PHP와 MySQL의 연결을 위해 찾아보다 MySQLi에 대해서 알게 되었다.
PHP언어를 접하고 알아갈게 너무나 많다😫 한참 남았다!
더 자세한 내용은 php사이트에서 확인가능하다.
https://www.php.net/manual/en/book.mysqli.php!
우분투를 통해 접속을 하는데, PHP에서 MySQLi를 사용해서 접속하려니 브라우저에 500 Error가 발생했다.
500Error라고 한다면 서버 자체의 에러인데, MySQL에서 사용중인 호스트나 유저명, 비밀번호 등 값을 정확히 입력했는데도 에러가 떴다.
이래저래 씨름하다가 알아낸 것은 mysqli 모듈이 없었던 것..하
phpinfo()
를 작성하면 PHP에 대한 정보를 확인 할 수 있다.<?php
phpinfo();
?>
extension=mysqli
가 있는지 확인도 해봤다. (있는줄알았는데 없었음)cd /etc/php/8.1/cli/
sudo nano php.ini
apt-get install php8.1-mysqli
<?php
$host = "호스트주소 or IP";
$user = "사용자이름";
$pw = "패스워드";
$db = "데이터베이스이름";
$connect = mysqli_connect($host, $user, $pw, $db);
if ($connect) {
echo "연결 성공";
} else {
echo "연결 실패 : ";
mysqli_connect_error()."<p>";
?>
정신없이 설치하고 DB연결을 시키려는데 또 오류가 발생했다.
Error
Host 'xx.xxx.xxx.xx' is not allowed to connect to this MySQL server
Fatal error: Uncaught mysqli_sql_exception: Host 'xx.xxx.xxx.xx' is not allowed to connect to this MySQL server in /var/www/html/php파일명.php:22 Stack trace: #0 /var/www/html/php파일명.php(22): mysqli_connect() #1 {main} thrown in /var/www/html/php파일명.php on line 22
user와 host를 잘못 작성...
MySQL에 들어가서 user와 host를 다시 검색해봤다.
SELECT user, host FROM mysql.user
<?php
...(생략)
$host = "localhost"
$user = "root"
...(생략)
?>
$host를 잘못 입력해서 500 서버에러가 떴었던 것이였다.
다시 제대로 찾아보고 입력을 했더니 연결 성공을 확인할 수 있었다.