정의되지 않은 함수 mysql_connect ()
PHP정의되지 않은 함수 mysql_connect ()
필자는 php5-mysql을 설치하고 (MySQL / Apache 2를 다시 시작한) 적성 검사를 실행했지만 여전히이 오류가 발생합니다.
phpinfo ()는 /etc/php5/apache2/conf.d/pdo_mysql.ini 파일이 파싱되었다고 말합니다.
해결법
-
==============================
1.글쎄, 이것은 당신의 기회입니다! PDO가 준비된 것처럼 보입니다. 대신 사용하십시오.
글쎄, 이것은 당신의 기회입니다! PDO가 준비된 것처럼 보입니다. 대신 사용하십시오.
PHP MySQL 확장 모듈이로드되고 있는지 확인하십시오 :
<?php phpinfo(); ?>
거기에 없다면 php.ini 파일에 다음을 추가하십시오 :
extension=php_mysql.dll
-
==============================
2.우분투에서이 태그를 붙인 것을 볼 수 있습니다. 대부분의 MySQL 드라이버 (및 MySQL) 가능성이 설치되어 있지 않습니다. SSH 또는 터미널 액세스 및 sudo 권한이 있다고 가정하면 서버에 로그인하여 다음을 실행하십시오.
우분투에서이 태그를 붙인 것을 볼 수 있습니다. 대부분의 MySQL 드라이버 (및 MySQL) 가능성이 설치되어 있지 않습니다. SSH 또는 터미널 액세스 및 sudo 권한이 있다고 가정하면 서버에 로그인하여 다음을 실행하십시오.
sudo apt-get install mysql-server mysql-client php5-mysql
MySQL 패키지 나 php5-mysql 패키지가 이미 설치되어있는 경우, 업데이트됩니다.
최신 정보
이 대답은 가끔씩 클릭이 발생하기 때문에 PHP 7을 포함하도록 업데이트 할 예정입니다. PHP 7은 MySQL 용으로 다른 패키지가 필요하므로 apt-get 명령에 다른 인수를 사용해야합니다.
sudo apt-get install mysql-server mysql-common php7.0 php7.0-mysql
그리고 중요하게 mysql_connect ()는 PHP v5.5.0부터 사용되지 않습니다. 공식 문서는 다음을 참조하십시오 : PHP : mysql_connect ()
-
==============================
3.누군가가 docker php 공식 이미지의 문제로 여기에 온 경우, 아래 명령을 docker 컨테이너에 입력하십시오.
누군가가 docker php 공식 이미지의 문제로 여기에 온 경우, 아래 명령을 docker 컨테이너에 입력하십시오.
$ docker-php-ext-install mysql mysqli pdo pdo_mysql
자세한 내용은 위의 링크를 참조하십시오. PHP 확장 섹션을 설치하는 방법 (하지만 약간 어렵습니다 ...).
또는이 문서가 도움이 될 수도 있습니다.
-
==============================
4.이미 PHP7을 사용하고있는 경우, 이전에는 더 이상 사용되지 않는 함수 mysql_ *가 완전히 제거되었으므로 대신 PDO-functions 또는 mysqli_ * 함수를 사용하여 코드를 업데이트해야합니다.
이미 PHP7을 사용하고있는 경우, 이전에는 더 이상 사용되지 않는 함수 mysql_ *가 완전히 제거되었으므로 대신 PDO-functions 또는 mysqli_ * 함수를 사용하여 코드를 업데이트해야합니다.
그게 가능하지 않다면, 임시 해결책 파일로 mysqli _ * () - 함수를 사용하여 이전 함수를 다시 만든다. fix_mysql.inc.php
-
==============================
5.시험:
시험:
<?php phpinfo(); ?>
페이지를 실행하고 mysql을 검색하십시오. 발견되지 않으면 쉘에서 다음을 실행하고 Apache 서버를 다시 시작하십시오.
sudo apt-get install mysql-server mysql-client php5-mysql
또한 apache2.conf (또는 conf.d / php.ini) 파일의 다음 위치에있는 모든 행의 주석을 해제했는지 확인하십시오.
;extension=php_mysql.so
에
extension=php_mysql.so
-
==============================
6.나는 또한 정의되지 않은 MySQL_connect ()의 동일한 문제로 인해 막혔다. PHP.ini 파일을 변경하려고했지만 같은 오류가 발생했다. 그런 다음 필자는 코드를 depreciated php 함수에서 새로운 함수로 변경 한이 솔루션에 왔습니다.
나는 또한 정의되지 않은 MySQL_connect ()의 동일한 문제로 인해 막혔다. PHP.ini 파일을 변경하려고했지만 같은 오류가 발생했다. 그런 다음 필자는 코드를 depreciated php 함수에서 새로운 함수로 변경 한이 솔루션에 왔습니다.
$con=mysqli_connect($host,$user,$password); mysqli_select_db($con,dbname); //To select the database session_start(); //To start the session $query=mysqli_query($con,your query); //made query after establishing connection with database.
이게 당신을 도울 수 있기를 바랍니다. 이 솔루션은 나를 위해 올바르게 작동합니다.
-
==============================
7.내 생각 엔 PHP 설치가 MySQL 지원으로 컴파일되지 않았을 것입니다.
내 생각 엔 PHP 설치가 MySQL 지원으로 컴파일되지 않았을 것입니다.
구성 명령 (php -i | grep mysql)을 확인하십시오. '--with-mysql = shared, / usr'과 같은 것이 보일 것입니다.
자세한 지침은 http://php.net/manual/en/mysql.installation.php에서 확인할 수 있습니다. 하지만, 나는 @와 노바 크가 제안한 해결책으로 가고 싶습니다.
그래도 PDO를 사용하려면 MySQL 지원이 필요하다고 생각합니다.
-
==============================
8.질문은 우분투로 태그가 붙지 만, 확장자 = mysqli.dll을 주석으로 처리하는 해결책은 윈도우에만 해당됩니다. 나는 혼란 스럽다?!, 어쨌든, 제일 먼저 달리는 것은? php phpinfo?> 그리고 구성 표제 아래에서 mysql *을 검색하십시오. 당신이 그런 것을 보지 않는다면 당신은 php-mysql을 설치하거나 사용하지 않았 음을 의미한다. 그래서 먼저 php-mysql을 설치하십시오.
질문은 우분투로 태그가 붙지 만, 확장자 = mysqli.dll을 주석으로 처리하는 해결책은 윈도우에만 해당됩니다. 나는 혼란 스럽다?!, 어쨌든, 제일 먼저 달리는 것은? php phpinfo?> 그리고 구성 표제 아래에서 mysql *을 검색하십시오. 당신이 그런 것을 보지 않는다면 당신은 php-mysql을 설치하거나 사용하지 않았 음을 의미한다. 그래서 먼저 php-mysql을 설치하십시오.
sudo apt get php-mysql 설치하기
이 명령은 이미 설치 한 PHP에 따라 php-mysql을 설치하므로 버전에 대한 걱정은 없습니다!
그런 다음 php.ini 파일에 유닉스 관련 솔루션이 온다.
extension=msql.so
msql.so가 / usr / lib / php /
에 있는지 확인하십시오. 그밖에 extension=path/to/msql.so
마지막으로 아파치와 mysql 서비스를 다시 시작하면 phpinfo 페이지의 Configurations라는 제목 아래에 mysql 섹션이 보일 것이다.
-
==============================
9.php.ini 파일에서
php.ini 파일에서
이것을 바꿔라.
;extension=php_mysql.dll
으로
extension=php_mysql.dll
-
==============================
10.내가 작업하고 있던 프로젝트가 PHP 5.6에서 개발되었고 설치 후 프로젝트가 php7.1에서 실행될 수 없기 때문에이 오류가 발생했습니다.
내가 작업하고 있던 프로젝트가 PHP 5.6에서 개발되었고 설치 후 프로젝트가 php7.1에서 실행될 수 없기 때문에이 오류가 발생했습니다.
우분투 / nginx와 함께 Vagrant를 사용하는 사람이라면 nginx 디렉토리 (/ etc / nginx /)에 "sites-available"이라는 이름의 디렉토리가 있습니다.이 디렉토리에는 방랑자 maschine에 구성된 URL과 같은 이름의 파일이 들어 있습니다. 내 경우에는 농담 이었어 .app. 이 파일에는 다음과 같은 내용의 라인이 있습니다.
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
PHP 버전을 원하는 특정 사이트로 변경할 수 있습니다.
구글은 이것을 봤지만 어디를보아야하고 무엇을 바꿀지 간단하게 대답 할 수는 없었다.
이게 누구에게나 도움이되기를 바랍니다. 감사.
-
==============================
11.오류가 발생하는 경우
오류가 발생하는 경우
친절히 cPanel에 로그인 >> PHP 버전 선택 >> 확장 프로그램 MYSQL 선택
-
==============================
12.(윈도우 mysql 설정)
(윈도우 mysql 설정)
1 단계 : Apache 제어판으로 이동> Apache> Config> PHP.ini
2 단계 : 메모장에서 검색 (Ctrl + F) 다음을 위해 :; extension_dir = ""(주석으로 표시 될 수 있음;). 이 줄 바꾸기 : extension_dir = "C : \ php \ ext"(문장의 처음 부분에;를 제거하지 마십시오.)
3 단계 : 검색 : extension = php_mysql.dll 그리고 제거; 처음에는
4 단계 : Apache HTTP Server를 저장하고 다시 시작합니다. (Windows에서 이것은 대개 UI를 통해 수행됩니다)
그게 다예요 :)
빠진 php_mysql.dll에 대한 오류가 발생하면 php.net 사이트 또는 pecl.php.net에서이 파일을 다운로드해야 할 것입니다. (제발 당신이 그것을 어디에서 얻을 지에 대해 causius하십시오)
PHP에 대한 추가 정보 : Windows에서 확장 기능 설치 - Manual
-
==============================
13.구문 오류가 있어야합니다. 이 코드를 복사하여 붙여넣고 작동하는지 확인하십시오.
구문 오류가 있어야합니다. 이 코드를 복사하여 붙여넣고 작동하는지 확인하십시오.
<?php $link = mysql_connect('localhost', 'root', ''); if (!$link) { die('Could not connect:' . mysql_error()); } echo 'Connected successfully'; ?
나는 같은 오류 메시지가 있었다. mysql_connect () 대신 msql_connect () 함수를 사용하고있는 것으로 나타났습니다.
from https://stackoverflow.com/questions/13825108/undefined-function-mysql-connect by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
두 배열 간의 차이 (0) | 2018.09.15 |
---|---|
경고 : mysqli_connect () : (HY000 / 1045) : 사용자 'username'@ 'localhost'에 대한 액세스가 거부되었습니다 (암호 사용 : 예) (0) | 2018.09.15 |
PHP에서 RSA로 텍스트 암호화 및 암호 해독 (0) | 2018.09.15 |
문자열을 배열에 넣고 줄 바꿈으로 나누는 방법? (0) | 2018.09.15 |
하이픈으로 연결된 이름으로이 객체 속성에 액세스하려면 어떻게합니까? (0) | 2018.09.15 |