缺少扩展名mysqli,phpmyadmin不';行不通
我对ubuntu 12.04上的phpmyadmin有问题。 我已经安装了apache2、php5、mysql和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.** ---- ---
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将无法工作,但是显示的是