缺少扩展名mysqli,phpmyadmin不起作用

2020/10/31 23:02 · php ·  · 0评论

我在ubuntu 12.04上使用phpmyadmin遇到问题。我已经安装了apache2,php5,mysql和phpmyadmin。

phpinfo();脚本不显示有关mysqli或mysql扩展的信息。

当我尝试启动phpmyadmin时,出现此错误:

----
** phpMyAdmin-错误**
-------
**缺少mysqli扩展名。请检查您的PHP配置。**
----

在php.ini文件中,我未注释extension=mysql.so行,但不起作用...

有人有其他可行的解决方案吗?

最新的phpMyAdmin版本需要mysqli扩展名,并且将不再与mysqli一起使用(请在名称末尾加上额外的“ i”)。

对于PHP 5

sudo apt-get install php5-mysqli

对于PHP 7.3

sudo apt-get install php7.3-mysqli

将安装包含旧版本和新版本的软件包,因此之后您要做的就是添加

extension=mysqli.so

在您的php.ini中,主题为“动态扩展”。

重新启动Apache:

sudo systemctl restart apache2

进行身份验证,然后按Enter。

需要被完成!如果问题仍然存在,请删除浏览器缓存。

sudo apt-get install php5-mysql
sudo apt-get install php5-mysqlnd 

尝试两种选择都对我有用

如果您在文件中的本地主机上运行PHPMyAdmin,请取消注释/etc/php5/apache2/php.ini此行:

mysqli.allow_local_infile = On

重新启动Apache:

sudo /etc/init.d/apache2 restart

只需重新启动apache2和mysql:

  • apache2: sudo /etc/init.d/apache2 restart

  • MySQL的: sudo /etc/init.d/mysql restart

然后刷新您的浏览器,享受phpmyadmin :)

我尝试了很多答案,但似乎都没有用,因为php7.0不是默认值。

sudo apt-get upgrade

似乎为我完成了工作,但是之后我不得不重新安装php7.0和phpmyadmin:

sudo apt-get install php7.0 php7.0-mysql
sudo apt-get install apache2 apache2-mod-php7.0
sudo apt-get install phpmyadmin

希望能帮助到你!

我遇到了同样的问题,并通过执行以下步骤解决了问题

  1. 首先检查PHP版本。如果您有多个PHP版本。假设您有PHP版本,例如php7.0,php7.1和php 7.2,然后

  2. 运行这些命令

对于PHP7.0

sudo apt-get install php7.0-mysql
sudo apt-get install php7.0-mysqlnd 

对于PHP7.1

sudo apt-get install php7.1-mysql
sudo apt-get install php7.1-mysqlnd 

对于PHP7.2

sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-mysqlnd 

对于PHP7.3

sudo apt-get install php7.3-mysql
sudo apt-get install php7.3-mysqlnd
  1. 编辑ini文件,然后查找mysqli。通过删除来取消注释行
    对于所有PHP版本

    扩展名= mysqli.so

/etc/php/<php.version>/apache2/php.ini

对于PHP7.0

sudo nano /etc/php/7.0/apache2/php.ini

对于PHP7.1

sudo nano /etc/php/7.1/apache2/php.ini

对于PHP7.2

sudo nano /etc/php/7.2/apache2/php.ini

对于PHP7.3

sudo nano /etc/php/7.3/apache2/php.ini

最后重启Apache服务器

sudo /etc/init.d/apache2 restart

我通过编辑/usr/local/zend/etc/php.ini解决了这个问题。

(通过执行netstat -nlp-grep apache,然后使用strace -p somepid-grep php.ini找到它)。

在文件末尾,我添加了:

extension=/usr/lib/php5/20090626+lfs/mysql.so
extension=/usr/lib/php5/20090626+lfs/mysqli.so
extension=/usr/lib/php5/20090626+lfs/mcrypt.so

没有路径添加它不起作用。

然后重新启动后,它开始工作了。

对于ubuntu用户,请打开您的终端并输入以下命令

