APMSETUP을 이용해서 PHP 를 localhost 로 테스트 할때 사용하는데요. 기존에 윈도우7(windows7) 에서는 PHP CURL 이 정상적으로 동작을 했는데 최근에 윈도우 10 (windows 10) 에서 apmsetup 을 설치해서 사용하는데 이상하게도 CURL 사용을 할려면 에러가 나게 되었습니다. 정확한 에러로그 확인을 위해서 C:\APM_Setup\Server\Apache\logs\error.log 파일을 살펴보았는데 아래와 같은 에러메시지가 나왔습니다.
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\\APM_Setup\\Server\\PHP5\\ext\\php_curl.dll' - The operating system
cannot run %1.\r\n in Unknown on line 0 |
위의 메시지를 보면 PHP 가 실행딜때 다이나믹 라이브러리를 로드할 수 없다는 경고 메시지가 나오는데요. 세부적으로는 운영시스템이 실행할 수 없다는 의미인것 같았습니다. 아무튼 php_curl.dll 을 로드할 수 없다는 의미이고 결국에는 curl 을 사용할 수 없다는 것을 의미합니다. 그러면 어떻게 해야할까요? 구글에서 찾은 여러가지 방법을 적용을 해보았습니다. 그리고 아파치를 재시작하고 에러로그를 확인하면서 계속 해결방법을 찾아보았는데요. 어제 결국에는 CURL 이 실행이 되었습니다. 기억을 되살리어 한번 그 방법을 적어 내려가 보겠습니다.
우선 C:\APM_Setup\php.ini 파일을 수정하였습니다. 내용중에서 php_intl.dll (빨간색 부분) 을 추가하였습니다. 그리고 php_curl.dll 부분이 주석처리(;)가 되어있는지 아닌지 확인보고 주석처리가 되어있다면 주석(;)을 삭제합니다.
; Windows Extensions extension=php_intl.dll
|
그리고 extension_dir 경로를 "C:\APM_Setup\Server\PHP5\ext" 으로 설정합니다.
; Directory in which the loadable extensions (modules) reside. |
위와같이 설정하고 php.ini 파일을 저장합니다. 그리고 나서 아파치를 재시작하고 했는데요 잘 않되었습니다. 잘은 이해가 되지는 않았지만요.. 마지막으로 제어판 -> 시스템 -> 고급 시스템 설정 -> 고급탭에서 환경변수를 클릭하면 아래와 같이 환경변수 창이 하나 뜨게 되는데요.
하단에 시스템 변수 부분에서 변수 이름이 Path 인 부분을 클릭합니다. 그리고 편집 버튼을 누르세요.
그러면 아래의 이미지와 같은 창이 하나 뜨게 되는데요. 새로 만들기를 눌러서 C:\APM_Setup\Server\PHP5\ext 이라고 입력합니다. 처음에는 ext 경로까지 입력을 안해도 될것 같았는데.. 혹시나 하고 입력을 해보았습니다.
위와같이 설정하고 컴퓨터를 재부팅하고 다시 해보시면 정상적으로 실행이 되었던것 같습니다. 저도 여러번의 시행착오를 거치며 한 부분이라서 명확하게 해결방법을 말씀드릴 수는 없지만 조금이나마 도움이 되셨으면 좋겠습니다.
만약에 그래도 되지 않을 경우에는 C:\APM_Setup\Server\PHP5\libssh2.dll 파일을 C:\Windows\System32 와 C:\Windows\SysWOW64 에 복사해 주세요. 이렇게 하게된 이유는 에러 로그에 The operating system cannot run %1 in Unknown on line 0 이란 메시지가 나와서 검색을 해보니 SSH2 가 동작하지 않기 때문이라고 나왔기 때문입니다. libssh2.dll 파일을 복사해서 넣으시고 다시 아파치를 재시작 해보시기 바랍니다.
참고로 필요할지는 모르겠지만.. 윈도우 SSL 인증을 회피하는 방법은 아래와 같습니다.
// to ignore the SSL certificate in windows $ch = curl_init(); |
'IT News > PHP' 카테고리의 다른 글
php 에서 현재 사용되고 있는 mysql db(데이터베이스) 이름을 알아내는 방법 (0) | 2017.02.15 |
---|---|
웹서버에 파일 업로드 용량 늘리기 (0) | 2016.09.13 |
[php 소스코드]GET 방식으로 pdf 파일 이름을 받아와서 해당 pdf 파일 보여주기 (0) | 2016.04.29 |