I'm trying to install composer to get laravel working.
Composer gave me the following error:
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script
again:
The openssl extension is missing, which means that secure HTTPS
transfers are impossible. If possible you should enable it or
recompile php with --with-openssl
According to this post I need to uncomment the openssl extension.
composer not install in windows 7
The problem is I don't have a php.ini file in my php directory. There is a php.ini-development and php.ini-production. Do I just rename one of them to php.ini?
This post is in regards to XAMPP, it says that the php.ini file needs to be edited and not the php.ini-development or php.ini.production.
Php.ini production vs development
I downloaded the non-thread safe php x86 from here
http://windows.php.net/download/
Cheers
just copy paste php-development.ini and rename it to php.ini.
php 7.0.3 is already out!
use php.ini-development for your development server. use php.ini-production for your production server. Copy and rename it to php.ini
Related
I have mamp installed and am using windows 10. I have attached an image of the configurations, the error, and some of the things I've done to diagnose why. I don't know why I am continuously getting this composer error. I am updating my php.ini file, which had openssl commented out. I removed the semicolon on extension_dir (was already removed), and on extension=php_openssl.dll. I have noticed that when I type in php -m in my command prompt, I am not seeing open ssl, and I'm not sure how to enable that, if that is the possible issue.
If there can be any light shed on this, let me know, I understand this issue is answered hundreds of times over, but I have done what was required from those answers, and got no where.
Image clarifications: The error
Here is where I am checking the configurations with php -m and it's not showing openssl, correct me if I'm mistaken.
My phpinfo(); with also me doing php -ini, it's showing php isn't set, but it is when I run the phpinfo method, i'm assuming because this method is being run through mamp allowing it to set the correct parameters.
You have to make sure that the command-line PHP loads an ini file somehow. The easiest is probably to copy c:\MAMP\conf\php7.0.0\php.ini to wherever your php.exe is located. To find that out you can use where php which should return you the full path to it. Copy the ini file in that directory and it should find it and load the module (although you might have to adjust the extension_dir depending on how it is set).
See http://php.net/manual/en/configuration.file.php if you want more details on how the ini file is located.
you only need to copy php.ini from the conf directory to your php directory and it will work fine.
just copy php.ini from
MAMP/conf/php(version of your php)/php.ini
to
MAMP/bin/php/php(version of your php)
then try in command line `php composer.phar install'
for install composer and enable openssl extension, copy your php.conf in MAMP\conf\php{php-version} for MAMP\bin\php\php{php-version} and edit php.conf changing ;extension=php_openssl.dll for extension=php_openssl.dll.
Then try installing normally.
Running Windows 10 with MAMP PRO. Copy the version php.ini file to the folder that has the php.exe. In my case, I copied MAMP/conf/php7.2.1/php.ini file to MAMP/bin/php7.2.1/ folder.
Restarted MAMP PRO 4.
Ran the command line, replacing some-dir with my new Drupal 8 project.
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction
Worked beautifully!
I wanted to install composer on my other computer. I have encountered this question before but none of the answers seem to work for me.
I tried enabling the openssl package in php.ini but it is already enabled. i tried changing the include path in my php.ini file. I reinstalled mamp . But none of the above fix the problem.
i'm using php 5.6.8
I fixed the problem by putting the php.ini file in the c:\windows file, it's a messy solution but it works. I can't use MAMP PRO anymore for some reason it keeps crashing, but it works on MAMP and i installed composer.
I suggest to take the following steps to make sure that the openssl extension gets loaded:
determine where your PHP is: open a command prompt, then php --ini.
find under "Loaded Configuration File" the path to the active php.ini
make sure this php.ini has extension=php_openssl.dll
I think you either have multiple PHP version installed and the Composer installer picks the one, where you didn't modify the php.ini or starts php without an php.ini.
(There are server stacks for windows with composer support out of the box, like wpn-xm. Sorry, shameless plug.)
openssl missing whene install composer
my windows: 10
local server: UwAmp
I've activated openssl in :
C:\UwAmp\bin\apache\php.ini
C:\UwAmp\bin\php\php-5.4.31\php.ini-development & php.ini-production (2 files) by delete - ; -
As well as from UwAmp GUI
But
This problem is not solved
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl
Thank you
I ran into the same issue installing Composer with MAMP for Windows 10. My php.ini file was not in the same directory as php.exe. I'm guessing Composer doesn't know to look elsewhere for the ini.
Try making a copy of your php.ini from C:\UwAmp\bin\apache\php.ini, pasting it into C:\UwAmp\bin\php\php-5.4.31, and then try to run the Composer setup again. Confirm that extension=php_openssl.dll is not commented out with a ;.
Copy php.in from php dir to Apache24/bin works for me. Please make sure you enable the extension in there.
Composer has nothing to do with apache, so C:\UwAmp\bin\apache\php.ini doesn't matter.
php.ini-development and php.ini-production are sort of examples to get started with. So you should choose one (probably development) and rename it to php.ini for it to actually work.
So here is the issue I'm getting:
I'm trying to install Composer and I'm using MAMP on Windows (it does exist since the beginning of January).
And like many users of Composer on Windows, I've got this error :
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The openssl extension is missing, which means that secure HTTPS transfers are impossible.
If possible you should enable it or recompile php with --with-openssl"
So I checked on the right php.ini page if it was unabled and it was!
I can't find any help since there are very few users of MAMP on Windows.
Thank you for your help or suggestions
Open php.ini located in your "\MAMP\conf\" folder or copy the php.ini into a \MAMP\bin\php\php[your PHP version number]\
Find "extension=php_openssl.dll"
;extension=php_openssl.dll - remove ";"
Restart your MAMP , extension should be loaded after that.
Had the same problem.
The solution is quite easy:
Ensure that extension=php_openssl.dll is uncommented (Remove ;) and copy the php.ini file at the same directory where the php.exe is located, because Composer searches there for an php.ini File and not in the MAMP conf folder.
Step 1: Go to following Folder
\MAMP\bin\php\php[your php version you are working on]
Note: to check version of php you are using go to Mamp prefrences and then click on php tab and there you can see Standard Version the version you are using.
mine was \MAMP\bin\php\php5.6.8
Step 2: Inside that folder find file named as
php.ini-production
Step 3: Open this file in Notepad to edit
Step 4: Search for by pressing ctrl+F
extension=php_openssl.dll
Step 5: Remove Semicolon(;) before it
Step 6: Restart MAMP and voila You are ready to install Composer.
This method works as of version 3.2.2:
Open php.ini located in your \MAMP\conf\ folder and copy the php.ini file into \MAMP\bin\php\php[your PHP version number]\ (You can find the version number you are using in MAMP's preferences)
Find extension=php_openssl.dll remove ; if it exists.
Open php.ini-production and php.ini-developmen that exist in the same folder that you copied the php.ini file into.
Find extension=php_openssl.dll remove ; if it exists.
Restart your MAMP, and the extension should be loaded after that and you should be able to install Composer.
I spent hours on this issue, followed the suggested answers and couldn't get it working.
So to anyone else getting a bunch of errors, remember MAMP is still in Beta for windows and some issues will run deeper than is practical to fix.
MAMP & MAMP PRO for Windows is available as a Beta version. It may still contain some. We do not recommend using MAMP & MAMP PRO Beta for Windows in a production environment.
In the end I had to switch to WAMP.
I spent quite a bit of time too. In my Windows 10 MAMP installation the openssl extension was enabled by default in all php.ini files. I got it working by adding the desired PHP version to the Windows system PATH before installing Composer. MAMP PRO has a setting 'PHP in system' path on the 'PHP' tab of control panel.
I was able to figure this out with MAMP PRO on Windows 7, and I assume MAMP would be the same.
The tricky step is you have to copy the php.ini file to your php.exe location in order to install composer. (MAMP PRO leaves these in separate locations)
For example I am using php 5.6.0, you can use any version just make the appropriate changes.
STEPS:
Path for php.exe C:\MAMP\bin\php\php5.6.0\php.exe
Path For php.ini C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\php5.6.0.ini
Edit the php.ini from step 2 as necessary (uncomment openssl)
Copy the php5.6.0.ini from step 2 to the php.exe directory from step 1
Rename this copied php5.6.0.ini to just php.ini
Composer should then be able to install correctly.
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.
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.
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.
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.
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
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 to php.ini or copy it into php.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.
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
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.
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.
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.
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
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.
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.
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'
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.
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.
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.
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
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.