실행 aptitude install php5-mysql
(및 MySQL / Apache 2 다시 시작)했지만 여전히이 오류가 발생합니다.
치명적인 오류 : 21 번째 줄의 /home/validate.php에서 정의되지 않은 함수 mysql_connect () 호출
phpinfo()
/etc/php5/apache2/conf.d/pdo_mysql.ini 파일이 구문 분석되었다고 말합니다.
실행 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
mysql_*
함수는 위험하며 PHP 4.1부터 폐기되었습니다. Apache 오류 로그를 확인하고 서버를 다시 시작하십시오. 작동합니까?
이미 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
내가 원하는 것입니다
또한 정의되지 않은 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 설치가 MySQL 지원으로 컴파일되지 않았습니다.
구성 명령 ( php -i | grep mysql
)을 확인하십시오 . 와 같은 것을 볼 수 '--with-mysql=shared,/usr'
있습니다.
http://php.net/manual/en/mysql.installation.php 에서 전체 지침을 확인할 수 있습니다 . 그러나 @wanovak에서 제안한 솔루션을 사용하고 싶습니다.
그래도 PDO를 사용하려면 MySQL 지원이 필요하다고 생각합니다.
질문에는로 태그가 지정되어 ubuntu
있지만 주석을 해제하는 솔루션은 extension=mysqli.dll
창에 따라 다릅니다. 나는 여기서 혼란스러워?!, 어쨌든, 먼저 실행 <? php phpinfo ?>
하고 제목 mysql*
아래를 검색하십시오 Configuration
. 그런 것이 보이지 않는다면을 설치하거나 활성화하지 않았 음을 의미합니다 php-mysql
. 그래서 먼저 설치php-mysql
sudo apt get install php-mysql
이 명령은 이미 설치된 php-mysql
에 따라 php
설치되므로 버전에 대해 걱정할 필요가 없습니다 !!.
그런 다음 유닉스 특정 솔루션이 제공되며 php.ini
파일에서 줄의 주석 처리를 제거하십시오.
extension=msql.so
,
ELSEmsql.so
에 있는지 확인/usr/lib/php/<timestamp_folder>
extension=path/to/msql.so
그런 다음 마지막으로 apache
및 mysql
서비스를 다시 시작하면 제목 mysql
아래 섹션이 표시됩니다 Configrations
.phpinfo page
작업중인 프로젝트가 php 5.6에서 개발되었고 설치 후 프로젝트가 php7.1에서 실행되지 않았기 때문에이 오류가 발생했습니다.
ubuntu / nginx와 함께 Vagrant를 사용하는 사람을 위해 nginx 디렉토리 (/ etc / nginx /)에 "sites-available"이라는 디렉토리가 있으며 여기에는 vagrant maschine에 대해 구성된 url과 같은 이름의 파일이 있습니다. 제 경우에는 homestead.app이었습니다. 이 파일에는 다음과 같은 내용이 있습니다.
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
거기에서 특정 사이트에 대해 원하는 PHP 버전을 변경할 수 있습니다.
이것을 Google로 검색했지만 어디를보고 무엇을 바꿀 것인지에 대한 간단한 대답을 찾을 수 없었습니다.
이것이 누구에게나 도움이되기를 바랍니다. 감사.
오류가 발생하는 경우
치명적인 오류 : 정의되지 않은 함수 mysql_connect () 호출
의 cPanel에 친절 로그인 >> 선택 PHP 버전을 클릭 >> 확장 MYSQL을 선택
구문 오류가 있어야합니다. 이 코드를 복사 / 붙여 넣기하고 작동하는지 확인하십시오.
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect:' . mysql_error());
}
echo 'Connected successfully';
?
동일한 오류 메시지가 표시되었습니다. msql_connect()
대신 함수를 사용하고 있었던 것으로 밝혀졌습니다 mysql_connect()
.
(Windows mysql 구성)
1 단계 : Apache 제어판> Apache> 구성> PHP.ini로 이동합니다.
2 단계 : 메모장에서 검색 (Ctrl + F) For : ;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에서이 파일을 다운로드해야합니다. (어디에서 얻을 수 있는지에 대해주의하십시오)
PHP에 대한 추가 정보 : Windows에 확장 설치-Manual
C:\\php
되어 있으며 시스템 에는 없습니다 .