2016-02-16 60 views
35

我已经在Ubuntu 14.04上安装了PHP 7,MySQL 5.5.47。 我已经检查使用安装的扩展:如何在PHP 7中启用MySQLi扩展?

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扩展名缺失。”

注:我是新的php7。

回答

23

我得到了解决,我可以使在php.ini MySQLi扩展,只是注释掉在php.ini此行

extension=php_mysqli.dll 

现在的MySQLi工作well.Here是在php.ini文件路径的Apache2,PHP 7,Ubuntu的14.04环境:

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

默认MySQLi扩展是PHP 7

+14

'php_mysqli.dll'用于Windows。 – miken32

+0

这适用于MacPorts(macOS Sierra)。 –

+1

感谢我花了一段时间让我的Wordpress安装运行,因为mysql_ *在php7中被弃用,这有助于! – Vibhu

9

禁止在Ubuntu需要注释掉在php.ini这条线其位于/etc/php/7.0/apache2/php.ini

延长= php_mysqli.so

+4

这行不是在Ubuntu 16.04的php.ini中。添加它? – motorbaby

+0

at php 7.0可以运行phpenmode youModule.ini – Kasikn77

59

的问题是,与用于PHP连接MySQL包装被depricated(PHP5-MySQL的)。如果你安装了新的软件包:

sudo apt-get install php-mysql 

这会自动更新apache和php7。

干杯!

+7

这是Ubuntu(16.04)的正确答案。之后重新启动apache:'sudo service apache2 restart' – scoobydoo

+1

记得在'sudo apt-get update'之前。 –

+0

谢谢Xeno。这是Ubuntu(16.04),PHP 7.1 @scoobydoo的正确答案。此后重新启动Apache。 – Riz

3
sudo phpenmod mysqli 
sudo service apache2 restart