답변:
WAMP와 Composer가 다른 PHP 설치를 사용하고있을 수 있습니다. Composer는 PATH
환경 변수에 설정된 PHP를 사용합니다 .
openssl 확장 을 활성화하여 Composer 를 설치하려면 먼저 PHP 설치 위치를 확인해야합니다.
echo %PATH%
다음을 입력 한 다음 PHP 설치 위치를 확인하십시오.php.ini
.extension=php_openssl.dll
처음에 세미콜론을 제거 하여 줄의 주석 처리 를 제거하십시오.이제 Composer를 설치하는 것이 좋습니다.
echo %PATH%
하면 다음 C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin
과 같은 메시지가 나타납니다. .. 해당 디렉토리에 PHP가 설치되어 있지 않습니다. 지금 어떻게해야합니까?
extension_dir = "ext"
년을 php.ini
,하지만 난 대신 WAMP의 일반 PHP 설치를 사용하고 있습니다.
내 문제를 다른 방식으로 해결했습니다. 문제는 wamp의 GUI가 오해의 소지가 있다는 것입니다. 그것은 제가 php_openssl
활성화 했다고 주장했고 .. php.ini
동일한 GUI를 클릭하면 실제로 extension=php_openssl.dll
주석이없는 것으로 나타났습니다 ..
내가 OP의 composer의 동일한 설치 프로그램 버전을 사용하고 있는지 확실하지 않지만 실제로 처음에 php.exe
작성기를 적용 하려는 것을 지정하도록 요청합니다 (기본적으로 아무도 작성기를 적용하려고하지 않음을 보장합니다). OP에서 발생한 것과 같은 잘못된 PHP 실행 파일) ..
내가이 문제를 해결 한 방법은 wamp 패키지 내에서 PHP를 설치 하는 것이 었습니다 . C:\wamp\bin\php\php5.4.12
그리고 php.in
거기를 살펴보면 .. 내가 그것을 열었을 때 그 줄 extension=php_openssl.dll
이 실제로 주석 처리되었다는 사실 에 충격을 받았습니다 ! 나는 그것을 주석 해제했고 그것은 잘 작동했습니다.
나는 똑같은 문제가 있었고 여기에 내가 찾은 해결책은 php.ini에서 몇 가지 변경이 필요합니다.
extension_dir = "ext"
extension = php_openssl.dll
여기에있는 모든 사람들은 openssl 확장을 활성화한다고 말하지만 Windows에서는 확장 디렉토리도 활성화해야합니다.
extension_dir
, 당신은 훌륭합니다!
WAMP 서버의 경우 "Enrique"가 제공 한 의견으로 문제가 해결되었습니다.
wamp는이 php.ini를 사용하고 있습니다 :
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
그러나 composer는 CLI에서 PHP를 사용하므로 다음 파일을 읽고 있습니다.
c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)
작곡가의 경우 확장 기능을 활성화해야합니다.
c:\wamp\bin\php\php5.4.12\php.ini
변화:
;extension=php_openssl.dll
에
extension=php_openssl.dll
WAMP 스택 중 하나 없이 Windows에서이 작업을 수행하는 경우이 작업을 수행 하는 방법은 다음과 같습니다.
C:\php
. Composer의 설치 프로그램이 추가 메시지없이 발견했습니다.php.ini
기본적으로 . 대신 아래와 같이 두 개의 파일이 표시됩니다. 하나의 이름을로 바꾸 php.ini
거나로 복사하십시오 php.ini
.
열려있는 php.ini
파일을이 행에서 세미콜론을 제거 (당신은뿐만 아니라 주석을 다른 것들로 할 수도 있지만,이 라인은 작곡가를위한 하나의 필요)
;extension=php_openssl.dll
그게 당신이해야 할 전부입니다. Composer 설치 프로그램은 여기에서 필요한 모든 작업을 수행해야합니다.
두 파일 (php 및 apache)에서 "extension = php_openssl.dll"을 활성화해야합니다. 내 PC 파일 경로는 다음과 같습니다.
이것은 오래된 질문이지만 PHP7과 같은 문제가 있었고 결국 해결책은 매우 간단했습니다. php.ini
다른 답변에 따라 줄의 주석 처리를 제거하는 것만으로는 충분하지 않았습니다. 다음과 같이 변경해야했습니다.
;extension=php_openssl.dll
에:
extension=ext/php_openssl.dll
ext
접두사에 유의하십시오 . dll이 이미 존재하지만 하위 폴더에 있습니다. 구성을 변경 한 후 작곡가 설치 프로그램이 만족 스러웠습니다.
openssl 확장을 활성화해야합니다.
C:\wamp\bin\php\php5.4.12\php.ini
그것은 아이콘과 같은 드라이버-메모장과 함께 "구성 설정"을 가진 유형이있는 php 구성 파일입니다.
openssl 확장 앞에 세미콜론이 있습니다.
;extension=php_openssl.dll
세미콜론을 제거하면
extension=php_openssl.dll
"올바른"파일 (모든 php.ini)을 편집 한 후. 나는 여전히 문제가 있었다. 내 솔루션 은 다음과 같습니다.
시스템 변수 추가 : OPENSSL_CONF
OPENSSL_CONF의 값은 현재 PHP 버전의 openssl.cnf 파일이어야합니다.
나를 위해 그것은 :
-> WAMP 다시 시작-> 이제 작동합니다.
여전히 문제를 해결할 수 없다면 이것을보십시오. 이것은 당신이 찾고있는 해결책 일 수 있습니다
C : \ wamp \ bin \ php \ php xyz 폴더에는 여러 php.ini 파일이 있습니다. 프로덕션, 개발 및 기타 php.ini 파일을 찾을 수 있습니다. 프로덕션 및 개발 파일을 편집 할 필요가 없습니다. 아래 이미지와 정확히 동일한 파일을 찾으십시오. (찾을 수 있습니다. 검색 창에 php.ini를 입력하고 검색하십시오). 파일을 열고 제거하십시오. extension = php_openssl.dll에서. 파일을 저장하고 닫습니다. Wampp 서버의 모든 서비스를 다시 시작하십시오. 작곡가를 다시 설치하십시오.
그게 다야.
저와 같은 문제를 겪고있는 사람들을 위해. 위의 모든 솔루션을 수행 한 후에도 여전히 작동하지 않았습니다. 나는 uWamp가 bin / apache 디렉토리에 PHP.INI 파일을 만들고 있다는 것을 알았습니다. 그래서 PHP.INI 파일을 php 설치 디렉토리, 즉 bin / php / phpXXXX 디렉토리에 복사해야했습니다. 이것은 또한 작곡가 설정에서 선택한 php.exe가있는 곳이어야합니다.
도움이 되었기를 바랍니다.
소스에서 컴파일 한 경우 extension=php_openssl.dll
php.ini 파일에 추가 하면 작동하지 않을 수 있습니다 .
이 문제를 해결하려면 명령 프롬프트를 열고 php -i
. 첫 번째 줄로 스크롤하면 php.ini 파일과 관련된 가장 최근의 오류가 표시됩니다.
문제를 해결하려면 php_openssl.dll
파일을 찾으십시오. 저에게는 컴파일 출력과 동일한 디렉토리에있었습니다.
C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS
따라서 확장자가있는 디렉토리를 다음 위치에 추가하십시오 php.ini
.
extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"
바라건대 오류가 사라질 것입니다.
%PATH%
Composer가 WampServer 대신 다른 위치에서 PHP를 찾고있을 수 있습니다.