WordPress에 mysql 확장자가 없는 PHP 7 컴파일
이전 버전의 PHP에서 작동하던 구성으로 PHP 7을 구축했습니다.이제 내 WordPress 웹 사이트에는 다음과 같은 메시지가 표시됩니다.
PHP 설치에 WordPress에 필요한 MySQL 확장자가 없는 것 같습니다.
mysqli를 사용하는 다른 웹사이트는 동작합니다.제가 무엇을 빠뜨리고 있나요?
또한 이름에 mysql이 있는 모든 .so 파일을 포함했습니다.
extension=dba.so
extension=mysql.so
extension=mysqli.so
extension=mysqlnd_mysql.so
extension=mysqlnd_mysqli.so
extension=mysqlnd.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_odbc.so
extension=odbc.so
PHP 7은 mysql_*를 완전히 삭제했습니다.
PDO 또는 mysqli를 사용해야 합니다.워드프레스는 이를 지원하지 않는 것 같습니다.
mysql_*
PHP 7.0에서 삭제된 함수는 mysqli 또는 PDO로 코드를 업데이트합니다.
또, 유저의 입력을 처리하고 있는 경우는, 준비된 스테이트먼트도 참조해 주세요.SQL 주입 가능성을 줄이려면 다음과 같이 하십시오.
mysqli 연결 문자열의 예를 다음에 나타냅니다.
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
?>
pdo 접속 문자열의 예:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>
주의:
이 mysqli 예는 연결 오류를 처리합니다.
다른 곳에서 언급했듯이ext/mysql
기능이 제거되었습니다.우리는 이것에 대해 꽤 오랫동안 이야기 해 왔다.
ext/mysql은 MySQL 3.23용으로 구축되었으며 이후 거의 추가되지 않았지만 대부분 이전 버전과의 호환성을 유지하므로 코드를 유지하기가 다소 어렵습니다.
다시 설치하려는 경우 ext/mysql PECL 라이브러리를 사용하여 PHP 7에 다시 추가할 수 있습니다.
Wordpress 3.9 이후는 mysqli를 지원한다는 점에 유의하십시오.
WordPress 3.9에서는 WPDB에 레이어를 추가하여 PHP 5.5 이상 사용 시 mysqli PHP 라이브러리를 사용하는 것으로 전환하였습니다.
Wordpress가 PHP7에서 삭제한 Mysql 확장자를 계속 사용하고 있는지 확인합니다.
http://php.net/manual/en/migration70.removed-exts-sapis.php
Mysqli 및 PDO 확장은 유지되었습니다.이것이 다른 웹 사이트가 작동하는 이유입니다.
이 문제는 php 7.1.0-dev로 인해 발생합니다.
같은 설정 버전 7.0.0을 사용하여 다른 버전을 구축하여 문제가 해결되었습니다.
MySQL을 찾을 수 없을 때 자동으로 MySQLi를 사용하려고 하므로 WordPress와는 관계가 없습니다.적어도 WP 4.4에서는.
Ubuntu에서 이 오류를 수정하려면
sudo apt-get install php-mysql
그런 다음 서버를 재시작합니다(캐디, 하지만 apache 또는 nginx를 사용하고 있을 수 있습니다).
언급URL : https://stackoverflow.com/questions/34289954/compiled-php-7-missing-mysql-extension-in-wordpress
'it-source' 카테고리의 다른 글
Word press를 통해 사용자 ID 가져오기 (0) | 2023.03.12 |
---|---|
jQuery.ajax에서 성공으로 간주되는 HTTP 상태 코드는 무엇입니까? (0) | 2023.03.12 |
모달에 매개 변수를 전달하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
Angular.js와 Angular.dart의 차이점? (0) | 2023.03.12 |
ng클릭으로 $이벤트를 자동으로 전달하시겠습니까? (0) | 2023.03.12 |