programing

PHP 7에서 MySQLi 확장을 활성화하려면 어떻게 해야 합니까?

goodsources 2023. 2. 2. 21:11
반응형

PHP 7에서 MySQLi 확장을 활성화하려면 어떻게 해야 합니까?

Ubuntu 14.04(Trusty Tahr)에 PHP 7과 MySQL 5.5.47을 설치했습니다.

다음을 사용하여 설치된 확장을 확인했습니다.

sudo apt-cache search php7-*

출력:

php7.0-common - Common files for packages built from the PHP source
libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.0-dev - Files for PHP7.0 module development
php7.0-dbg - Debug symbols for PHP7.0
php7.0-curl - CURL module for PHP
php7.0-enchant - Enchant module for PHP
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-readline - readline module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-pspell - pspell module for PHP
php7.0-recode - recode module for PHP
php7.0-snmp - SNMP module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
php7.0-xsl - XSL module for PHP
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-json - JSON module for PHP
php-all-dev - package depending on all supported PHP development packages
php7.0-sybase - Sybase module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-mysql - MySQL module for PHP
php7.0-opcache - Zend OpCache module for PHP
php7.0-bz2 - bzip2 module for PHP

phpinfo()를 사용한 MySQLi 확장자도 표시되지 않습니다.PHP 7에서 MySQLi 확장을 활성화/설치하려면 어떻게 해야 합니까?

그래서 phpMyAdmin을 사용할 수 없습니다."mysqli 확장자가 누락되었습니다."라고 쓰여 있습니다.

문제는 PHP를 MySQL에 연결하는 데 사용한 패키지가 사용되지 않는다는 것입니다(php5-mysql).새 패키지를 설치하면

sudo apt-get install php-mysql

Apache 및 PHP 7이 자동으로 업데이트됩니다.

해결책을 찾았어요php.ini에서 MySQLi 확장자를 사용할 수 있습니다.php.ini에서 이 행을 코멘트하지 않았습니다.

extension=php_mysqli.dll

이것으로 MySQLi는 정상적으로 동작하고 있습니다.여기 있습니다php.iniApache 2, PHP 7 및 Ubuntu 14.04 환경의 파일 경로:

/etc/php/7.0/apache2/php.ini

기본적으로 MySQLi 확장은 PHP 7에서 사용할 수 없습니다.

sudo phpenmod mysqli
sudo service apache2 restart

  • phpenmod moduleName모듈을 PHP 7로 활성화합니다(그 후 Apache를 재시작합니다.sudo service apache2 restart)
  • phpdismod moduleNamePHP 7에 대한 모듈을 비활성화합니다(그 후 Apache를 재시작합니다).sudo service apache2 restart)
  • php -m에 로드된 모듈을 나타냅니다.

모든 도커 사용자는 실행만 하면 됩니다.docker-php-ext-install mysqliphp 컨테이너 내부에서.

업데이트: https://hub.docker.com/_/php에 대한 자세한 내용은 "How to install more PHP extensions" 섹션을 참조하십시오.

Ubuntu에서 mysqli가 없는 경우 다음을 수행합니다.

sudo apt-get install php7.x-mysqli

sudo service apache2 restart

교체하다7.xPHP 버전을 사용합니다.

주의: 7.0 이상일 수 있지만, 예를 들어 Drupal은 보안상의 이유로 PHP 7.2를 권장합니다.

PHP 버전을 확인하려면 명령줄에 다음과 같이 입력합니다.

php -v

mbstring이 없는 경우에도 동일하게 수행합니다.

apt-get install php7.x-mbstring

service apache2 restart

최근 Ubuntu 16.04(Xenial Xerus)에서 PHP를 7.0에서 7.2로 업그레이드할 때 phpMyAdmin에 대해 이 작업을 수행해야 했습니다.

Ubuntu에서는 /etc/php/7.0/apache2/php.ini에 있는 파일 php.ini에서 이 행의 코멘트를 해제해야 합니다.

extension=php_mysqli.so

위의 Speedy 답변에 따라 mysqli를 설치한 후 도커가 있는 경우 docker-php-ext-install mysqli다음 답변에 따라 fpm을 재시작해야 합니다.https://stackoverflow.com/a/43076457/932473

내부 컨테이너에서

kill -USR2 1

사용합시다

mysqli_connect

대신

mysql_connect

왜냐면mysql_connectPHP 7에서는 지원되지 않습니다.

언급URL : https://stackoverflow.com/questions/35424982/how-can-i-enable-the-mysqli-extension-in-php-7

반응형