PHP 7 + MDB2 오류가 발생합니다. 채택완료
PHP 5.2 + + MySQL 5.0 + PEAR MDB2 로 개발된 홈페이지가 있습니다.
서버 이전을 필요해서 PHP 7.2 + MySQL 5.7 로 이전을 하면 MDB2 에러가 발생합니다.
구글링을 해보니 MDB2 가 PHP 7.x 에서 호환이 안된다고 하는데
이것에 대한 해결방법은 없는걸까요?
Warning: count(): Parameter must be an array or an object that implements Countable in /home/aaaa/PEAR/MDB2/MDB2.php on line 822 Parse error: syntax error, unexpected 'new' (T_NEW) in /home/aaaa/PEAR/MDB2/MDB2/Driver/mysql.php on line 855
MDB2.php 의 822라인은
if (!count($dsn)) { return $parsed; }
mysql.php 의 855라인은
$obj =& new $class_name($this, $statement_name, $positions, $query, $types, $result_types, $is_manip, $limit, $offset);
참고로 $dsn 은 이렇게 선언되어 있습니다.
$server = G5_MYSQL_HOST; $user = G5_MYSQL_USER; $password = G5_MYSQL_PASSWORD; $database = G5_MYSQL_DB; $dsn = "mysql://$user:$password@$server/$database";
구글링을 해보니 이런 문서가 있는데
답변 2개
$obj =& new $class_name(
$obj = new $class_name(
참조 연산자를 빼보세요.
php5.3부터 deprecated 되었다가 7부터는 아예 지금처럼 syntax error 뜹니다.
https://www.php.net/manual/en/language.references.whatdo.php
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
https://www.happyjung.com/lecture/2878