mysqi extension is missing - php

I had uncommented the 'extension=php_mysqli.dll' in the PHP config file but I'm still getting the error message that my mySQLi extension is missing. What else do I verify?

After restarting your web service, check PHP info:
phpinfo();
Does the extension appear there? If so, it loaded correctly. If not, you are likely missing the DLL, or have the wrong extension path.
Look for something like this:

For anyone else using ubuntu. I ran into this problem on a fresh ubuntu installation. I solved it by adding this line to php.ini.
extension=mysqli.so
My php.ini was located # /etc/php5/apache2/php.ini

I was also getting the same error while clicking on phpmyadmin and tried all possible solns povided in google. i tried with wamp and then reinstalling xamp.neither didnt and looked at the php.ini file.but everything was perfect. Later i realised i was selecting google chrome as my default browser while installing xamp. but then i tried opening localhost with Internet Explorer and everyhtng was fine.
Thanks
Sobbosanchi

Was on this problem for hours...
Solved it by changing extension_dir = "ext" to extension_dir = "C:/PHP-5.5.13/ext"
Seems like it doesn't like relative pathing...

Related

How do i remove the mysqli error on php 7.2

I am facing an error with PHP 7.2:
The mysqli extension is missing. Please check your PHP configuration.
See [a#doc/html/faq.html#faqmysql#documentation]our documentation for
more information.
Does anybody know how to fix this?
I got PHP 7.2 and I have in the php.ini file: extension=mysqli.
You can check this question on SO. There are other solution. Try out which works for you.
The mysqli extension is missing. Please check your PHP configuration
I had this issue recently where I have PHP 7.2 and I have in the php.ini file: extension=mysqli. uncommented and the extension was in the ext/ folder.
The issue was that I had uncommented another line:
Default Value: -1 (Unlimited)
I am not sure why this caused an issue with the mysqli extension, but it did and it took me a long time to debug. Someone else smarter than me might be able to provide an answer.
Most people will probably solve the issue by making sure the mysqli extension is uncommented in php.ini and available in the ext/ folder.
For Windows:
Go to the php.ini file, search for "extension=msqli".
Then beneath the above line is a path indicating where the extension is gotten from in your C:\ drive. Now you can either change this to ".so" or ".dll" depending on what you have in your PHP extension folder.
First of all Sorry if it is too late to help and for my bad english writting : maybe this will work for you if none of the other given solutions did not work , so try this one :
in your httpd.conf ( apache configuration file ) , find out the line that shows the PHPinitDir , it may looks like this :
PHPIniDir "C:\Program Files\PHP\\"
in this line , try to remove the last backslash so that it becomes like this :
PHPIniDir "C:\Program Files\PHP"
lastly restart apache server so that it updates this new config ...
Hopes it helps
Thank you and Good luck
in my case it fixed by deleting browser cookie!
Try the below steps. This should solve your problem.
In file php.ini find the link that says extension=mysqli.
Replace by: extension="C:\php\ext\php_mysqli.dll".
Restart apache.

What does xampp expect as a php.ini?

I am using xampp and in the process of trying to debug with netbeans I am getting "Waiting For Connection". In searching the web I found that the php.ini needs to be edited but I am not sure which one. When I go into the PHP folder through xampp there is php.ini-production and php.ini-development. I read the comments in the file but I still do not understand. Any help is appreciated. Thanks.
I have searched around stack overflow and found the proper code for the ini but it seems there is nothing that shows you how to set the ini up in xampp.
I want to fix the php.ini file so that I can debug with netbeans
Well to find out the location of your php.ini file, you can create a file called phpinfo.php with the following function: phpinfo().
This will display information about your Php installation including the path to the php.ini file.
Also see this related question: How to locate the php.ini file (xampp)

Editing php.ini is not causing any effect

I tried everything, but I can't make it work. I recently installed MAMP. The PRO version came with an option to add OAuth via a checkbox, but now that the PRO version expired I need to install it by hand.
When I check phpinfo() on my browser it says that the path to my php.ini file is:
/Applications/MAMP/bin/php/php7.1.0/conf/php.ini
Also, there is (none) under additional ini files. So I am pretty sure that is the correct php.ini file
The problem is that after adding the OAuth extension to the ini file, and restarting MAMP, PHP still can't find OAuth.
Also strange is that I don't see any of the other enabled extensions (like mcrypt) in the phpinfo() output.
Any tip in the right direction will be appreciated,
Thanks!
After much debugging, this is what I did in order to figure out the problem and solve it.
As suggested in the comments of my question, once I checked the http logs I found out that PHP was not finding the extensions.
I checked php.ini for extension_dir and it was pointing to a different path than the one that pecl was installing packages on.
If you need to find that path, simply use:
pear config-get php_dir
After correcting that everything works fine.

XAMPP and cURL not working, after uncommenting php.ini

Someone else with the same problem still didn't get a decent answer/fix for my problem:
Before you comment or criticize, please make sure you read my proceedures below so as not to repeat what I've seen 100x already in Google and Stack Overflow...
XAMPP (Lite) installed on Windows 7 in C:\xampplite (newest version, only one php.ini file in C:\xampplite\php)
XAMPP and PHP scripts run correctly in http://localhost/
libcurl installed (by XAMPP default) in C:\xampplite\php\ext\php_curl.dll
php.ini edited and saved for removal of ; at beginning of line extension=php_curl.dll
php.ini default for extension_dir = "C:\xampplite\php\ext" correct and left alone
Apache service restarted in Windows Services
Computer restarted
Apache service (manually) restarted again
phpinfo(); still does not display anything with the word "curl" in it
Still no success
Thanks in advance.
I had the exact same problem but could not find the solution online.
Every site I saw said to uncomment "extension=php_curl.dll" which didn't fix the problem.
I finally solved it by adding the path to curl.dll to the variable.
That is, I changed: extension=php_curl.dll
to:
extension="F:/WebServer/PHP/ext/php_curl.dll"
Hope this helps you or somebody else.
I had a similar problem except for error reporting. Searched all over the internet and all I found was "modify the php.ini file". I modified all the php.ini files but I was still getting the same error. Turns out WAMP has visual settings which I believe overwrite the php.ini. So to turn on curl, you'd left click on XAMPP icon in your start start menu -> PHP -> PHP Settings -> php_curl (make sure it is checked).
Maybe this is your problem.
Hope it helps.
-c0d3
Try executing curl
xampp/apache/bin/curl.exe
with admin privileges.
Restarting the PHP server will do.

PHP Sqlite Configuration in Windows Not Working

I am having difficulty getting PHP(5) on Windows to work with Sqlite. After some research, I found that I have to change the php.ini file so that it reads (without semi-colons):
extension=php_pdo.dll
extension=php_sqlite.dll
I ran the phpinfo() command, and verified that my computer is reading the right php.ini file. Additionally, I have both php_sqlite.dll and php_pdo_sqlite.dll located in an ext file located in the folder with the php.ini file. However, phpinfo indicates that the PDO drivers are "no value", and there is no indication of sqlite anywhere.
I am now stuck, because all of my resources state that the above should work. I noticed that my php.ini file has the following: extension=php_pdo_sqlite.dll and extension=php_sqlite.dll. The "extension=php_pdo_sqlite.dll" is different from "extension=php_pdo.dll" in my above example. I tried removing the extension and adding "extension=php_pdo.dll", but that did not make a difference.
Does anyone know how to resolve this issue?
Thank you,
DFM
As a resolution to this issue, I ended up installing WAMP and using a basic editor, instead of the IDE. The php.ini file was already configured so connecting to Sqlite was pretty much straight forward.
Thanks,
DFM

Categories