如何在PHP 7中启用MySQLI扩展名?
我已经在Ubuntu  14.04(可信赖的Tahr)上安装了PHP 7和MySQL 5.5.47。
我已经使用以下方式检查了安装的扩展名:
sudo apt-cache search php7-*
IT输出:
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扩展名没有。”
I have installed PHP 7 and MySQL 5.5.47 on Ubuntu 14.04 (Trusty Tahr).
I have checked installed extension using:
sudo apt-cache search php7-*
It outputs:
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
I am not able to see the MySQLi extension using phpinfo() either. How can I enable/install MySQLi extension in PHP 7?
That's why I cannot use phpMyAdmin. It says "The mysqli extension is missing."
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
问题在于,将用于将PHP连接到MySQL的软件包被弃用(PHP5-MYSQL)。如果安装新软件包,
这将自动更新Apache和Php  7。
The problem is that the package that used to connect PHP to MySQL is deprecated (php5-mysql). If you install the new package,
this will automatically update Apache and PHP 7.
对于所有Docker用户,只需从php容器内部运行
Docker-Php-ext-install Mysqli
即可。更新:有关 https://hub.docker.com/_/php 的更多信息“如何安装更多PHP扩展”。
For all docker users, just run
docker-php-ext-install mysqli
from inside your php container.Update: More information on https://hub.docker.com/_/php in the section "How to install more PHP extensions".
phpenmod modulename
启用一个模块以php  7(在此重新启动apache之后sudo service apache2 restart
)phpdismod modulename
将模块禁用到PHP; 7(7(7))在那之后重新启动apachesudo service apache2 restart
)php -m
列出已加载的模块phpenmod moduleName
enables a module to PHP 7 (restart Apache after thatsudo service apache2 restart
)phpdismod moduleName
disables a module to PHP 7 (restart Apache after thatsudo service apache2 restart
)php -m
lists the loaded modules我得到了解决方案。我能够在php.ini中启用mysqli扩展。我只是在php.ini中毫不费力地说明了这条线:
现在mysqli运行良好。这是
php.ini
apache 2,php  7和ubuntu  14.04环境中的文件路径:默认情况下,php  7中禁用了mysqli扩展名。
I got the solution. I am able to enable MySQLi extension in php.ini. I just uncommented this line in php.ini:
Now MySQLi is working well. Here is the
php.ini
file path in an Apache 2, PHP 7, and Ubuntu 14.04 environment:By default, the MySQLi extension is disabled in PHP 7.
在Ubuntu上,当Mysqli缺失时,执行以下操作,
将
7.x
替换为PHP版本。注意:这可能是7.0及以上,但是例如,Drupal建议在安全方面推荐Php  7.2。
要检查您的PHP版本,请在命令行类型上
进行:如果您缺少MBSTRING,则完全相同:
我最近必须为PHPMyAdmin执行此操作,而
On Ubuntu, when mysqli is missing, execute the following,
Replace
7.x
with your PHP version.Note: This could be 7.0 and up, but for example Drupal recommends PHP 7.2 on grounds of security among others.
To check your PHP version, on the command-line type:
You do exactly the same if you are missing mbstring:
I recently had to do this for phpMyAdmin when upgrading PHP from 7.0 to 7.2 on Ubuntu 16.04 (Xenial Xerus).
在ubuntu中,您需要在 /etc/php/7.0/apache2/php.ini 的文件中删除此行 php.ini :
In Ubuntu, you need to uncomment this line in file php.ini which is located at /etc/php/7.0/apache2/php.ini:
如果是docker,则在安装mysqli之后按上面的快速答案代码>您应该根据此答案重新启动FPM https://stackoverflow.com/a/a/43076457/932473
来自内部容器
In case of docker after installing the mysqli as per Speedy's answer above
docker-php-ext-install mysqli
you should restart the the fpm as per this answer https://stackoverflow.com/a/43076457/932473From inside container
让我们
而不是
因为 php  7 中不支持
mysql_connect
。Let's use
instead of
because
mysql_connect
isn't supported in PHP 7.