php extensions to be installed mysql openssl
Php extensions to be installed mysql openssl
The OpenSSL library also has additional requirements for normal operation at run-time. Most notably, OpenSSL requires access to a random or pseudo-random number generator; on most Unix and Unix-like platforms (including Linux), this means that it must have access to a /dev/urandom or /dev/random device.
Note: Note to Win32 Users
Additionally, if you are planning to use the key generation and certificate signing functions, you will need to install a valid openssl.cnf file on your system. We include a sample configuration file in our win32 binary distributions, in the extras/openssl directory.
In your installation, you need to decide whether to install the configuration file in the default path or whether to install it someplace else and use environmental variables (possibly on a per-virtual-host basis) to locate the configuration file. Note that it is possible to override the default path from the script using the options of the functions that require a configuration file.
Changelog
User Contributed Notes 8 notes
Having recently installed Apache2.2 with PHP 5.2.17 on my Windows 7 development machine, I want to pass along my findings about how to set things up to load the correct versions of the OpenSSL DLLs. Many people have posted elsewhere about the «DLL Hell» that results if the a wrong version is loaded.
Having verified the PHP installation, turn on the OpenSSL support by uncommenting the line
in php.ini, which you will find in the PHP directory (I’ll assume you made that c:/PHP). Next check the location of php_openssl.dll, which you should find in c:/PHP/ext. Also in php.ini find the key extension_dir, and change its value to c:/php/ext. Next, put this location on the end of your PATH (there’s no need to reboot).
At this point, when you start Apache it will attempt to load php_openssl.dll, but if your setup is anything like mine you will see an error. I prefer to start Apache manually, and the error appears in a dialog box: «The ordinal 4114 could not be located in the dynamic link library LIBEAY32.dll». (I’m not sure whether you would get this message if you started Apache as a service). The Apache log also contains an error message saying that php_openssl.dll cannot be loaded, though that message doesn’t name libeay32.dll. Welcome to DLL Hell.
Libeay32.dll enters the picture because php_openssl.dll depends on it (and also on ssleay32.dll). What I think happens is that Apache first tries to load php_openssl.dll programmatically from the path specified by the extension_dir key. But then, the loading of the so-called dependent DLLs is left to Windows’ default mechanism. If Windows finds an incompatible version of a dependent DLL, you get the error.
So clearly the fix is to ensure that the correct version of libeay32.dll is loaded. On my machine, at least three other processes have loaded various versions of this same DLL. They include the Mozy backup client, Windows Explorer (because Mozy installs support in Explorer) and the OpenOffice suite. My machine is quite different in this respect from a dedicated server on which one probably wants as few extraneous processes as possible. Presumably on a server one can follow advice that suggests copying the dlls to the system32 directory, for example. But I’m not about to mess with my other programs by making system-wide changes.
So what to do? I didn’t find the available information on how Windows searches for DLLs to be very useful, mainly because I didn’t understand it. But it does say that the first place Windows looks is «The directory from which the application loaded.»
Ошибка «Composer detected issues in your platform: Your Composer dependencies require the following PHP extensions to be installed: mysqli, openssl» (РЕШЕНО)
В данной заметке рассказывается о причинах ошибки и как её исправить.
При самостоятельной установке веб-сервера в Windows, например, по инструкции «Как установить веб-сервер Apache с PHP, MySQL и phpMyAdmin на Windows», при попытке открыть адрес phpMyAdmin может возникнуть ошибка:
В этой ошибке сказано, что «Composer обнаружил проблемы на вашей платформе: ваши зависимости Composer требуют, чтобы были установлены следующие расширения: mysqli, openssl».
Она возникает в последней версии phpMyAdmin (например, в 5.1.1) в следующих случаях:
В файл php.ini не добавлена строка
Откройте файл php.ini и перепроверьте значение директивы extension_dir. В зависимости от папки, куда вы делаете установку, вместо «C:\Server\bin\PHP\ext\» у вас может быть другой путь. Данное значение верно если вы устанавливаете по инструкции, ссылка на которую дана выше.
В файле php.ini не раскомментированы строки:
Перепроверьте файл php.ini, убедившись, что эти строки раскомментированы.
Ваша система по какой-то причине не использует настройки из файла php.ini, например из-за того, что файл php.ini назван неправильно.
Вы можете проверить это, запустив в командной строке:
Вывод должен включать путь к файлу C:\Server\bin\PHP\php.ini. Если это не так, возможно, вы не переименовали файл в php.ini или назвали его php.ini.txt или что-то в этом роде.
Все настройки в файле php.ini сделаны правильно, но веб-сервер не перезапущен, из-за чего настройки не успели примениться.
Чтобы перезагрузить веб-сервер Apache выполните следующую команду (путь до исполнимого файла у вас может быть другой):
Либо перезагрузите компьютер.
Заключение
Можно придумать более экзотические причины, например, при копировании исполнимых файлов PHP не была скопирована папка ext. Но суть всегда одна и та же: PHP не настроен на использование расширений mysqli, openssl — то есть именно то, о чём говорит ошибка.
PHP OpenSSL extension not working while installing TYPO3 6.2.2 on Windows 7
I’ve installed TYPO3 6.2.2 on Windows 7 but I got an error message as below:
PHP OpenSSL extension not working Something went wrong while trying to create a new private key for testing. Please check the integration of the PHP OpenSSL extension and if it is installed correctly.
I try to find the solution on the internet about this error but I cannnot solve this bug.
Can anyone help me to find the solution please? Thanks.
6 Answers 6
Solution that worked for me on XAMPP and Windows Vista:
Activate the PHP module openssl
Open php.ini and uncomment(delete ‘;’) in:
Double-check that the extension is enabled by running phpinfo().
Add a system environment variable «OPENSSL_CONF» with value
. assuming you installed xampp into C:\xampp.
Set path to ‘openssl.exe’, which is in C:\xampp\apache\bin
or append c:\xampp\apache\bin to the environment variable PATH (will work for every PHP script not only TYPO3)
Restart xampp
To enable OpenSSL on PHP under Windows, three steps must be taken:
enable the extension – make sure to uncomment this line in php.ini:
Add the PHP folder to the PATH environment variable of Windows:
Control Panel –> System –> Advanced System Settings –> Environment Variables.
Locate the Path variable in the System Variables block.
Prepend c:\php; in front of it, or whatever your PHP path is.
Create an additional OPENSSL_CONF environment variable for Windows which contains the full path of the OpenSSL config file of PHP:
Control Panel –> System –> Advanced System Settings –> Environment Variables.
In the System Variables block click New.
Variable name: OPENSSL_CONF
Variable value: C:\php\extras\ssl\openssl.cnf
Modify that value to match your PHP installation directory!
Restart Windows so the environment changes can take effect.
Details on PHP OpenSSL support under Windows can be found here.
On typo3 6.2.7on win7 XAMPP 1.8.3
The openSSL error’s solution was to create C:\openssl-1.0.1i-win32\ssl folder and put E:\Portables\xampp\apache\conf\openssl.cnf into it. I got a direction about it from a german website.
How I found it out (just in case versions change), in the shell on XAMPP control panel, openssl command gives
WARNING: can’t open config file: E:/Portables/xampp/apache/bin/openssl.cnf.
But adding the file there does not help. I added and removed the file.
WARNING: can’t open config file: c:/openssl-1.0.1i-win32/ssl/openssl.cnf
Add the file there, the addition to environment variable PATH can be removed now.
Adding OPENSSL_CONF also did not work for me.
Set a global environment variable OPENSSL_CONF to %ProgramFiles(x86)%\PHP\Current\extras\openssl.cnf
The following solution might only work by manual start of the Apache-Server by click on apache_start.bat inside Xampp, other use-cases and server-packages are not tested or covered.
Dealing with several versions of xampp and perhaps additional several frameworks I searched for an approach that is best fitting to the following requirements:
Based on these developer-requirements the steps I describe are a bit different than the running answers on this page:
Open the file apache_start.bat of each server-version and replace the line
by the following snippet:
SET OPENSSL_CONF=C:\xampp-x\apache\conf\openssl.cnf IF EXIST C:\xampp-x\apache\bin SET PATH=%PATH%;C:\xampp-x\apache\bin apache\bin\httpd.exe
Pay attention that you everywhere replace C:\xampp-x\ by the real path to the corresponding server.
Restart xampp either by apache_start.bat or by the xampp-control-panel.
This solution naturally works also with only one server and with the advantage having limited PATH-Variables system-wide defined.
How can I enable the MySQLi extension in PHP 7?
I have installed PHP 7 and MySQL 5.5.47 on Ubuntu 14.04 (Trusty Tahr).
I have checked installed extension using:
I am not able to see the MySQLi extension using phpinfo() either. How can I enable/install MySQLi extension in PHP 7?
That’s why I cannot use phpMyAdmin. It says «The mysqli extension is missing.»
8 Answers 8
The problem is that the package that used to connect PHP to MySQL is deprecated (php5-mysql). If you install the new package,
this will automatically update Apache and PHP 7.
I got the solution. I am able to enable MySQLi extension in php.ini. I just uncommented this line in php.ini:
Now MySQLi is working well. Here is the php.ini file path in an Apache 2, PHP 7, and Ubuntu 14.04 environment:
By default, the MySQLi extension is disabled in PHP 7.
On Ubuntu, when mysqli is missing, execute the following,
Replace 7.x with your PHP version.
Note: This could be 7.0 and up, but for example Drupal recommends PHP 7.2 on grounds of security among others.
To check your PHP version, on the command-line type:
You do exactly the same if you are missing mbstring:
I recently had to do this for phpMyAdmin when upgrading PHP from 7.0 to 7.2 on Ubuntu 16.04 (Xenial Xerus).
The mysqli extension is missing. Please check your PHP configuration
I have looked through all of the forums that I could find relevant to this question and my problem yet nothing works. I have apache2.2 with php5, phpMyAdmin, and MySQL. I have uncommented the extension, I have checked my phpinfo() and mysqli does not come up. My config directory is where it should be and it still will not load.
16 Answers 16
In file php.ini this line:
I know this is a while ago but I encountered this and followed the other answers here but to no avail, I found the solution via this question (Stackoverflow Question)
Essentially just needed to edit the php.ini file (mine was found at c:\xampp\php\php.ini) and uncomment these lines.
After restarting apache all was working as expected.
In your Xampp folder, open php.ini file inside the PHP folder i.e xampp\php\php.ini (with a text editor).
Search for extension=mysqli (Ctrl+F), if there are two, look for the one that has been uncommented (without «;» behind)
On your Xampp control panel, stop and start apache and MySQL
If your configuration files are okay but still having the same issue then install php7.x-mysql according to the version of the installed php.
For example in my case, I’m using php7.3 so I ran the following command to get it all set:
This article can help you Configuring PHP with MySQL for Apache 2 or IIS in Windows. Look at the section «Configure PHP and MySQL under Apache 2», point 3:
You must uncomment extension_dir param line and set it to absolute path to the PHP extensions directory.
sudo apt-get install php7.2-mysql
extension=mysqli.so (add this php.ini file)
Please use above commands to resolve mysqli-extension missing error
Copy libmysql.dll from the PHP installation folder to the windows folder.
I’ve been searching for hours and no one could help me. I did a simple thing to solve this problem. (WINDOWS 10 x64)