Jak włączyć rozszerzenie MySQLi w PHP 7?

Mam zainstalowane PHP 7 i MySQL 5.5.47 na Ubuntu 14.04 (zaufany Tahr).

Sprawdziłem zainstalowane rozszerzenie używając:

sudo apt-cache search php7-*

Wychodzi:

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

Nie jestem w stanie zobaczyć rozszerzenia MySQLi używając phpinfo (). Jak włączyć / zainstalować rozszerzenie MySQLi w PHP 7?

Dlatego nie mogę używać phpMyAdmin. Napis " brakuje rozszerzenia mysqli."

Author: Mohammad Sayeed, 2016-02-16

7 answers

Problem polega na tym, że pakiet używany do połączenia PHP z MySQL jest przestarzały (php5-mysql). Jeśli zainstalujesz nowy pakiet,

sudo apt-get install php-mysql

To automatycznie zaktualizuje Apache i PHP 7.

 126
Author: Xeno,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-01 22:42:46

Mam rozwiązanie. Jestem w stanie włączyć rozszerzenie MySQLi w php.ini. Właśnie dodałem tą linijkę w php.ini:

extension=php_mysqli.dll

Teraz MySQLi działa dobrze. Oto ścieżka pliku php.ini w środowisku Apache 2, PHP 7 i Ubuntu 14.04:

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

Domyślnie rozszerzenie MySQLi jest wyłączone w PHP 7.

 35
Author: Mohammad Sayeed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-12-17 06:31:49
sudo phpenmod mysqli
sudo service apache2 restart

  • phpenmod moduleName włącza moduł do PHP 7 (Uruchom ponownie Apache po tym sudo service apache2 restart)
  • phpdismod moduleName wyłącza moduł do PHP 7 (Uruchom ponownie Apache po tym sudo service apache2 restart)
  • php -m wyświetla załadowane Moduły
 28
Author: Pipo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-01 22:55:13

W Ubuntu, gdy brakuje mysqli, wykonaj następujące polecenie:

sudo apt-get install php7.x-mysqli

sudo service apache2 restart

Zastąp 7.x swoją wersją PHP.

Uwaga: Może to być Wersja 7.0 i wyższa, ale na przykład Drupal zaleca PHP 7.2 między innymi ze względu na bezpieczeństwo.

Aby sprawdzić wersję PHP, wpisz w wierszu poleceń:

php -v

Robisz dokładnie to samo, jeśli brakuje Ci mbstring:

apt-get install php7.x-mbstring

service apache2 restart

Ostatnio musiałem to zrobić dla phpMyAdmin podczas aktualizacji PHP z 7.0 do 7.2 na Ubuntu 16.04 (Xenial Xerus).

 17
Author: Marco Schoolenberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-01 23:01:11

W Ubuntu, musisz odkomentować tę linię w pliku php.zapraszamy do zapoznania się z naszą ofertą.ini :

extension=php_mysqli.so
 13
Author: Atul Pandya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-01 22:33:01

Dla wszystkich użytkowników Dockera, po prostu uruchom docker-php-ext-install mysqli z wnętrza kontenera php.

Aktualizacja: więcej informacji na temat https://hub.docker.com/_/php w sekcji "Jak zainstalować więcej rozszerzeń PHP".

 10
Author: Speedy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-18 05:29:47

Użyjmy

mysqli_connect

Zamiast

mysql_connect

Ponieważ mysql_connect nie jest obsługiwane w PHP 7 .

 -3
Author: Kratos.vn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-01 22:56:33