ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *
Posted
技术标签:
【中文标题】ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *【英文标题】:The requested PHP extension ext-mysqli * is missing on php 7.2 on ubuntu 16.04 【发布时间】:2019-09-12 05:02:28 【问题描述】:当我
composer create-project phpmyadmin/phpmyadmin
我遇到了问题:
- The requested PHP extension ext-mysqli * is missing from your system. Install or enable PHP's mysqli extension.
我已经编辑了我的 php.ini 并重新启动了 php 和 nginx 但仍然显示错误?
sudo systemctl restart php7.2-fpm
sudo systemctl restart nginx
sudo nano /etc/php/7.2/fpm/php.ini
cgi.fix_pathinfo=0
;extension=bz2
extension=curl
;extension=fileinfo
extension=gd2
;extension=gettext
;extension=gmp
extension=intl
extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=gettext
;extension=gmp
extension=intl
extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp
;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
extension=xmlrpc
;extension=xsl
我需要安装另一个mysqli吗?太奇怪了。我已经安装了 sudo apt-get install php7.2-fpm php7.2-mysql php7.2-cgi php7.2-common php-pear php7.2-mbstring 之前和工作良好。但是我不知道为什么我重新安装ubuntu和mariaDB以及php 7.2和phpmyadmin时会出现问题。
【问题讨论】:
你要安装什么? 【参考方案1】:当我启用 MySQLi 扩展时,这对我有用, 在 php.ini 中启用 MySQLi 扩展,只需在 php.ini 中取消注释此行
extension=php_mysqli.dll
这是php.ini文件路径
/etc/php/7.0/apache2/php.ini
这个问题主要是因为在 PHP 7.x 中默认禁用 MySQLi 扩展
【讨论】:
我使用 nginx,我的 php.ini 显示在我的问题上!我取消了 extension=mysqli 的注释。 php 7.2 与 php 7.0 不同【参考方案2】:我通过安装解决了这个问题
$ sudo apt-get install php7.2-fpm php7.2-cli php7.2-mysql php7.2-gd php7.2-imagick php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-common php7.2-curl php7.2-mbstring php7.2-xml php7.2-bcmath php7.2-bz2 php7.2-intl php7.2-json php7.2-readline php7.2-zip
但我不知道为什么?
【讨论】:
可能是因为php7.2-mysql
以上是关于ubuntu 16.04 上的 php 7.2 上缺少请求的 PHP 扩展 ext-mysqli *的主要内容,如果未能解决你的问题,请参考以下文章
06-Ubuntu18.04&16.04安装PHP(7.0|7.1|7.2|7.3)
text Servidor Vagrant LAMP - Ubuntu 16.04,Apache,MySQL e PHP 7.2 mais phpMyAdmin e xDebug。
wordpress搭建 ubuntu16.04 apache2 + php7.0 + mysql