Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缺少扩展名mysqli,phpmyadmin不';行不通_Php_Mysql_Phpmyadmin_Ubuntu 12.04 - Fatal编程技术网

缺少扩展名mysqli,phpmyadmin不';行不通

缺少扩展名mysqli,phpmyadmin不';行不通,php,mysql,phpmyadmin,ubuntu-12.04,Php,Mysql,Phpmyadmin,Ubuntu 12.04,我对ubuntu 12.04上的phpmyadmin有问题。 我已经安装了apache2、php5、mysql和phpmyadmin phpinfo()脚本,不要显示任何关于mysqli或mysql扩展的内容 当我尝试启动phpmyadmin时,会出现以下错误: ---- **phpMyAdmin - Error** ------- **The mysqli extension is missing. Please check your PHP configuration.** ---- ---

我对ubuntu 12.04上的phpmyadmin有问题。 我已经安装了apache2、php5、mysql和phpmyadmin

phpinfo()脚本,不要显示任何关于mysqli或mysql扩展的内容

当我尝试启动phpmyadmin时,会出现以下错误:

---- **phpMyAdmin - Error** ------- **The mysqli extension is missing. Please check your PHP configuration.** ---- ---- **phpMyAdmin-错误** ------- **缺少mysqli扩展。请检查您的PHP配置** ---- 在php.ini文件中,我取消了
extension=mysql.so
行的注释,但不起作用


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

最新的phpMyAdmin版本需要mysqli扩展,并且不再与mysql one一起使用(请注意名称末尾的额外“i”)

适用于PHP 5

sudo apt-get install php5-mysqli
适用于PHP7.3

sudo apt-get install php7.3-mysqli
sudo apt-get install php7.3-mysql
sudo apt-get install php7.3-mysqlnd
sudo nano /etc/php/7.3/apache2/php.ini
将安装包含旧版本和新版本的软件包,因此以后您只需添加

extension=mysqli.so
在php.ini中的“动态扩展”主题下

重新启动apache:

sudo systemctl restart apache2
验证并按enter键


应该这样做!如果问题仍然存在,请删除浏览器缓存。

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

mysqli.allow_local_infile = On
重新启动Apache:

sudo /etc/init.d/apache2 restart

这对我来说很有效,使用php和mysql脚本创建一个数据库,打开mysql控制台,输入create user'yourName'@'127.0.0.1',然后输入grant all privileges on。到'yourName'@'127.0.0.1'然后打开一个浏览器,转到localhost并创建一个数据库,然后转到您的phpmyadmin页面,您将看到它弹出在那里。

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

(通过执行netstat-nlp△grep apache,然后执行strace-psomepid△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
在没有路径的情况下添加它不起作用


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

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

只需重新启动apache2和mysql:

  • apache2:
    sudo/etc/init.d/apache2重启

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

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


试试这两种方法,或者在Ubuntu12.04上它对我有效,我必须更改
mssql.compatibility\u mode=On

我尝试了很多答案,但没有一个有效,因为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

希望有帮助

对于ubuntu用户,打开终端并键入以下命令

sudo apt-get install mysql
之后,只需键入以下命令重新启动apache2

sudo service apache2 restart 

刷新浏览器并享受phhmyadmin

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

a2dismod php5
并激活php7

a2enmod php7

希望它能帮助任何人

如果您使用的是XAMPP等,只需将这一行添加到php.ini中即可。同时检查它是否已经存在,只需删除即可;从它前面

extension= php_mysqli.dll

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

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

  • 首先检查PHP版本。如果您有多个PHP版本。假设您有php7.0、php7.1和php7.2这样的PHP版本

  • 运行这些命令

  • 适用于PHP7.0

    sudo apt-get install php7.0-mysql
    sudo apt-get install php7.0-mysqlnd 
    
    sudo nano /etc/php/7.0/apache2/php.ini
    
    适用于PHP7.1

    sudo apt-get install php7.1-mysql
    sudo apt-get install php7.1-mysqlnd 
    
    sudo nano /etc/php/7.1/apache2/php.ini
    
    适用于PHP7.2

    sudo apt-get install php7.2-mysql
    sudo apt-get install php7.2-mysqlnd 
    
    sudo nano /etc/php/7.2/apache2/php.ini
    
    适用于PHP7.3

    sudo apt-get install php7.3-mysqli
    
    sudo apt-get install php7.3-mysql
    sudo apt-get install php7.3-mysqlnd
    
    sudo nano /etc/php/7.3/apache2/php.ini
    
  • 编辑ini文件并查找mysqli。通过删除取消对行的注释 适用于所有php版本

    extension=mysqli.so

  • /etc/php//apache2/php.ini

    适用于PHP7.0

    sudo apt-get install php7.0-mysql
    sudo apt-get install php7.0-mysqlnd 
    
    sudo nano /etc/php/7.0/apache2/php.ini
    
    适用于PHP7.1

    sudo apt-get install php7.1-mysql
    sudo apt-get install php7.1-mysqlnd 
    
    sudo nano /etc/php/7.1/apache2/php.ini
    
    适用于PHP7.2

    sudo apt-get install php7.2-mysql
    sudo apt-get install php7.2-mysqlnd 
    
    sudo nano /etc/php/7.2/apache2/php.ini
    
    适用于PHP7.3

    sudo apt-get install php7.3-mysqli
    
    sudo apt-get install php7.3-mysql
    sudo apt-get install php7.3-mysqlnd
    
    sudo nano /etc/php/7.3/apache2/php.ini
    
    最后重新启动apache服务器

    sudo /etc/init.d/apache2 restart
    

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

    那么


    我在ubuntu上遇到了同样的错误,对我有效的是在/etc/php/7.3/apache2/php.ini中编辑了两行代码

      ;extension=mysqli to   extension=mysqli
    
    并在取消注释后将扩展名变量位置赋予mysqli.so

       extension=/usr/lib/php/20170718/mysqli.so
    
    然后重新启动服务以确保

    systemctl start mysql
    

    作为记录,我的系统是Ubuntu服务器20.04,这里没有一个解决方案有效。对我来说,我安装了PHP7.4,我必须在这里编辑
    输入代码
    /etc/PHP/7.4/apache2/PHP.ini`


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

    适用于使用php fpm的Ubuntu 20.04用户 我通过在php配置文件中添加完整路径解决了这个问题:

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

    替换

    extension=mysqli.so
    
    与:


    同样的问题,但在我的例子中,原因是Ubuntu和php版本的更新——从18.04和php-7.2到20.04和php-7.4

    Nginx服务器是相同的,因此在my/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将无法工作,但是显示的是