PHP 7부터 mysql_* 함수가 제거되었습니다. 여전히 이러한 기능을 사용하는 애플리케이션은 업데이트해야 하며 그렇지 않으면 호환성 문제가 발생합니다. 한 가지 해결책은 PHP 7에서 mysql_* 함수를 해당 mysqli_* 함수에 매핑하여 사용할 수 있도록 하는 호환성 레이어를 제공하는 라이브러리인 php7-mysql-shim을 사용하는 것입니다.
php7-mysql-shim은 더 이상 사용되지 않는 mysql_* 기능을 즉시 대체할 수 있도록 설계된 PHP 라이브러리입니다. 이를 통해 데이터베이스 상호 작용을 완전히 다시 작성할 필요 없이 기존 애플리케이션을 PHP 7 및 최신 버전에서 실행할 수 있습니다.
PHP 종속성 관리자인 Composer를 통해 php7-mysql-shim을 설치할 수 있습니다.
작성기 설치:
Composer가 아직 설치되어 있지 않은 경우 getcomposer.org의 지침에 따라 설치할 수 있습니다.
php7-mysql-shim 필요:
프로젝트 디렉터리로 이동하고 다음 명령을 실행하여 프로젝트에 php7-mysql-shim을 추가합니다.
composer require doozie-akshay/php7-mysql-shim
require 'vendor/autoload.php';
다음은 mysql_* 함수를 사용하는 레거시 코드의 예입니다.
// config.php $db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $db_name = 'test'; // Establish connection $connection = mysql_connect($db_host, $db_user, $db_password); if (!$connection) { die('Could not connect: ' . mysql_error()); } mysql_select_db($db_name, $connection);
// check_user.php include_once('config.php'); $query = "SELECT * FROM users WHERE username = 'example_user'"; $result = mysql_query($query, $connection); if (!$result) { die('Query failed: ' . mysql_error()); } if (mysql_num_rows($result) > 0) { echo "User exists."; } else { echo "User does not exist."; } mysql_close($connection);
php7-mysql-shim을 설치한 후 자동 로드 파일만 포함하면 됩니다.
// config.php require 'vendor/autoload.php'; $db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $db_name = 'test'; // Establish connection $connection = mysql_connect($db_host, $db_user, $db_password); if (!$connection) { die('Could not connect: ' . mysql_error()); } mysql_select_db($db_name, $connection);
// check_user.php include_once('config.php'); $query = "SELECT * FROM users WHERE username = 'example_user'"; $result = mysql_query($query, $connection); if (!$result) { die('Query failed: ' . mysql_error()); } if (mysql_num_rows($result) > 0) { echo "User exists."; } else { echo "User does not exist."; } mysql_close($connection);
php7-mysql-shim은 오류 처리 및 기타 미묘한 차이를 포함하여 mysql_* 기능과의 완전한 호환성을 제공하는 것을 목표로 합니다. 수정하지 않고도 기존 오류 처리 코드가 유효한지 확인하세요.
php7-mysql-shim은 PHP 7 및 최신 버전에서 mysql_* 기능을 사용하는 레거시 PHP 애플리케이션을 실행하기 위한 간단하고 효과적인 솔루션을 제공합니다. 심을 설치하고 프로젝트에 포함시키면 광범위한 재작성을 방지하고 최신 PHP 버전과의 호환성을 보장하여 원활한 전환과 지속적인 애플리케이션 기능을 보장할 수 있습니다.
위 내용은 phpysql-shim을 사용하여 PHP 7의 `mysql_*` 함수 호환성 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!