问题
I am trying to install Laravel in WAMP setup. I am getting a warning message for not enabling openssl which I had already done in WAMP.
Here is a screenshot of the message.
回答1:
It is possible that WAMP and Composer are using different PHP installations. Composer will use the PHP set in the PATH
environment variable.
If you want to enable the openssl extension to install Composer, first you need to check the location of the PHP installation.
- Open a Command Prompt, type:
echo %PATH%
then check for the location of your PHP installation. - Go to that location and edit the file named:
php.ini
. - Uncomment the line
extension=php_openssl.dll
by removing the semicolon at the beginning.
Now you are good to install Composer.
回答2:
I solved my problem a different way. The problem is that wamp's GUI was misleading: it claimed that I had php_openssl
enabled.. and if I clicked on php.ini
on the same GUI.. it actually showed that extension=php_openssl.dll
was uncommented..
I'm not sure if i'm using the same installer version of composer of the OP, but it actually asks you at the beginning to specify the php.exe
that you like to apply composer on (which basically ensures that no one tries to apply composer to the wrong php executable as what happened with the OP)..
The way I solved this was by going myself into the installation of php within the wamp package: C:\wamp\bin\php\php5.4.12
and looking php.in
there.. when I opened it I was shocked that the line extension=php_openssl.dll
was actually commented! I uncommented it and it worked just fine.
回答3:
I had the same problem and here the solution I found, on your php.ini you need to do some changes:
extension_dir = "ext"
extension = php_openssl.dll
Every one here talks active the openssl extension, but in windows you need to active the extension dir too.
回答4:
For WAMP server, comment given by "Enrique" solved my problem.
wamp is using this php.ini:
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
But composer is using PHP from CLI, and hence it's reading this file:
c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)
For composer you will have to enable extension in
c:\wamp\bin\php\php5.4.12\php.ini
Change:
;extension=php_openssl.dll
to
extension=php_openssl.dll
回答5:
If you're doing this on Windows without one of the WAMP stacks, here's how to get this going
- Download an installation of PHP for Windows. Generally you'll want a non-thread safe install. You can use 32-bit or 64-bit builds
- Extract the zip file somewhere. I would suggest
C:\php
. Composer's installer found it there without any additional prompting - The latest versions of PHP for Windows do not come with a
php.ini
by default. Instead, you'll see two files, as noted below. Rename one tophp.ini
or copy it intophp.ini
.- php.ini-development
- php.ini-production
Open your
php.ini
file and remove the semicolon from this line (you might want to uncomment other things as well but this line is the only one necessary for Composer);extension=php_openssl.dll
That should be all you need to do. The Composer installer should do everything else you need from here.
回答6:
You need to enable "extension=php_openssl.dll" in both files (php and apache). my pc files path are these :
- C:\wamp\bin\php\php5.3.13\php.ini
- C:\wamp\bin\apache\apache2.2.22\bin\php.ini
回答7:
This is an old question but I just had the same issue (with PHP7) and the solution was, in the end, pretty simple. Uncommenting the line in php.ini
as per the other answers wasn't quite enough though. I needed to change it from:
;extension=php_openssl.dll
to:
extension=ext/php_openssl.dll
Note the ext
prefix. The dll already existed but was in a subfolder. After changing the config the composer installer was happy.
回答8:
you need to enable the openssl extension in
C:\wamp\bin\php\php5.4.12\php.ini
that is the php configuration file that has it type has "configuration settings" with a driver-notepad like icon.
- open it either with notepad or any editor,
- search for openssl "your ctrl + F " would do.
there is a semi-colon before the openssl extension
;extension=php_openssl.dll
remove the semi-colon and you'll have
extension=php_openssl.dll
- save the file and restart your WAMP server after that you're good to go. re-install the application again that should work.
回答9:
There are two php.ini
files, one for development and one for production. Leave those, there is another php.ini
file for configuration settings just above them with a gear like icon edit that.
回答10:
After editting the "right" files (all php.ini's). i had still the issue. My solution was:
Adding a System variable: OPENSSL_CONF
the value of OPENSSL_CONF should be the openssl.cnf file of your current php version.
for me it was:
- C:\wamp\bin\php\php5.6.12\extras\ssl\openssl.cnf
-> Restart WAMP -> should work now
Source: http://php.net/manual/en/openssl.installation.php
回答11:
I faced the same problem, but when i was lokking for php.ini and php.exe i found php.exe at C:\UwAmp\bin\php\php-5.4.15 when php.ini at C:\UwAmp\bin\apache. I just copy php.ini at C:\UwAmp\bin\php\php-5.4.15 and Uncomment the line extension=php_openssl.dll and it fixed.
回答12:
I am using WAMP server.
Actually its files showed that openssl is opened.
But manually I went to the folder and edited php.ini
.
Then I found it has not opened openssl.I uncommented it and it worked after after WAMP restart.
回答13:
C:\wamp\bin\php\php5.3.13
Browse to the line that reads:
;extension=php_openssl.dll
and remove the semicolon preceding the line. Restart your WAMP server services (click in your icon tray > 'Restart All Services'
回答14:
If you still cannot solve your problem have a look at this. This might be the solution you are looking for
There are several php.ini files in C:\wamp\bin\php\php x-y-z folder. You may find production, development and some other php.ini files. No point of editing production and development files. Find the file which is exactly as same as the below image. (You can find it. Just type php.ini in your search bar and do a search). Open the file and remove ; from extension=php_openssl.dll. Save the file and close it. Restart all services in Wampp server. Re-install your composer.
That is it.
回答15:
Wamp works with another php.ini that is in C:\wamp\bin\apache\Apache2.4.4\bin\php.ini. So you need to manualy find the correct file, that is in C:\wamp\bin\php\php5.4.12\php.ini. Uncomment the extension=php_openssl.dll line and just try to install Composer again.
回答16:
For those who're having the same problem as I was. After doing all the solutions above, still didn't work for me. I found out that, uWamp was creating the PHP.INI file in bin/apache directory. So I had to copy the PHP.INI file into php installation directory, that is, bin/php/phpXXXX directory. This should also be where the php.exe is that you selected from the composer setup.
Hope this helps.
回答17:
If you compiled from source, then adding extension=php_openssl.dll
to the php.ini file may not work.
To troubleshoot this, open a command prompt and type php -i
. Scroll up to the first line, it will tell you the most recent error regarding your php.ini file.
To solve the issue, find the php_openssl.dll
file, for me it was in the very same directory of the compilation output:
C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS
So just add the directory where the extension is, to the php.ini
:
extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"
Hopefully the error will be gone
回答18:
If you are using xampp .Go back to where you choose which command-line php you want to use at the beginning of your installation and select the path where your xampp folder is included.After that if your installer says youve got duplicate 'extension=php_openssl.dll' comment one ssl file in your php ini with a ';'and your installation should run smoothly.
来源:https://stackoverflow.com/questions/18064612/how-to-enable-phps-openssl-extension-to-install-composer