Pim-community-dev: لم يتم إنشاء فئة وكيل Doctrine بعد إضافة خاصية فئة مخصصة

تم إنشاؤها على ١٥ يونيو ٢٠١٧  ·  15تعليقات  ·  مصدر: akeneo/pim-community-dev

أنا أطرح سؤالا

أهلا،

لقد اتبعت كتاب الطبخ لإضافة خاصية غير قابلة للترجمة إلى كيان الفئة في 1.7.5 CE (ORM).

كل شيء يعمل بشكل جيد في بيئة التطوير ، ولكن بعد التبديل إلى المنتج ، أواجه app/cache/prod/doctrine/orm/Proxies/__CG__PimBundleCatalogBundleEntityCategory.php): failed to open stream: No such file or directory .

لقد حاولت إحماء ذاكرة التخزين المؤقت يدويًا ، لكن هذا لا يؤدي إلا إلى إنشاء فئة وكيل عقيدة لكيان الفئة المخصصة الجديد الخاص بي الذي يوسع BaseCategory. الحل الوحيد الذي وجدته حتى الآن هو نسخ فئة الوكيل هذه إلى __CG__PimBundleCatalogBundleEntityCategory.php والتي ربما لا تكون أفضل ممارسة بالضبط ؛-)

هل يمكن أن تعطيني تلميحًا ما أنا في عداد المفقودين؟

شكرا!

question

التعليق الأكثر فائدة

مرحبا @ DavidFeller ،

يمكنك محاولة إحماء ذاكرة التخزين المؤقت prod باستخدام الأمر التالي:
php app/console cache:warmup --env=prod --no-debug

في معظم الأحيان يتم إصلاح مشكلات ذاكرة التخزين المؤقت.

يعتبر

ال 15 كومينتر

مرحبا @ DavidFeller ،

يمكنك محاولة إحماء ذاكرة التخزين المؤقت prod باستخدام الأمر التالي:
php app/console cache:warmup --env=prod --no-debug

في معظم الأحيان يتم إصلاح مشكلات ذاكرة التخزين المؤقت.

يعتبر

مرحبا momoss ،

أشكركم على إجابة سريعة! :)

لسوء الحظ ، هذا ما جربته عدة مرات بالفعل. يبدو أنه يعمل (لا يوجد ناتج خطأ) ، لكن __CG__PimBundleCatalogBundleEntityCategory.php لا يزال مفقودًا بعد ذلك.
بالإضافة إلى ذلك ، راجعت تعيينات الكيانات عبر php app/console doctrine:mapping:info .

أعلم أن هذه مشكلة عقيدة أو symfony أكثر من كونها متعلقة بـ akeneo ، لكني أعتقد أنني أفتقد بعض التفاصيل في تكوين AcmeCatalogBundle من حيث تجاوز BaseCategory.

أو هل تعتقد أنه من الأسوأ محاولة تخفيض إصدار php إلى 5.6؟

مرحبا @ DavidFeller ،

بعد المناقشة مع @ damien-carcel ، أخبرني أن هناك شيئًا مفقودًا في الوثائق ، لقد قمنا بتحديثه بالأمس.

هل يمكنك التحقق من Category class ، ربما هناك طريقة مفقودة:

public function getTranslationFQCN() { return CategoryTranslation::class; }

يعتبر

مرحبا momoss ،

آه حسنًا ، سأتحقق من ذلك. اعتقدت أن هذه الطريقة كانت مطلوبة فقط للجزء الثاني من المستندات (الخصائص القابلة للترجمة). نظرًا لأنني أضفت مربع اختيار فقط ، فقد "تجاهلت" هذا الجزء. ؛-)

أعتقد أنني سأحاول البدء من جديد وإنشاء خاصية قابلة للترجمة.

شكرا لمساعدتكم وتحياتكم ،
ديفيد

لدي نفس المشكلة مع الإصدار الأحدث 2.0. بالضبط نفس المشكلة ولقد اتبعت نفس المستندات.

وقد أضفت الحقل على أنه قابل للترجمة. تتم إضافته إلى قاعدة البيانات ، لكنها لا تزال لا تعمل في بيئة الإنتاج.
هذا ما حصلت عليه من خادم الإنتاج نفسه ووجدت نفس الخطأ. "" خطأ في الترجمة: يتطلب (): فشل فتح مطلوب '/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. لكن هذا لا يغير من صلاحية كتاب الطبخ (باستثناء مشكلة Textarea بالطبع).

يرجى محاولة مقارنة الكود الخاص بك مع الكود الخاص بي ، فربما نسيت تجاوز الخدمة / المعلمة.

أيضا ، لا تنسى أمثلة التعليمات البرمجية الموجودة في كتاب الطبخ يمكن تمريرها. فاتني طريقة setDescription في فئة CategoryTranslation في البداية.

