English 中文(简体)
扩展我的sqli不见了, phpmyadmin不工作
原标题:Extension mysqli is missing, phpmyadmin doesn t work

I have a problem with phpmyadmin on ubuntu 12.04. I have already installed apache2, php5, mysql and phpmyadmin.

phpinfo (); 脚本, 不要显示关于 Mysqli 或 Mysql 扩展名的任何内容 。

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

----
**phpMyAdmin - Error**
-------
**The mysqli extension is missing. Please check your PHP configuration.**
----

在php.ini 文件中,我未加填充 extensiion=mysql.so 线条,但无效...

谁有别的办法?

最佳回答

最新的phpMyAdmin版本需要 Mysqli 扩展名,

PHP 7.3 < pHP 7.3 < 强 >

sudo apt-get install php7.3-mysqli

PHP 8 < 强 > < pHP 8 < pHP 8

sudo apt-get install php8.0-mysqli

将安装包含旧软件包和新软件包的软件包, 所以随后你需要做的就是添加

extension=mysqli.so

在你的php.ini, 在主题 动态扩展。

重新启动缓存 :

sudo systemctl restart apache2

需要时认证并按下输入 。

应该完成! 如果问题还在, 请删除浏览器缓存 。

问题回答
sudo apt-get install php5-mysql
sudo apt-get install php5-mysqlnd 

两种尝试都为我工作

如果您在文件 /etc/php5/apache2/php.ini 中的本地主机未提示上运行 PHPMyAdmin, 此行 :

mysqli.allow_local_infile = On

重新启动 Apache :

sudo /etc/init.d/apache2 restart

只要重新开始 apache2 和 Mysql :

  • <强>apache2: sudo/etc/init.d/pache2 重新启动

  • mysql: sudo/etc/init.d/mysql 重新启动

然后刷新浏览器, 享受 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, 那么您会有 PHP 版本, 比如 php7. 0, php 7. 1 和 php 7. 2 。

  2. 运行这些命令

PHP7.0 < 强 > pHP7.7

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

PHP7.1 < 强 > pHP7.1

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

PHP7.2 < 强 > pHP7.2

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

PHP7.3 < 强 > pHP7.3

sudo apt-get install php7.3-mysql
sudo apt-get install php7.3-mysqlnd
  1. Edit the ini file and look for mysqli. Uncomment the line by removing ; for all php versions

    扩展号= Mysqli.so

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

PHP7.0 < 强 > pHP7.7

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

PHP7.1 < 强 > pHP7.1

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

PHP7.2 < 强 > pHP7.2

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

PHP7.3 < 强 > pHP7.3

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

上次重新启动 Apache 服务器

sudo /etc/init.d/apache2 restart

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

(通过做网 Stat -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 即可重新打开 Apache2 。

sudo service apache2 restart 

刷新浏览器并享受phhmyadmin

For Ubuntu 20.04 users with php-fpm I fixed the issue by adding the full path in the php conf:

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

替换

extension=mysqli.so

与:

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

检查扩展目录是您想要从 phpinfo () 中检查的东西之一。 在我的案例中, 默认的扩展目录= ". /" 是错误的。 将其更改为扩展目录=. /ext/ 或您所有的扩展目录目前所在的位置 。

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

extension= php_mysqli.dll

并停止并启动 apache 和 MySQL 它会工作。

您需要 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]

然后就说吧 然后就说吧 Then.

sudo service apache2 restart.

然后就说吧 然后就说吧 Then.

Press F5 on your browser.

这对我有效, 建立一个包含 php 和 Mysql 脚本的数据库, 打开 Mysql 控制台并输入创建用户 您@ 127. 0.0.1, 然后在 < em> 键入所有权限 。 to your name@ 127. 0.0.1 然后打开浏览器到本地主机, 并建立一个数据库, 然后转到您的 phpmyadmin 页面, 你会看到它在那里出现 。

at ubuntu 12.04 i had to change mssql.compatability_mode = On. put On and works

升级后我遇到这个问题 我刚刚禁用了阿帕契2php5

a2dismod php5

和激活的php7

a2enmod php7

希望它能帮助任何人!

我在ubuntu遇到同样的错误,我的工作是编辑/etc/php/7.3/apache2/phpini中的两行。

  ;extension=mysqli to   extension=mysqli

并给出了 < 强度 > 扩展点 变量位置为 < 强度 > Mysqli. so

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

然后重新启动服务以确认

systemctl start mysql

为了记录在案,我的系统是 Ubuntu 服务器 20.04, 这里的解决方案都行不通。 对于我, 我安装了PHP 7. 4, 我不得不在这里编辑 < code> enter 代码 / etc/php/7.4/apache2/php.ini> 。

在此范围内, 搜索 < code > ; extension=mysqli , uncomment and change mysqli to mysqld , 这样它应该看起来像 extension=mysqld 。 我尝试了使用 mysqli , 但我遇到的错误与我无法启用的错误相同, 但 mysqlnd 为我工作。

有同样的问题,但就我而言,原因是Ubuntu和php版本的更新----从18.04和php-7.2到20.04和php-7.4。

Nginx 服务器是相同的, 所以在我的 < 坚固>/ etc/ nginx/ sites- 可用/ 默认 < / 坚固 > 中, 旧数据是 :

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

我无法让phpmyadmin 与任何php.ini的改变和所有答案一起工作, 和所有来自这条线索的答案, 但在某些时候,我打开了 /etc/nginx/ sites- 可用/ 默认并意识到, 我仍然有旧版的php。所以我把它改成了

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

问题已经解决了, phpmyadmin 神奇地开始工作, 没有任何 Mysqli- file 抱怨。 我甚至重复检查过它, 但是是的, 如果您在 nginx 配置文件中对 php- fpm. sock 使用错误的版本, 您的 phpmyadmin 将无法工作, 但显示的理由将会是 < 坚固 > 。 Mysqli 扩展名缺少

我希望我的回答能成功帮助某人, 近些年来我不得不尝试许多混合和配方,

这个解决方案在Ubuntu 20.04桌面上对我有效,桌面有 < 强 > PHPv7.4 、 < 强 > PHPv8.7 和 < 强 > MySQL v8.0.25 设置。

What I did was edited /etc/php/7.4/apache2/php.ini and /etc/php/8.0/apache2/php.ini files and replaced extension=mysqli.so with extension=/usr/lib/php/20190902/mysqli.so in both the files.

稍后,通过 sudo systemsctl restart apache2 sudo systemsctl 重新启动 Mysql , 重新启动了这两个系统( PHPP 和 MySQL) 。 刷新了 Chrome, phpMyAdmin 以登录屏幕响应 。

(<强度> UPATE: 请检查您是否也有 / usr/ lib/ php/20200930/ mysqli. so 文件。 我测试了这个文件, 因为它按目录日期看更新, PHP 的文件都使用 < code> extension=/ usr/ lib/ php/20200930/ mysqli.so )





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签