admin管理员组

文章数量:1302409

For days I have been trying to install easyphp deveserver 17 which I have used for many years but whenever I install it, I can not access mysqli or phpMyAdmin. I get the following error

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

When I follow the documentation it shows


; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

The php.ini can be loaded from several locations (especially on Windows), so please check you’re updating the correct one. If using Apache, you can tell it to use specific path for this file using PHPIniDir directive:

LoadFile "C:/php/php5ts.dll"
LoadModule php5_module "C:/php/php5apache2_2.dll"
<IfModule php5_module>
    PHPIniDir "C:/PHP"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

I have tried many times yet I still get the same thing meanwhile Laragon server and Server2go work fine on my system and I can access their database not only when they are running separetly but even when they are running at the same time. But for Easyphp where I have many years of database stored, I can't access the database or phpMyAdmin due to phpMyAdmin - Error

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

I have searched the net, asked chatgpt, unistall easyphp, reinstalled easyphp in a different folder... same result and all these are happening even Without UPGRADING the PHP version. When I upgraded the PHP version also same ting.

I have checked phpinfo, edited php.ini file, even did a system restore hoping it may have been a drivers competing with the port 3306 of mysqli, tried to change the port from 3306 to 3307 to no avail... read some post on Stack Overflow... I reversed it to port 3306 and upgraded to PHP 8.3 and still nothing. Here is a screenshot of my phpinfo. I noticed in it

Configuration File (php.ini) Path no value Loaded Configuration File D:\000_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\php.ini

extension_dir D:extension_dir = D:extension_dir D:extension_dir = D:extension_dir

MySQLi Zak Greant, Ge Richter, Andrey Hristov, Ulf Wendel

and in php.ini I have extension=mysqli

in my php.ini I have noticed something weird, a duplicate of line

extension_dir = "D:extension_dir = "D:extension_dir = "ext"
0_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"
0_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"

however everytime I changed or corrected it to

extension_dir = "D:\000_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"

as soon as I restart the server it reverts back to that value until I set the file to read-only.

For days I have been trying to install easyphp deveserver 17 which I have used for many years but whenever I install it, I can not access mysqli or phpMyAdmin. I get the following error

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

When I follow the documentation it shows


; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

The php.ini can be loaded from several locations (especially on Windows), so please check you’re updating the correct one. If using Apache, you can tell it to use specific path for this file using PHPIniDir directive:

LoadFile "C:/php/php5ts.dll"
LoadModule php5_module "C:/php/php5apache2_2.dll"
<IfModule php5_module>
    PHPIniDir "C:/PHP"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

I have tried many times yet I still get the same thing meanwhile Laragon server and Server2go work fine on my system and I can access their database not only when they are running separetly but even when they are running at the same time. But for Easyphp where I have many years of database stored, I can't access the database or phpMyAdmin due to phpMyAdmin - Error

The mysqli extension is missing. Please check your PHP configuration. See our documentation for more information.

I have searched the net, asked chatgpt, unistall easyphp, reinstalled easyphp in a different folder... same result and all these are happening even Without UPGRADING the PHP version. When I upgraded the PHP version also same ting.

I have checked phpinfo, edited php.ini file, even did a system restore hoping it may have been a drivers competing with the port 3306 of mysqli, tried to change the port from 3306 to 3307 to no avail... read some post on Stack Overflow... I reversed it to port 3306 and upgraded to PHP 8.3 and still nothing. Here is a screenshot of my phpinfo. I noticed in it

Configuration File (php.ini) Path no value Loaded Configuration File D:\000_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\php.ini

extension_dir D:extension_dir = D:extension_dir D:extension_dir = D:extension_dir

MySQLi Zak Greant, Ge Richter, Andrey Hristov, Ulf Wendel

and in php.ini I have extension=mysqli

in my php.ini I have noticed something weird, a duplicate of line

extension_dir = "D:extension_dir = "D:extension_dir = "ext"
0_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"
0_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"

however everytime I changed or corrected it to

extension_dir = "D:\000_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"

as soon as I restart the server it reverts back to that value until I set the file to read-only.

Share edited Feb 13 at 14:52 Man Of God asked Feb 10 at 21:20 Man Of GodMan Of God 7843 gold badges15 silver badges33 bronze badges 6
  • 1 What would help is if you shared the relevant parts of phpinfo(). Is mysqli extension showing up there? What is the path to the ini file? Is the mysqli extension uncommented in that ini file? – Dharman Commented Feb 11 at 14:36
  • @Dharman in my php info i see MySQLi Zak Greant, Ge Richter, Andrey Hristov, Ulf Wendel – Man Of God Commented Feb 13 at 8:11
  • I downloaded/installed the vccredist2012 (both x64 and x86), then installed EasyPHP 17. Then I had to click stop-all-servers. I added dashboard_port=8888 in the C:\Program Files (x86)\EasyPHP-Devserver-17\eds.ini file. Then i still had to manually run ./httpd.exe -k install as admin from this folder. After rebooting I was able to visit localhost:8888. I created a phpinfo() script and could see the mysqli extension by default. I didn't have to do anyth else – Pieterjan Commented Feb 13 at 9:50
  • ... which I cannot see on your phpinfo page. mysql and mysqli should be above mysqlnd which isn't the case for you. I would suggest you try the steps in my previous comment. It worked for me. – Pieterjan Commented Feb 13 at 9:54
  • 1 Your comment on php.ini being reset on each restart of easyphp, is why I mentioned you have to edit the eds.ini file instead. That file is the single source of truth. The file C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\httpserver\apache2...\conf\httpd.conf is being reset on each reboot from the config from eds.ini – Pieterjan Commented Feb 13 at 15:50
 |  Show 1 more comment

1 Answer 1

Reset to default 0

The solution was to 1 - download easyphp sever 32 bit and apache2443vc15x86x250213064314 2 - PHP 8 from easyphp 32 bit

edit the PHP.ini file in the PHP 8 server and set the URL

extension_dir = "D:\000_WORK\EasyPHP-Devserver-17\eds-binaries\php\php833vs16x86x250213064440\ext"

3 - make the PHP read only so it does not get modified afterwards

4 - somehow go to the server folder of the database used and launch every single exe file that is in there as an administrator and then restart the machine.

本文标签: