Trying to install Composer dependency management tool on Win7/64 + WampServer 2.2 via the Setup Installer and I am getting the following message:
The openssl extension is missing, which will reduce the security and stability of Composer. If possible you should enable it or recompile php with --with-openssl
So here is what I did...
php > php extensions > php_openssl
php > php.ini
and searched for openssl to verifiy it was NOT commented) out. It was not.What am I missing?
Please advise.
This question is related to
php
wampserver
composer-php
Yes, you must have to open php.ini and remove the semicolon to:
;extension=php_openssl.dll
remove the ";" like this and it will work.
extension=php_openssl.dll
Happy Coding.
All those answers are good, but in fact, if you want to understand, the extension directory need to be right if you want all you uncommented extensions to work. Can write a physical or relative path like
extension_dir = "C:/myStack/php/ext"
or
extension_dir = "../../php/ext"
It's relative to the httpd.exe Apache web server (C:\myStack\apache\bin) But if you want it to work with Composer or anything you need the physical path because the cli mode doesn't use the web server !
For installing Composer below steps worked me:(WAMP version 2.4 x64bit)
edit ->
**C:\wamp\bin\php\php5.4.12\php.ini**
;;uncomment below line or remove the semicolons ';'
extension=php_openssl.dll
**C:\wamp\bin\apache\Apache2.4.4\bin\php.ini**
extension=php_openssl.dll
In addition to uncommenting the ;extension=php_openssl.dll
line in php.ini
that everyone else has mentioned, you also have to ensure the ;extension_dir = "ext"
line is also uncommented. To uncomment, remove the prefixed semicolon and save.
That line might already be uncommented in packages like WAMP and XAMPP, but it's not in a plain PHP download for Windows, so it's worth verifying. Also, you have to create the php.ini
file by copying one of the examples, like php.ini-development
to a new file and then name it php.ini
. Then make these changes there.
Also, in the future, to install tools such as PHP and Composer, I recommend using the Chocolatey package manager. Then it's as simple as choco install composer
. Of course, you'd still need to edit php.ini before installing Composer with the choco method. In future versions of Windows, package management tools like Chocolatey will be baked into Windows, the same way apt-get
is in Ubuntu. Exciting times ahead for developers!
With either method, after installing Composer, don't forget to restart your terminal. Whether you're using Command Prompt, Bash (installs with Git), or Powershell, you'll need to restart it before the updated environmental variables work.
you need to edit the "c:\Program Files\wamp\bin\php\php5.3.13\php.ini" file search for: ;extension=php_openssl.dll
remove the semicolon at the beginning
note: if saving the file doesn't work then you need to edit it as administrator. (on win7) go to start menu, search for notepad, right-click on notepad, click "Run As Administrator"
in the composer installation windows just click back then next (or close it and start again) and it should work
You should make a symlink to php.ini. Sorry for russian link.
opened wamp/bin/apache/apache2.4.4/bin/php config.. wamp/bin/php/php5.4.16/php conf settings, php-ini production, php-ini dev, phpForApache find extension=php_openssl.dll and uncomment by removing ;
Short and sweet, uncomment this line in wamp/bin/php/php5.3.13
(or whatever php version):
;extension=php_openssl.dll
(remove the ;
)
Now run the command line installation of Composer. You won't have an error.
Good to go!
uncomment ;extension=php_openssl.dll
in both
wamp\bin\php\php5.4.12\php.ini
wamp\bin\apache\Apache2.4.4\bin\php.ini
it will work
C:\laravel-master>composer create-project laravel/laravel Installing laravel/laravel (v4.0.6) - Installing laravel/laravel (v4.0.6) [RuntimeException] You must enable the openssl extension to download files via https
I'm using EasyPhp (WAMP type). In the EasyPHP Icon in the taskbar, right click and select configuration then select PHP. I will open the PHP.ini
file configuration in a Notepad, search-find or CTRL+F in notepad for the word OPENSSL
you will find this ;extension=php_openssl.dll
just remove the ; and the extension=php_openssl.dll
is active.
C:\laravel-master>composer create-project laravel/laravel Installing laravel/laravel (v4.0.6) - Installing laravel/laravel (v4.0.6) Downloading: 100% Created project in C:\laravel-master\laravel Loading composer repositories with package information Installing dependencies (including require-dev)
I was facing the same issue. I renamed my php folder from php7_winxxxx
to just php and it worked fine. It looked like composer was checking the location to the php_openssl module in c:/php/ext
.
You may also need to add c:/php
to the PATH
in environment variable
I had the same problem even though openssl was enabled. The issue was that the Composer installer was looking at this config file:
C:\wamp\bin\php\php5.4.3\php.ini
But the config file that's loaded is actually here:
C:\wamp\bin\apache\apache2.2.22\bin\php.ini
So I just had to uncomment it in the first php.ini file and that did the trick. This is how WAMP was installed on my machine by default. I didn't go changing anything, so this will probably happen to others as well. This is basically the same as Augie Gardner's answer above, but I just wanted to point out that you might have two php.ini files.
Source: Stackoverflow.com