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.ini
Apache 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 moduleName
PHP 7에 대한 모듈을 비활성화합니다(그 후 Apache를 재시작합니다).sudo service apache2 restart
)php -m
에 로드된 모듈을 나타냅니다.
모든 도커 사용자는 실행만 하면 됩니다.docker-php-ext-install mysqli
php 컨테이너 내부에서.
업데이트: 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.x
PHP 버전을 사용합니다.
주의: 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_connect
PHP 7에서는 지원되지 않습니다.
언급URL : https://stackoverflow.com/questions/35424982/how-can-i-enable-the-mysqli-extension-in-php-7
'programing' 카테고리의 다른 글
FIND_IN_SET() vs IN() (0) | 2023.02.02 |
---|---|
vue 앱에서 처음 로드한 후 다이내믹 PixiJ 캔버스가 잘못됨 (0) | 2023.02.02 |
"volatile" 키워드는 무엇에 사용됩니까? (0) | 2023.02.02 |
mysql 사용자 생성(존재하지 않는 경우) (0) | 2023.01.23 |
레퍼런스:가변 범위란 무엇이며, 어디에서 접근할 수 있는 변수와 "정의되지 않은 변수" 오류는 무엇입니까? (0) | 2023.01.23 |