Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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
phpMyAdmin-缺少MySQL扩展_Php_Mysql_Phpmyadmin - Fatal编程技术网

phpMyAdmin-缺少MySQL扩展

phpMyAdmin-缺少MySQL扩展,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我分别安装了所有东西(Apache、PHP、MySQL和phpMyAdmin),没有使用编译,除了phpMyAdmin之外,所有东西都可以正常工作 我遇到的问题是,当我尝试调用时,错误消息指出“MySQL扩展丢失”: localhost/phpmyadmin/index.php 当我打电话的时候 localhost/phpmyadmin/setup/index.php 我有两条信息,我不知道它是否应该是这样的: Bzip2压缩和解压缩需要函数(bzopen, bzcompress),该系统上不可

我分别安装了所有东西(Apache、PHP、MySQL和phpMyAdmin),没有使用编译,除了phpMyAdmin之外,所有东西都可以正常工作

我遇到的问题是,当我尝试调用时,错误消息指出“MySQL扩展丢失”:

localhost/phpmyadmin/index.php

当我打电话的时候

localhost/phpmyadmin/setup/index.php

我有两条信息,我不知道它是否应该是这样的:

Bzip2压缩和解压缩需要函数(bzopen, bzcompress),该系统上不可用

以及:

Zip解压缩需要不可用的函数(Zip_open) 在这个系统上


有什么建议吗?

您的安装缺少一些php模块,phpmyadmin自述文件中应该有所需模块的列表。如果您最近启用了模块,请尝试重新启动apache服务/守护进程

编辑:文档中似乎没有单独的“启用这些模块”,因此在php.ini中启用
mysql
mysqli
(您可能需要先安装它)


如果您不打算在phpMyAdmin中上载或下载压缩文件,则这两条消息并不重要。如果这样做,请启用
zlib
和/或
bz2
模块。

一些linux发行版有一个php\u-mysqlphp\u-mysqli包要安装。

首先确保正确安装了mysql。您可以通过检查是否可以使用mysql命令promp访问mysql来确保这一点。因此,如果您的mysql正在工作,那么它可能没有加载。为此,请遵循下面给出的步骤

首先,您必须找到php.ini。它可以在任何地方,但如果您使用

<?php phpinfo(); ?>
应该成为

extension=mysql.so
extension=mysql.dll
对于windows,它将是

;extension=mysql.dll
应该成为

extension=mysql.so
extension=mysql.dll

只需检查php.ini文件,在这个文件中,分号(;)用于注释 如果看到,请删除分号

;extension=mysql.dll
现在扩展已启用,但需要重新启动appache

extension=mysql.dll

加载mysql dll时,需要将完整路径放入php ini中,即:-

extension=c:/php54/ext/php_mbstring.dll
extension=c:/php54/ext/php_mysql.dll


然后您就不需要将它们移动到windows文件夹。

在我的情况下,我必须安装扩展:

yum install php php-mysql httpd
然后重新启动apache:

service httpd restart

这就解决了问题。

正如其他人所说,您需要删除“
'来自:
;extension=php_mysql.dll

;extension=php_mysqli.dll

在php.ini中启用mysql和mysqli扩展。但是最重要的是,您应该在php.ini中设置
扩展目录
,以指向扩展目录。大多数情况下,默认设置为“
ext
”。您应该将其更改为extensions文件夹的绝对路径。i、 e.如果您在驱动器C上安装了xampp,那么
C:/xampp/php/ext
是到ext文件夹的绝对路径,它应该像一个魔咒一样工作

我只是补充一下

apt-get install php5-mysqlnd
这将要求从“php5 mysql”覆盖mysql.so


这是我的工作。

安装
bzip2
zip
PHP扩展解决了我在Ubuntu中的问题:

sudo apt-get install php7.0-bz2
sudo apt-get install php7.0-zip

使用
php(you version)-(extension)
安装并启用phpmyadmin自述文件中所需的任何缺失模块。

我也遇到类似问题,但在我的php.ini中添加extension=mysql.so没有帮助。原来mysql.so文件不在我的扩展文件夹中,也不在我机器上的任何其他地方。通过下载php源代码并手动构建扩展,然后将其复制到扩展文件夹中,解决了这个问题。

如果您在其中创建了一个php文件,是否加载了mysql扩展?如果没有,您需要在php.init中激活它,这对大家都很有帮助,但我还需要做一件事,那就是,按照php手册中的描述,将libmysql.dll移动到Windows System32文件夹中-将其添加到Windows路径中也应该可以,但是,一般来说,这个方法不适用于我。如果没有设置“extension_dir”,则只需为每个扩展添加路径。设置“extension_dir”比为每个扩展添加路径容易得多。Ex:extension_dir=“c:/php/ext”来自最新的PHP7.3;注意:以前的PHP版本中使用的语法('extension=.so'和;'extension='PHP_uzy.dll')由于遗留原因而受支持,可能是:;在未来的PHP主要版本中已弃用。所以,如果可能的话,请;移动到新的('extension=)语法。我不熟悉这个。我必须从哪个文件夹运行
sudo apt get install php7.0-bz2