๋๋ ์ง๋ฌธ์ํ๊ณ ์๋ค
์๋ ํ์ธ์,
๋๋ ์๋ฆฌ ์ฑ ์ ๋ฐ๋ผ 1.7.5 CE (ORM)์ ์นดํ ๊ณ ๋ฆฌ ์ํฐํฐ์ ๋ฒ์ญ ๋ถ๊ฐ๋ฅํ ์์ฑ์ ์ถ๊ฐํ์ต๋๋ค.
๋ชจ๋ ๊ฒ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ ์๋ํ์ง๋ง prod๋ก ์ ํ ํ ํ app/cache/prod/doctrine/orm/Proxies/__CG__PimBundleCatalogBundleEntityCategory.php): failed to open stream: No such file or directory
์ง๋ฉดํ๊ณ ์์ต๋๋ค.
์๋์ผ๋ก ์บ์๋ฅผ ์๋ฐ์ ํ๋ ค๊ณ ํ์ง๋ง BaseCategory๋ฅผ ํ์ฅํ๋ ์ ์ฌ์ฉ์ ์ง์ ๋ฒ์ฃผ ์ํฐํฐ์ ๋ํ ๊ต๋ฆฌ ํ๋ก์ ํด๋์ค ๋ง ์์ฑ๋ฉ๋๋ค. ์ง๊ธ๊น์ง ์ฐพ์ ์ ์ผํ ํด๊ฒฐ์ฑ ์์ด ํ๋ก์ ํด๋์ค๋ฅผ __CG__PimBundleCatalogBundleEntityCategory.php์ ๋ณต์ฌํ๋ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ๋ญ ๋์น๊ณ ์๋์ง ํํธ๋ฅผ ์ฃผ์ค ์ ์๋์?
๊ฐ์ฌ!
์๋ ํ์ธ์ @DavidFeller ,
๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ prod ์บ์๋ฅผ ์๋ฐ์
ํ ์ ์์ต๋๋ค.
php app/console cache:warmup --env=prod --no-debug
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์บ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๋ฌธ์ ์ธ์ฌ
์๋ ํ์ธ์ @momoss ,
๋น ๋ฅธ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! :)
๋ถํํ๋ ๊ทธ๊ฒ์ ๋ด๊ฐ ์ด๋ฏธ ์ฌ๋ฌ ๋ฒ ์๋ํ ๊ฒ์
๋๋ค. ์๋ํ๋ ๊ฒ ๊ฐ์ง๋ง (์ค๋ฅ ์ถ๋ ฅ ์์) ๋์ค์ __CG__PimBundleCatalogBundleEntityCategory.php
๊ฐ ์ฌ์ ํ ๋๋ฝ๋์์ต๋๋ค.
๋ํ php app/console doctrine:mapping:info
๋ฅผ ํตํด ์ํฐํฐ ๋งคํ์ ํ์ธํ์ต๋๋ค.
๋๋ ์ด๊ฒ์ด ์ค์ ๋ก akeneo์ ๊ด๋ จ๋ ๊ฒ๋ณด๋ค ์คํ๋ ค ๊ต๋ฆฌ ๋๋ ์ฌํฌ๋ ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง BaseCategory๋ฅผ ์ฌ์ ์ํ๋ ์ธก๋ฉด์์ AcmeCatalogBundle ๊ตฌ์ฑ์์ ์ฝ๊ฐ์ ์ธ๋ถ ์ฌํญ์ด ๋๋ฝ๋์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋๋ฉด PHP๋ฅผ 5.6์ผ๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ๋ ๋์๋ค๊ณ ์๊ฐํ์ญ๋๊น?
์๋ ํ์ธ์ @DavidFeller ,
@ damien-carcel๊ณผ ๋ ผ์ํ ํ ๊ทธ๋ ๋ฌธ์์ ๋๋ฝ ๋ ๊ฒ์ด ์๋ค๊ณ ์กฐ์ธํ๊ณ ์ด์ ์ ๋ฐ์ดํธํ์ต๋๋ค.
Category class
์ (๋ฅผ) ์ฒดํฌ์ธ ํ ์ ์์ต๋๊น? ๋ฉ์๋๊ฐ ๋๋ฝ๋์์ ์ ์์ต๋๋ค.
public function getTranslationFQCN()
{
return CategoryTranslation::class;
}
๋ฌธ์ ์ธ์ฌ
์๋ ํ์ธ์ @momoss ,
์, ํ์ธํ๊ฒ ์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฌธ์์ ๋ ๋ฒ์งธ ๋ถ๋ถ (๋ฒ์ญ ๊ฐ๋ฅํ ์์ฑ)์๋ง ํ์ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํ์ธ๋ ๋ง ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ๋ถ์ "๋ฌด์"ํ์ต๋๋ค. ;-)
๋๋ ๋ค์ ์์ํด์ ๋ฒ์ญ ๊ฐ๋ฅํ ์์ฑ์ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋์๊ณผ ์๋ถ ๊ฐ์ฌํฉ๋๋ค.
๋ฐ์ด๋น๋
์ต์ ๋ฒ์ 2.0์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ํํ ๋์ผํ ๋ฌธ์ ์ด๋ฉฐ ๋์ผํ ๋ฌธ์๋ฅผ ๋ฐ๋์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ํ๋๋ฅผ ๋ฒ์ญ ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ์ถ๊ฐํ์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ๊ฐ๋์์ง๋ง ํ๋ก๋์
ํ๊ฒฝ์์๋ ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค.
์ด๊ฒ์ ํ๋ก๋์
์๋ฒ ์์ฒด์์ ์ป์ ๊ฒ์ด๋ฉฐ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ""์ปดํ์ผ ์ค๋ฅ : require () : ํ์ ์ด๊ธฐ ์คํจ '/opt/bitnami/apps/akeneo/htdocs/var/cache/prod/doctrine/orm/Proxies/__CG__PimBundleCatalogBundleEntityCategory.php'
์๋ ํ์ธ์ @Nebojsaa .
์ด ์๋ฆฌ ์ฑ
์ด ์๋ํ์ง ์๋ ๋ค๋ ์ ๊ฐ์
๋๋ค. ๋ฐฉ๊ธ pim-community-standard
์์ ์์ ํ ํ
์คํธํ์ต๋๋ค. ์ ์๊ฒ ํจ๊ณผ์ ์
๋๋ค. FormType์ ์์ ฏ๊ณผ ๊ด๋ จํ์ฌ ํ ๊ฐ์ง ์ค์ ๋ง ์์ต๋๋ค. ์ด์ ํ๊ธฐ๋ฒ์ Symfony 3.4์์ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค.
์ด ํ ์์ฒญ https://github.com/damien-carcel/pim-community-standard/pull/1 ์์ ๋ด ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค
๋๋ ์๋ฆฌ ์ฑ
์ ์์ ํ ๋ฐ๋ฅด์ง ์์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด AppBundle
๋๊ณ ๋ชจ๋ ์๋น์ค์ ๋งค๊ฐ ๋ณ์๊ฐ services.yml
์ ์ธ๋์์ต๋๋ค. PHP 7.1 typehint๋ ์ถ๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์๋ฆฌ ์ฑ
์ ์ ํจ์ฑ์ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค (๋ฌผ๋ก ํ
์คํธ ์์ญ ๋ฌธ์ ๋ฅผ ์ ์ธํ๊ณ ).
๊ทํ์ ์ฝ๋๋ฅผ ๋ด ์ฝ๋์ ๋น๊ตํด๋ณด์ญ์์ค. ์๋น์ค / ๋งค๊ฐ ๋ณ์ ์ฌ์ ์๋ฅผ ์์์ ๊ฒ์ ๋๋ค.
๋ํ ์๋ฆฌ ์ฑ
์ ์ฝ๋ ์์ ๋ฅผ ์คํฌ๋กค ํ ์ ์๋ค๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์ฒ์์๋ CategoryTranslation
์์
์์ setDescription
๋ฉ์๋๋ฅผ ๋์ณค์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์บ์๋ฅผ ์ง์ฐ๊ณ ( rm -rf var/cache/*
์์ ํ ์ ๊ฑฐ) FPM์ ๋ค์ ์์ํ ๋ค์ Doctrine ์คํค๋ง ๋ง ์
๋ฐ์ดํธํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค.
Akeneo ํ ๋ฐ๋ชฌ (๊ฐ์ ธ ์ค๊ธฐ / ๋ด๋ณด๋ด๊ธฐ ์ฉ)์ด ์คํ์ค์ธ ๊ฒฝ์ฐ์๋ ์บ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด APC ์บ์๊ฐ ์ ๋ฆฌ๋์ง ์๊ณ Symfony ์บ์๊ฐ ๋ค์ ์ค์ผ๋ฉ๋๋ค. ํ ๋ฐ๋ชฌ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ๋ฐ๋ฅธ ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
rm -rf var/cache/*
Btw, ์๋ฌด๋ ์ผ๋ฐ์ ์ผ๋ก ๋๋ต / ๋ณด์ง ์๊ธฐ ๋๋ฌธ์ ๋ซํ ๋ฌธ์ ์ ๋ํด ๊ฒ์ํ์ง ๋ง์ญ์์ค. ๋ํ์ ํ๊ทธ๊ฐ ์ง์ ๋์๊ณ ์ด์ ๋ํ GitHub ์๋ฆผ์ด ์์๊ธฐ ๋๋ฌธ์ ๊ทํ์ ๋๊ธ ๋ง ๋ณด์์ต๋๋ค. ์ ํธ๋ฅผ ์ด๊ณ ์๋ ํธ๋ฅผ ๋งํฌํ์ญ์์ค.
์ด๊ฒ์ด ๋น์ ์ ๋์๋ค๋ ๊ฒ์ ์๋ ค์ฃผ์ญ์์ค.
๋ฌธ์ ์ธ์ฌ,
๋ฐ๋ฏธ์
ํ , ์ด์ํฉ๋๋ค. ์ ์ ๋๋๋ก ๋ชจ๋ ์์ ์ ์ํํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค. ๋ํ ๋ฒ์ญ์์ด ์นดํ ๊ณ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋์ ๋๋ ์ด๊ฒ์ด ๋๋ฅผ ๊ดด๋กญํ์ง ์์๋ค๊ณ ์๊ฐํฉ๋๋ค.
[2018-01-12 05:55:50] request.CRITICAL : Uncaught PHP Exception Symfony \ Component \ Debug \ Exception \ FatalErrorException : "์ปดํ์ผ ์ค๋ฅ : require () : Failed opening required '/ opt / bitnami / apps / akeneo / htdocs / var / cache / prod / doctrine / orm / Proxies / __ CG__PimBundleCatalogBundleEntityCategory.php '(include_path ='. : / opt / bitnami / php / lib / php ') "/ opt / bitnami / apps / akeneo / htdocs / vendor /doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php line 209 { "exception": "[object] (Symfony \ Component \ Debug \ Exception \ FatalErrorException (์ฝ๋ : 0) : ์ปดํ์ผ ์ค๋ฅ : require () : ํ์ '/opt/bitnami/apps/akeneo/htdocs/var/cache/prod/doctrine/orm/Proxies/__CG__PimBundleCatalogBundleEntityCategory.php'(include_path='.:/opt/bitnami/php/lib/php')๋ฅผ ์ด์ง ๋ชปํ์ต๋๋ค. /opt/bitnami/apps/akeneo/htdocs/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php:209) "} []
๋ฌธ์ ์ธ์ฌ,
Nebojsaa
pim_enrich.form.type.category.class
์ด ์๋ชป๋์์ต๋๋ค. ๋ฒ๋ค ๋์ Acme
์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ค๋ฅธ ๋ชจ๋ ๊ฒ์ ๊ด์ฐฎ์ต๋๋ค. ๋ฐฉ๊ธ pim-community-standard 2.0๊ณผ ํจ๊ป ๋ฒ๋ค์ ์ฌ์ฉํ๊ณ ๋ผ์ฐํ
์ ์ ๊ฑฐํ๊ณ (์ธ๋ชจ ์์) app/config/config.yml
์์ ์ํฐํฐ ์ฌ์ ์๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค. ๋ฌธ์ ์์ด ์ ํ๋๋ก ์นดํ
๊ณ ๋ฆฌ๋ฅผ ํธ์งํ๊ณ ์ ์ฅํ ์์์์ต๋๋ค.
๋ํ ํ๋์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋นํ์ฑํํด์ผํ๊ฑฐ๋ icecat ๊ณ ์ ์ฅ์น๋ฅผ ์ค์นํ ์ ์์์ต๋๋ค (ํ๋๊ฐ ๋น์ด์์ ์ ์๋ค๋ ๊ฒ์ ํ์ธํ์ง๋ง ๋ด ๊ณ ์ ์ฅ์น์๋ ์กด์ฌํ์ง ์์ต๋๋ค ๐).
๋ฐ๋ผ์ ๋ฌธ์ ๋ ์๋ฒ์์ ๋น๋กฏ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ฒ์๋ฌผ์ ์ค๋ฅ๋ฅผ ๋ณด๋ฉด PHP ์บ์์ ๋ฌธ์ ๋ก ๋ถ๋ช ํ ๋ณด์ ๋๋ค. FPM์ ๋ค์ ์์ํ ๋ ์บ์๊ฐ ์ง์์ง์ง ์๋๋กํ๋ ๋ฌด์ธ๊ฐ๊ฐ bitnami ์๋ฒ์์ ์คํ ์ค์ผ ์ ์์ต๋๋ค.
๋ฌธ์ ์ธ์ฌ,
๋ฐ๋ฏธ์.
์๋
๋ฐ๋ฏธ์,
์ข์, ๋๋ ๋ด ์ธ์์์ ์์คํ
๊ด๋ฆฌ์๊ฐ ์๋์๋ค. ์ง๊ธ์ด ์ ํธ์ ๊ธฐํ ๋ค.
์์ชฝ์์ ๋์จ ๊ฒ ์ธ์๋ ๋ช ๊ฐ์ง ํ์ด์์ ์ ์์ต๋๋ค.
๋ฐ๋ชฌ์ ์ค์งํ๊ณ ์์ํ๊ณ fpm์ ๋ค์ ์์ํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
PHP 7.1์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด๋ค ๋ช
๋ น์ ์ฌ์ฉํด์ผํ๋์ง ์์ญ๋๊น?
FPM์ ๋ค์ ์์ํ๋ ค๋ฉด ์๋ฒ์ ๋ฐ๋ผ ๋ค๋ฆ
๋๋ค. ์ด๋ค Linux ๋ฐฐํฌํ์ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๋๋ถ๋ถ์ ์ด์ systemd
๋ฅผ init์ผ๋ก ์ฌ์ฉํ๋ฏ๋ก sudo systemctl restart php7.1-fpm
๋ฅผ ์คํํ์ฌ FPM์ ๋ค์ ์์ํ ์ ์์ต๋๋ค (FPM ํ๋ก์ธ์ค์ ์ด๋ฆ์ ์์คํ
์์ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณ๊ฒฝ ๋ ์ ์์).
๋๊ธฐ์ด์ ์๋์ผ๋ก ๋๋ ๊ฐ๋ ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ํ ์์๋ ๊ฐ๋จํ PHP ํ๋ก์ธ์ค์ ๋๋ค. ์์ธํ ์ง์นจ์ https://docs.akeneo.com/latest/install_pim/manual/daemon_queue.html ์์ ์ฐพ์ ์ ์์ต๋๋ค
ํ , ๊ทธ๋์ ์ฑ๊ณตํ์ต๋๋ค.
์ด์ "Hello World!"๊ฐ ํ์๋ฉ๋๋ค. -๋ด ๊ธฐ๋ณธ index.html.twig ??
์ค ์. ํ์ค. generate:bundle
๋ช
๋ น์ ์ฌ์ฉ ํ์์ฃ ?
Default/index.html.twig
๋ทฐ, ์ปจํธ๋กค๋ฌ ๋ฐ ๋ผ์ฐํ
์ ๋ฒ๋ค์์ ์ ๊ฑฐํด์ผํฉ๋๋ค ( app/config/routing.yml
์์๋ ์ ๊ฑฐํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค). ๊ทธ๋ค์ ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ์๋ํฉ๋๋ค.
๋ค์ ์ค๋ฅ :-D
์๋จ ๊ทธ๋ฅ ๋๋ด์ด์์ ..
๋๋จํ ๊ฐ์ฌํฉ๋๋ค.
์๋ ํ์ธ์, ๋ชจ๋์๊ฒ ์ธ์ฌ๋๋ฆฝ๋๋ค. ์์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Symfony 4๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๊ณ ์์ต๋๋ค. postgressql์ ํ๋ก์ ํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๊ณ ์ด ๊ด๋ฆฌ์๋ฅผ ์ค์นํ๊ณ ํด๋น ํ๋ ์ ์ํฌ์ ์ฐ๊ฒฐ์ ์ค์ ํ์ง๋ง ์ํฐํฐ๋ฅผ ์์ฑํ๋ ค๊ณ ํ ๋ php bin / console doctrine : mapping : import "App \ Entity"annotation --path = src / Entity ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์์ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ImportMappingDoctrineCommand.php ์ค 151์์ :
๊ฒฝ๊ณ : file_put_contents (src / Entity / "tsubtipoanestesia".php) : ์คํธ๋ฆผ ์ด๊ธฐ ์คํจ : ํด๋น ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ๊ฐ ์์ต๋๋ค.
์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ๋์ง ์๊ณ ์ถ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ @DavidFeller ,
๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ prod ์บ์๋ฅผ ์๋ฐ์ ํ ์ ์์ต๋๋ค.
php app/console cache:warmup --env=prod --no-debug
๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์บ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๋ฌธ์ ์ธ์ฌ