أخيرًا ، لا تنسَ مسح ذاكرة التخزين المؤقت (قم بإزالتها تمامًا باستخدام rm -rf var/cache/* ) ، وأعد تشغيل FPM وبعد ذلك فقط قم بتحديث مخطط Doctrine الخاص بك.

يمكنك أيضًا أن تواجه مشكلات في ذاكرة التخزين المؤقت إذا كان برنامج Akeneo queue daemon (لعمليات الاستيراد / التصدير) قيد التشغيل: سيمنع تنظيف ذاكرة التخزين المؤقت لـ APC ، ثم يلوث ذاكرة التخزين المؤقت Symfony مرة أخرى. إذا كنت تستخدم البرنامج الخفي لقائمة الانتظار ، فإن الإجراء الصحيح هو:

  • أوقف البرنامج الخفي
  • rm -rf var/cache/*
  • إعادة تشغيل FPM
  • ابدأ البرنامج الخفي مرة أخرى
  • تحديث مخطط العقيدة الخاص بك

راجع للشغل ، من فضلك لا تنشر على قضايا مغلقة ، لأنه لا أحد عادة يجيب / يراها. لقد رأيت تعليقك فقط لأنه تم وضع علامة باسمي في المحادثة وكان لدي إشعار GitHub بشأنه. يرجى فتح عدد جديد وربط العدد الأصلي.

اسمحوا لي أن أعرف هل هذا ساعدك.

يعتبر،
داميان

هممم ، هذا غريب. لقد فعلت كل شيء كما هو مقترح ، لكن لا يمكنني تشغيله. كما أنني أحاول إضافة فئة بدون ترجمة. لذلك أعتقد أن هذا لم يزعجني.

[2018-01-12 05:55:50] request.CRITICAL: Uncaught PHP Exception Symfony \ Component \ Debug \ Exception \ FatalErrorException: "خطأ في التجميع: يتطلب (): فشل فتح مطلوب '/ opt / bitnami / apps / akeneo / htdocs / var / cache / prod / Dectrine / orm / Proxies / __ CG__PimBundleCatalogBundleEntityCategory.php '(include_path ='.: / opt / bitnami / php / lib / php ') "at / opt / bitnami / apps / akeneo / htdocs / vendor /doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php سطر 209 {"استثناء": "[كائن] (Symfony \ Component \ Debug \ Exception \ FatalErrorException (الرمز: 0): خطأ في الترجمة: يتطلب (): فشل الفتح المطلوب '/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) "} []

يعتبر،
نبوجسا

pim_enrich.form.type.category.class خطأ ، أنت تستخدم Acme بدلاً من حزمتك.

كل شيء آخر على ما يرام. لقد استخدمت للتو الحزمة الخاصة بك مع pim-community-standard 2.0 ، وقم بإزالة التوجيه (لا فائدة منه) وقم بتكوين تجاوز الكيان في app/config/config.yml . لقد تمكنت من تحرير فئة وحفظها مع الحقول الجديدة الخاصة بك دون أي مشكلة.
كنت بحاجة أيضًا إلى إلغاء تنشيط التحقق من الصحة في مجال عملك ، أو لم أتمكن من تثبيت تركيبات icecat (أنت تؤكد أن الحقول الخاصة بك لا يمكن أن تكون فارغة ، لكنها غير موجودة في تركيباتي 😉)

لذلك أعتقد حقًا أن المشكلة تأتي من خادمك. وبالنظر إلى الخطأ في مشاركتك السابقة ، يبدو واضحًا أنه مشكلة في ذاكرة التخزين المؤقت لـ PHP. قد يتم تشغيل شيء ما على خادم bitnami يمنع مسح ذاكرة التخزين المؤقت عند إعادة تشغيل FPM.

يعتبر،
داميان.

مرحبًا داميان ،
حسنًا ، لم أكن أبدًا مسؤول النظام في حياتي. الان هو الوقت.

ربما بعض النصائح باستثناء تلك من الأعلى.
هل تعرف أين يمكنني إيقاف وبدء البرنامج الخفي وإعادة تشغيل fpm؟
أنا أستخدم php 7.1.
هل تعرف أي الأوامر يجب أن أستخدمها؟

لإعادة تشغيل FPM ، سيعتمد ذلك على الخادم الخاص بك. ما توزيع Linux الذي تستخدمه عليه؟ يستخدم معظمهم الآن systemd كـ init ، لذا يجب أن تكون قادرًا على إعادة تشغيل FPM عن طريق تشغيل sudo systemctl restart php7.1-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

في ImportMappingDoctrineCommand.php سطر 151:

تحذير: file_put_contents (src / Entity / "tsubtipoanestesia" .php): فشل في فتح الدفق: لا يوجد مثل هذا الملف أو الدليل.

أود معرفة كيفية حلها.
شكرا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

henryktews picture henryktews  ·  4تعليقات

ronn0 picture ronn0  ·  4تعليقات

ewallteam picture ewallteam  ·  6تعليقات

lpxavi picture lpxavi  ·  3تعليقات

lpxavi picture lpxavi  ·  4تعليقات