실행 aptitude install php5-mysql
(및 MySQL / Apache 2 다시 시작)했지만 여전히이 오류가 발생합니다.
치명적인 오류 : 21 번째 줄의 /home/validate.php에서 정의되지 않은 함수 mysql_connect () 호출
phpinfo()
/etc/php5/apache2/conf.d/pdo_mysql.ini 파일이 구문 분석되었다고 말합니다.
답변
음, 이것이 당신의 기회입니다! PDO 가 준비된 것 같습니다 . 대신 사용하십시오.
PHP MySQL 확장 모듈이로드되고 있는지 확인하십시오.
<?php
phpinfo();
?>
없는 경우 php.ini
파일에 다음을 추가 하십시오.
extension=php_mysql.dll
답변
이미 PHP7을 사용하는 경우 이전에 사용되지 않는 함수 mysql_*
가 완전히 제거되었으므로 mysqli_*
대신 PDO 함수 또는 함수를 사용하여 코드를 업데이트해야합니다 .
가능하지 않은 경우 해결 방법으로 -functions : fix_mysql.inc.php 를 사용하여 이전 mysql_*
함수 를 다시 만드는 작은 PHP 포함 파일을 만들었습니다 mysqli_*()
.
답변
우분투로 태그를 지정하셨습니다. 대부분의 경우 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 ()
답변
누군가가 docker php official images 문제로 여기에 온 경우 docker 컨테이너 내부에 아래 명령을 입력하십시오.
$ docker-php-ext-install mysql mysqli pdo pdo_mysql
자세한 내용은 위의 링크를 참조하세요 How to install more PHP extensions
(하지만 조금 어렵습니다 …).
또는이 문서가 도움이 될 수 있습니다.
답변
또한 정의되지 않은 MySQL_connect ()와 동일한 문제가 발생했습니다. PHP.ini 파일을 변경하려고 시도했지만 동일한 오류가 발생했습니다. 그런 다음이 솔루션에 와서 내 코드를 감가 상각 된 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.
이 정보가 도움이되기를 바랍니다. 이 솔루션은 저에게 올바르게 작동합니다.
편집하다:
이전 PHP에서 업그레이드하는 경우 다음을 수행해야합니다. apt-get install php7.0-mysql
답변
php.ini 파일에서
이것을 변경
;extension=php_mysql.dll
으로
extension=php_mysql.dll
답변
시험:
<?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