sudo apt-get install mysql

之后,只需键入以下命令即可重新启动apache2

sudo service apache2 restart 

刷新您的浏览器并享受phhmyadmin

检查extension_dir是您要从phpinfo()检查的事情之一。在我的情况下,默认情况下,extension_dir =“ ./”这是错误的。将其更改为extension_dir ='./ext/'或当前所有扩展dll所在的位置。

您需要MySQLi模块。手动安装phpMyAdmin时通常会发生此错误。

sudo apt-get install php7.3-mysql

它将带您回去。

[Creating config file /etc/php/7.3/mods-available/mysqlnd.ini with new version]

[Creating config file /etc/php/7.3/mods-available/mysqli.ini with new version]

然后。

sudo service apache2 restart.

然后。

Press F5 on your browser.

对于使用php-fpm的Ubuntu 20.04用户,我通过在php conf中添加完整路径来解决此问题:

编辑/etc/php/7.4/fpm/conf.d/20-mysqli.ini

并更换

extension=mysqli.so

与:

extension=/usr/lib/php/20190902/mysqli.so

这对我有用,用php和mysql脚本创建数据库并打开mysql控制台,然后输入create user'yourName'@'127.0.0.1',然后输入授予上的所有特权到“ yourName” @“ 127.0.0.1”,然后打开浏览器转到localhost,应该建立数据库,然后转到phpmyadmin页面,您会看到它在那里弹出。

在Ubuntu 12.04上,我不得不进行更改mssql.compatability_mode = On穿上工作

由于升级后出现此问题,因此我只禁用了Apache2-php5

a2dismod php5

和激活的php7

a2enmod php7

希望它可以帮助任何人!

如果您正在使用XAMPP等,只需将此行添加到您的php.ini中。还要检查它是否已经存在,只需删除;从它的前面

extension= php_mysqli.dll

然后停止并启动apache和MySQL,它将正常工作。

我在ubuntu上遇到了相同的错误,对我有用的是在/etc/php/7.3/apache2/php.ini中编辑2行

  ;extension=mysqli to   extension=mysqli

在取消注释后将扩展变量位置赋予mysqli.so

   extension=/usr/lib/php/20170718/mysqli.so

然后重新启动服务只是为了确保

systemctl start mysql

作为记录,我的系统是Ubuntu Server 20.04,这里的解决方案均无效。对我来说,我安装了PHP 7.4,必须进行编辑enter code here/ etc / php / 7.4 / apache2 / php.ini`。

在其中搜索;extension=mysqli,取消注释并更改mysqli为,mysqlnd因此它应该像这样extension=mysqlnd我尝试使用,mysqli但是遇到了同样的错误,好像我没有启用它但mysqlnd为我工作。

遇到了同样的问题,但是在我的情况下,原因是Ubuntu和php版本的更新-从18.04和php-7.2更新到20.04和php-7.4。

Nginx服务器是相同的,因此在我的/ etc / nginx / sites-available / default中是旧数据:

server {
  location /pma {
    location ~ ^/pma/(.+\.php)$ {
      fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
  }
}

我无法使phpmyadmin处理任何php.ini更改以及该线程的所有答案,但有一段时间我打开了/ etc / nginx / sites-available / default并意识到,我仍然具有旧版本的php 。所以我只是将其更改为

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

并且问题消失了,phpmyadmin神奇地开始工作而没有任何mysqli文件投诉。我什至仔细检查了一下,但是是的,这就是它的工作原理-如果您的nginx配置文件中的php-fpm.sock版本错误,则phpmyadmin将无法工作,但显示的原因是“缺少mysqli扩展名”

这将工作100%

用记事本打开php配置文件,找到以下行:-

;extension=mysqli.dll

更改为

extension=mysqli.dll 

通过删除“;”

保存

然后重新启动apache服务器,它在win xp上为我工作

本文地址:http://php.askforanswer.com/queshaokuozhanmingmysqliphpmyadminbuqizuoyong.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!