我浏览了所有我能找到与这个问题和我的问题相关的论坛,但没有任何效果。我有 apache2.2 和 php5、phpMyAdmin 和 MySQL。我取消了扩展的注释,我检查了我的phpinfo()
并且 mysqli 没有出现。我的配置目录是它应该在的位置,但它仍然不会加载。
16 回答
- 找出使用了哪个 php.ini。
在文件 php.ini 中,这一行:
extension=mysqli
替换为:
extension="C:\php\ext\php_mysqli.dll"
- 重启阿帕奇
我知道这是不久前的事了,但我遇到了这个问题并在这里遵循了其他答案但无济于事,我通过这个问题找到了解决方案(Stackoverflow 问题)
基本上只需要编辑 php.ini 文件(我的文件位于 c:\xampp\php\php.ini)并取消注释这些行......
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
重新启动 apache 后,一切都按预期工作。
如果你的配置文件没问题但还是有同样的问题,那么根据安装的php版本安装php7.x-mysql。
例如,在我的情况下,我使用的是 php7.3,所以我运行了以下命令来完成所有设置:
sudo apt install php7.3-mysql
systemctl reload apache2
在您的 Xampp 文件夹中,打开
php.ini
PHP 文件夹中的文件,即xampp\php\php.ini
(使用文本编辑器)。搜索
extension=mysqli
(Ctrl+F),如果有两个,则查找没有注释的那个(后面不带“;”)使用正确的路径地址更改 mysqli,即
extension=C:\xampp\php\ext\php_mysqli.dll
.在 Xampp 控制面板上,停止并启动 apache 和 MySQL
本文可以帮助您在 Windows 中使用 MySQL 为 Apache 2 或 IIS 配置 PHP。查看“在 Apache 2 下配置 PHP 和 MySQL”部分,第 3 点:
extension_dir = "c:\php\extensions" ; FOR PHP 4 ONLY
extension_dir = "c:\php\ext" ; FOR PHP 5 ONLY
您必须取消注释 extension_dir 参数行并将其设置为 PHP 扩展目录的绝对路径。
sudo apt-get install php7.2-mysql
extension=mysqli.so(添加这个 php.ini 文件)
sudo service apahce2 restart
请使用上述命令解决 mysqli-extension 缺失错误
将 libmysql.dll 从 PHP 安装文件夹复制到 windows 文件夹。
只需在 php.ini 文件中指定可加载扩展(模块)所在的目录
; On windows:
extension_dir="C:\xampp\php\ext"
至
; On windows:
;extension_dir = "ext"
然后启用扩展如果它被禁用通过更改
;extension=mysqli
至
extension=mysqli
我一直在寻找几个小时,没有人能帮助我。我做了一个简单的事情来解决这个问题。(Windows 10 x64)
按照这个:
1 - 转到您的 php_mysqli.dll 路径(在我的情况下:C:/xampp/php/ext);
2 - 将 php_mysqli.dll 移动到上一个文件夹(C:/xampp/php);
3 - 打开 php.ini 并搜索以下行:“扩展名:php_mysqli.dll”;
4 - 更改文件所在的路径:extension="C:\xampp\php\php_mysqli.dll";
5 - 重新启动您的应用程序(wampp、xampp 等)并启动 Apache Server;
问题是路径 ext/php_mysqli.dll,我尝试将行更改为 extension="C:\xampp\php\ext\php_mysqli.dll" 但没有用。
我有同样的问题,我解决了。如果您按照以下步骤操作,您也可以解决它:
- 您必须将 PHP 安装到C:/php 或您当前的版本将其定位到此路径并将其指定为系统变量
然后打开 xampp 程序并单击配置并打开 php.ini 并取消注释以下行:
extension=pdo_mysql extension=pdo_mysql extension=openssl
我今天遇到了这个问题,最终我意识到是 mysql dll 之前的行上的注释导致了问题。
这是 PHP 5.5.16 默认在 php.ini 中应该有的内容:
;extension=php_exif.dll Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
除了删除分号之外,您还需要删除 php_exif.dll 之后的注释行。这给你留下了
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
这解决了我的问题。
我只是将我的 php_myslqli.dll 文件从 ert 文件夹复制回 php 文件夹,从控制面板重新启动我的 Apache 和 MySQL 后它对我有用
代替
include_path=C:\Program Files (x86)\xampp\php\PEAR
有以下
include_path="C:\Program Files (x86)\xampp\php\PEAR"
即添加逗号,我检查了显示语法错误的 apache 错误日志,因此检查了整个文件的语法错误。
就我而言,在完全安装 Debian 10 后我遇到了类似的问题。
命令行:
php -v
显示我正在使用php7.4
,但 printphpinfo()
给了我php7.3
解决方法:禁用php7.3 启用php7.4
$ a2dismod php7.3
$ a2enmod php7.4
$ update-alternatives --set php /usr/bin/php7.4
$ update-alternatives --set phar /usr/bin/phar7.4
$ update-alternatives --set phar.phar /usr/bin/phar.phar7.4
$ update-alternatives --set phpize /usr/bin/phpize7.4
$ update-alternatives --set php-config /usr/bin/php-config7.4
它是扩展目录的问题。您需要手动更改 php 扩展目录才能工作。
如果您使用的是 AMPP 服务器,请执行以下操作
转到设置 -> PHP -> 配置
在 php7.3.ini 中查找,(版本可能会改变)
extension_dir = "" , (已经有一些路径)
并将值更改为
extension_dir = "C:\Program Files\Ampps\php-7.3\ext"
如果您使用 XAMP
转到 XAMP 设置,Apache -> PHP.ini
在 php.ini 中找到 extension_dir =,并设置本地机器的 php 扩展文件夹的路径。请参见下面的示例。
extension_dir = "C:\php\ext" (正确检查您的路径)
解决我的问题的事情是:打开php.ini
然后添加这个extension=php_mysqli.dll