Commit 098acfe00d09246648ad61bca7b9dd389ccb3de3(์ด ๊ธ์ ์ฐ๋ ์์ ์์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฒ)์ด ๋ด ์ค์น๋ฅผ ๋ง์น ๊ฒ ๊ฐ์ต๋๋ค. ์น ์๋ฒ ๋ก๊ทธ์ ๋ค์ ์์ธ๊ฐ ํ์๋ฉ๋๋ค.
[Sun Aug 21 07:43:56.792971 2016] [:error] [pid 15812] [client 2001:xxxxxxxxxxxx] PHP ์น๋ช ์ ์ธ ์ค๋ฅ: ์กํ์ง ์์ SymfonyComponentDependencyInjectionExceptionParameterNotFoundException: "partkeepr.part_service" ์๋น์ค์ "part-keepr.part_service" ์๋น์ค๊ฐ non-partkeeprexist ๋งค๊ฐ๋ณ์์ ์ข ์๋ฉ๋๋ค. .parts.internalpartnumber๊ณ ์ ". /usr/local/share/PartKeepr/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:94nStack ์ถ์ :n#0 /usr/local/share/PartKeepr/vendor/symfony/symfony /src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(214): SymfonyComponentDependencyInjectionParameterBagParameterBag->get('partkeepr.parts...')n#1 /usr/local/share/PartKeepr/vendor/symfony/symfony/ src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(185): SymfonyComponentDependencyInjectionParameterBagParameterBag->resolveString('%partkeepr.part...', Array)n#2 /usr/local/share/PartKeepr/vendor/symfony/ symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(175): SymfonyComponentDependencyInjectionParameterBagParameterBag->resolveValue('% in /usr/local/share/PartKeepr/vendor/symfony/symfony/src/Symfony/Component/ 94ํ์ ParameterBag/ParameterBag.php
https://wiki.partkeepr.org/wiki/Running_PartKeepr_from_GIT์ ๋ฐ๋ผ ์๋ก ์ถ๊ฐ๋ ๋งค๊ฐ๋ณ์๋ฅผ ํญ์ ๋ณต์ฌ
์ค์ ๋ก ์ด ์ ๊ทธ๋ ์ด๋ ์ ์ฐจ๋ฅผ ๋ฐ๋์ง๋ง ์ค๋ฅ๊ฐ ๋จ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ค์ ์ด์ด์ฃผ์ธ์.
๋ฐฉ๊ธ ๋ฌธ์ ๋ฅผ ์ฐพ์ ์์ ํ์ต๋๋ค. git์ ์ ๊ทธ๋ ์ด๋ํ์ญ์์ค. ๋ฌธ์ ์ ํ์ํ ๋ชจ๋ ์ ๋ณด(์: ์ ์ฐจ๋ฅผ ๋ฐ๋์)๋ฅผ ์ ๋ ฅํ์ญ์์ค. ์ฌ๋๋ค์ด GIT๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทธ๋ ์ด๋ํ ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ์ง ์๋ค๊ณ ๊ฐ์ ํ์ต๋๋ค.)
ํ๋ฅญํฉ๋๋ค. ์ ๊ทธ๋ ์ด๋ ์ ์ฐจ๋ฅผ ๋ฐ๋๋ค๋ ์ฌ์ค์ ๊ธฐ์ตํ์ง ๋ชปํด์ ์ฃ์กํฉ๋๋ค.
๊ฐ๋ฐ ๋ธ๋์น๋ฅผ ๋ค์ ์ฒดํฌ์์ ํ๊ณ ์ถ์๋๋ฐ, ์ด๋ฐ ์ง๋ฌธ์ ํ๋ค๋ ์ข ๋ฐ๋ณด๊ฐ๊ธฐ๋ ํ๋ฐ ํ์ฌ ๊ฐ๋ฐ ๋ธ๋์น ์ด๋ฆ์ด ๋ญ์๋๋ผ? ("HEAD"์ธ ๊ฒฝ์ฐ ์์ ์ฌํญ์ด ์๋ํ์ง๋ง ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ถ๊ธฐ์ธ์ง ํ์คํ์ง ์์ต๋๋ค.)
git checkout master ์ ๋๋ค ;)
ํ ,์ด ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ์ง์๋๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ ๊ณผ ๋๊ฐ์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค. ์ ๊ทธ๋ ์ด๋ํ๋ ๋์ ์์ฑ๊ธฐ์์ ์ค๋ฅ ๋ณด๊ณ ์๋ฅผ ๋ฐ์ง ๋ชปํ์ต๋๋ค.
์ด๊ฒ ์๋ฏธ๊ฐ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ์ app/check.php ๋ฐ app/SymfonyRequirements.php์ ๋ํ ์์ ์ฌํญ๋ฟ์ธ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ git ๋ก๊ทธ์๋ ChangeLog๊ฐ ์ ๋ฐ์ดํธ๋์๋ค๋ ๋ด์ฉ๋ง ํ์๋ฉ๋๋ค.
๋ง์คํฐ ๋ธ๋์น์ ์๋ ๋์ git pull์ ์ํํ๊ณ ์ค์ ์ ๋ค์ ์คํํ์ต๋๊น?
git์์ ๋ญ๊ฐ ๋งค์ฐ ์ด์ํฉ๋๋ค. ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค. ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์๊ฒ ๋๋ฉด ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์; ์ ๋ master ๋ธ๋์น์์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ฐ์ ธ์์ต๋๋ค.
$ ์์ ๋ถ๊ธฐ
์ ๊ทธ๋ ์ด๋ ์ ์ฐจ์ "์์ฑ๊ธฐ ์ค์น" ์น์ ์ ์คํํ ๋ check.php ๋ฐ SymfonyRequirements.php๊ฐ ์ค์ ๋ก ์ ๋ฐ์ดํธ๋๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ๋ฌด์์ด ์ ๋ฐ์ดํธ๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. github ์ปค๋ฐ ๋ก๊ทธ๋ฅผ ๋ณด๋ฉด 3์ผ ์ ๋ถํฐ ๋ณ๊ฒฝ ๋ก๊ทธ๋ง ์ปค๋ฐ๋๊ณ ํธ์๋์์ต๋๋ค. ์ดํ ์ ์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํ๋๋ฐ ์ค์๋ก ์์ โโ์ฌํญ์ ๋ง์คํฐ ๋๋ ๊ธฐํ๋ก ๋ณํฉํ์ง ์์์ ์ ์์ต๋๊น?
๊ธ์, ๋๋ ์ค์ ๋ก ์ปค๋ฐ ์์ฒด๋ฅผ ํธ์ํ์ง ์๊ณ ์ ๋ฒ์ ์ ํ๊ทธ๋ง ํธ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ปค๋ฐ์ ํธ์ํ ํ ์ด์ ์๋ํฉ๋๋ค. ๋ฌธ์ ์ฃ์กํฉ๋๋ค
์ด์ ๊ฐ์ Git ๊ธ๋ฆฌ์น๋ ๊ฐ๋ ๋ฐ์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. :)
์์, ๋น์ ์ ๋ ธ๋ ฅ์๋ ๋ถ๊ตฌํ๊ณ ์ค๋ฅ๋ ์ฌ์ ํ ๋ด ์ชฝ์์ ์์ต๋๋ค (๋ฌผ๋ก git pull ๋ฐ ์ ๋ฐ์ดํธ ํ).
cat src/PartKeepr/SetupBundle/Services/ConfigSetupService.php |grep -i internalpart
์ ์ถ๋ ฅ์ ์ค ์ ์์ต๋๊น?
๋ฌผ๋ก ์ด์ผ:
$ cat src/PartKeepr/SetupBundle/Services/ConfigSetupService.php |grep -i internalpart
'partkeepr.parts.internalpartnumberunique' => false,
์ข์, ๊ด์ฐฎ์. ์ธ๊ธ๋ ์ค๋ฅ๋ ์ ํํ ์ธ์ ์์ ๋ฉ๋๊น?
๊ทธ๊ฒ์ ๋งํ๊ธฐ๊ฐ ์กฐ๊ธ ์ด๋ ต์ง๋ง ๋ก๊ทธ์ธ ํ๋กฌํํธ์ ๋๋ฌํ์ง๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Apache๋ 500 ์ค๋ฅ์ ํจ๊ป ํญํ์ ํฐ๋จ๋ฆฌ๊ณ ์ค๋ฅ ๋ฉ์์ง(๋ค๋ฅธ ๋ฉ์์ง ์์)๊ฐ ์ค๋ฅ ๋ก๊ทธ์ ๋ํ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ค์ ์ค์๋ ์๋ํ์ง๋ง ์น ํ๋ก ํธ์๋๋ฅผ ์ฐ ํ์๋ ์คํจํฉ๋๊น?
์ฃ์กํฉ๋๋ค. ์น ์ค์ ์คํ์ ๋ํด ์ธ๊ธํ์ ๋ "์ด๋ฐ, ์ ๋ฐ์ดํธ๋์ง ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง์ฒ๋ผ ๋ณด์ ๋๋ค..."๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ด๋ฒ์๋ ์ค์ ํ์ผ์ ๋ณต์ฌํ๊ณ ์๊ณก๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ์คํํ์ ๋ฟ์ด๋ฉฐ ์ค์ ํ์ด์ง๋ ์คํํ์ง ์์์ต๋๋ค. (๋๋ ๊ทธ๊ฒ์ด ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํ bash ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ์ฌ ์ป์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฏ๋ก ์ด์ ์คํฌ๋ฆฝํธ์ ์ค์ ์ ์คํํ๋๋ก ์๊ธฐ์ํค๋ ๋ฉ์์ง๋ฅผ ์ถ๊ฐํ์ต๋๋ค.)
์ด์จ๋ ์ง๊ธ ์๋ํฉ๋๋ค. ์ ์ํ ์์ ๊ณผ ๋์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
๋๋ฌด ๊ธฐ์ฉ๋๋ค :) ํผ๋๋ฐฑ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!