Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Windows] fileinfo is missing from your system #5

Open
appkr opened this issue Jan 13, 2017 · 2 comments
Open

[Windows] fileinfo is missing from your system #5

appkr opened this issue Jan 13, 2017 · 2 comments

Comments

@appkr
Copy link
Owner

appkr commented Jan 13, 2017

이 문제점은 님이 제보해주셨습니다. 고맙습니다.


문제점

다음은 Windows 환경에서 fileinfo PHP 확장 모듈이 없어서 발생하는 문제입니다.

appkr@PC MINGW64 ~/l5code (master)
$ composer install
# Loading composer repositories with package information
# Installing dependencies (including require-dev) from lock file
# Your requirements could not be resolved to an installable set of packages.
# 
#   Problem 1
#     - Installation request for intervention/image 2.3.8 -> satisfiable by intervention/image[2.3.8].
#     - intervention/image 2.3.8 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
# 
#   To enable extensions, verify that they are enabled in your .ini files:
#     - C:\Bitnami\wampstack-7.0.14-1\php\php.ini
#   You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

증상

  • composer install 할 때 오류가 발생합니다.
  • php artisan serve 할 때 오류가 발생합니다.
  • 책의 예제 코드를 다운로드 받아서 실행할 수 없습니다.

원인

20장에서 설치한 intervention/image 콤포넌트가 fileinfo PHP 확장 모듈에 의존하는데, 이 확장 모듈은 Bitnami Wamp에서 활성화 되어 있지 않습니다 (저도 방금 알았습니다 ㅜㅜ).

// 해당 컴포넌트의 `composer.json`을 살펴보면, `fileinfo` PHP 확장 모듈이 필요함을 알 수 있습니다.
// vendor/intervention/image/composer.json

"require": {
    "php": ">=5.4.0",
    "ext-fileinfo": "*",
    "guzzlehttp/psr7": "~1.1"
},

해결 방법

fileinfo PHP 확장 모듈을 활성화합니다. Bitnami Wamp는 이 모듈을 포함하고 있습니다.

  • C:\Bitnami\wampstack-x.y.z\php\php.ini 파일을 엽니다.
  • ;extension=php_fileinfo.dll로 되어 있는 부분을 찾습니다.
  • extension=php_fileinfo.dll처럼 세미콜론을 제거하고 파일을 저장합니다.
  • Git Bash를 재시작하고, php artisan server가 작동중이라면 재시작합니다.

php ini

다른 APM 패키지를 사용하고 있다면, fileinfo PHP 확장 모듈이 설치되어 있는지 확인하고 위의 설명한대로 php.ini에 해당 모듈을 활성화시켜 줍니다. 해당 모듈이 설치되어 있지 않다면 구글링을 통해 다운로드(또는 컴파일)해서 활성화해야 합니다.

결론

fileinfo PHP 확장 모듈이 활성화되면 모든 기능이 정상 작동합니다.

appkr@PC MINGW64 ~/l5code (master)
$ composer install
# Loading composer repositories with package information
# Installing dependencies (including require-dev) from lock file
# Package operations: 89 installs, 0 updates, 0 removals
#   - Installing squizlabs/php_codesniffer (2.7.0) Downloading: 100%
# 
# ...
# 
#   - Installing symfony/dom-crawler (v3.1.4)
#     Loading from cache
# Generating autoload files
# > Illuminate\Foundation\ComposerScripts::postInstall
# > php artisan optimize
# Generating optimized class loader
appkr@PC MINGW64 ~/l5code (master)
$

고맙습니다.

@iris76
Copy link

iris76 commented Jan 14, 2017

아.. 어제 밤 구글링을 통해 해결했습니다..

제가 너무 성급하게 질문한 것 같아서 원래 질문은 지웠는데... 어떻게 확인을 하셨군요..

저두 이런 방법으로 해결했습니다.

여러가지로 감사합니다..ㅋㅋ

어제 밤에 페이스북에서 라이브 코딩하는 것도 봤는데... 저도 이제 맥 써야겠어요..ㅋㅋㅋ

암튼.. 감사합니다.. 주말 잘 보내세요.

@appkr
Copy link
Owner Author

appkr commented Jan 14, 2017

@iris76 모던퍼그 질답 게시판은 아틀라시안의 컨플루언스를 사용하고 있고, 알림을 걸어 놓으면 메일을 받을 수 있어요. 메일을 받아서 알았습니다. 여튼 해결해셔서 다행입니다. 페북이요? ㅡㅡ 부끄러워라~ 예 지금 시점에 개발을 한다면 '맥이 진리'죠.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants