inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PHP 7+ 프로그래밍

Call to undefined function mysqli_connect() 에러

8473

Myeong Seong Jeong

작성한 질문수 5

0

mysqli_connect() 함수 에러 같은데 구글에서 찾아서 php.ini extension=mysqli 주석 처리를 풀어 보라고 해서 풀었더니

오류는 안나오는데 브라우저에 메뉴가 안나오네요. 

require_once 'bootstrap/app.php'; 주석처리하면 메뉴가 나오고 주석처리 안하면 또 안나오고 ...

해결 방법이 있나요/./


; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;extension=mysqli.dll <<<<<<<<<<<<<<
;
; For example:
;
;extension=mysqli <<<<<<<<<<<<<
;
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli <<<<<<<<

php

답변 5

0

inandexhale95

윈도우 사용자분들은 mysqli의 경로를 직접 지정해주셔야합니다.

extension=mysqli

아래로 변경하시면 됩니다.

extension=C:\php8\ext\php_mysqli.dll

0

Myeong Seong Jeong

친절하고 빠른 답변 감사드려요.

아직 해결을 못해서 일단 폴더 자체를 MAMP로 옮겨서 강의 진행하고 있습니다.

강의 다 듣고 후기 꼭 남기겠습니다.

0

정상우

네, 그렇습니다. extension_loaded('mysqli'); 의 결과가 false 가 나온다면 로드하지 못한 것입니다.

1. php.ini 에서 extension=mysqli 의 주석이 해제되어 있어야 하며 , extension_dir 에 설정되어 있는 폴더에 php_mysqli.dll 이 존재하여야 합니다. 이것이 첫 번째 해결 방법입니다.

2. 두 번째 해결 방법은 PHP 매뉴얼을 찾아보는 것이 있습니다. WindowsLinux 에서의 해결 방법이 다를 수 있기 때문입니다. 확장마다 설치방법이 매뉴얼에 나와있는데, mysqli 확장 매뉴얼을 열고 Installation 에 진입하여 설치 방법을 확인합니다.

https://www.php.net/manual/en/mysqli.installation.php

3. 마지막으로는 PECL(PHP Extension Community Library)에서 찾아보는 방법입니다. 해당 사이트는 php extensions 가 저장되어 있는 Repository 입니다.

다만 해당 사이트 사용시 주의해야 할 점은 반드시 현재 사용하고 있는 php 의 버전64, 32비트, Thread Safe 를 알아야하고, 이에 맞는 확장을 설치해야 합니다. 위와 같은 사항을 확인하기 위해서는 phpinfo() 함수를 사용합니다.

https://pecl.php.net/

-- 좋은 질문 감사합니다. 이 질문을 강의 소개 - 참고 할만한 질의 응답에 추가합니다.

0

Myeong Seong Jeong

extension_loaded('mysqli');
했을때 bool(false)가 나오면 mysqli가 로드 되지 않았다는 뜻인가요?

var_dump(mysqli_connect('localhost', 'root', 'root', 'db_test'));
Uncaught Error: Call to undefined function mysqli_connect() in C:\php\PDO\index
똑같은 에러가 나오네요.

제가 VSCODE 익스텐션에서 Mysql 관련된 익스텐션 설치했고,
mysqli 관련 익스텐션은 없어서 설치를 안했어요.

php 설치할 때 php.ini 파일에서 무슨 설정을 해줘야 하는건가요?

0

DOOHO MAENG

안녕하세요 , 같은 문제를 겪고 있다가 해결하여 보내드립니다.

밑에분 말씀대로 extension=mysqli 주석을 제거해도 안되는 경우였기에

아래처럼 하니 해결 되었습니다

 

구동 os : ubuntu , 

apt install php-mysqli  로 설치하셔서 사용하면 됩니다

이외 CentOs 는 yum 명령어를 사용하여 설치 ,현재 이용중인 os맞게 php-mysqli를 설치하시면 쉽게 해결됩니다

0

정상우

그러면 혹시 mysqli Extension 을 설치하셨다면, 프로젝트 이외에 독립적으로 테스트를 돌려보시는 건 어떨까요? mysqli functions 를 함수 할 수 있는 코드를 별도의 php 파일을 만들어서 실험해보시는 것도 좋습니다. 

<?php

// 익스텐션이 로드가 되었는지 체크해보세요.
extension_loaded('mysqli');

/////

// -> class mysqli#1
var_dump( mysqli_connect('localhost', 'root', 'root', 'myapp_test') );

53강 레이아웃에서 css git 링크 관련 질문입니다.

0

35

2

[섹션 5]레포지토리 소스파일 오류 위치, 수정 제안

0

180

1

add configuratio.. 자체에

0

268

2

터미널에 글이 안써집니다.

0

635

1

일반적으로 쓰이지 않는 폰트 부분

0

465

1

readmore 클릭시 쿼리내용 받아오는게 이해가 안되요

0

497

1

$_GET과 $_POST를 구별하여야한다고 하는데 이건 왜 $_GET입니까 콜백이라서 그런가요? 왜콜백은 그래도 되나요?

0

475

1

xdebug 설치가 안됩니다.

0

401

1

xdebug 설치 확인 페이지가 안열립니다

0

360

1

if ~ elseif ~ else 문법 표준적인 코딩 방법에 대한 질문입니다.

1

523

1

mysqli_stmt_close($stmt) 관련 질문드립니다.

0

319

1

DB_CONNECTION 부분 질문

0

267

1

FILTER_VALIDATE FILTER_SANITIZE 차이를 모르겠습니다.

0

296

1

결과 ...

0

244

1

random_bytes

0

319

1

preg_replace_callback 질문드립니다.

0

437

1

호스팅에 php 코드 업로드하면 hash 로직이 보이진 않을까요?

0

266

1

버퍼링 궁금한 점이 있습니다.

0

287

1

restore_include_path 오류

0

316

1

php 에러발생..

0

3759

3

터미널로 php 실행시 document root 지정

0

244

1

posts가 null이라고 나옵니다.

0

209

2

rand() vs random_int() 차이점?

0

519

1

php 8 로 하시는 분들을 위한 ini 팁

1

513

1