Amir Alsaeed نشر 30 مارس 2021 أرسل تقرير نشر 30 مارس 2021 حاولت إنشاء مشروع جديد باستخدام Envoy ولكن عند التحديث ورفع المشروع عبر github أحصل على الخطأ التالي: [ReflectionException] Class App\Http\Controllers\User\UpdateController does not exist مع العلم أن الصف موجود وكان يعمل مسبقاً ضمن المشروع. وقمت بالبحث عن المشكلة وحللتها بتفريغ الكاش الخاص ب routes. الآن ظهر لي خطأ آخر وهو: PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php:1479 Stack trace: #0 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1479): ReflectionClass->__construct('hash') #1 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1433): Illuminate\Container\Container->build('hash', Array) #2 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(2011): Illuminate\Container\Container->make('hash', Array) #3 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1686): Illuminate\Foundation\Application->make('hash') #4 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(524): Illuminate\Container\Container->offsetGet('hash') #5 /home/forge/default/envoyer/releases/20180306221058/bootstrap/ وإن هذه الأخطاء تظهر فقط عند التعامل مع github ومشاركة كود المشروع. فكيف يمكنني معالجة هذا الخطأ؟ اقتباس
0 Sam Ahw نشر 30 مارس 2021 أرسل تقرير نشر 30 مارس 2021 من الممكن ظهور هذه الأخطاء عند التعامل مع github أو عند تحديث إصدارات لارافيل، فيحدث تضارب مع النسخ المستخدمة في المكتبات ضمن المشروع. من الممكن حل هذه الأخطاء عن طريق التأكد من الإصدارات التموافقة مع الإضافات المستخدمة وبأنها معرّفة بشكل جيّد ضمن المسار config/app.php: 'providers' => [ .. AnyProvider\Support\Laravel\AnyServiceProvider::class, 'aliases' => [ .. 'AnyProvider' => AnyProvider\Support\Laravel\Facade::class, وضمن الملف composer.json في Envoyer بأن المكتبات مضمّنة في كل من require و require-dev في حال بيئة التطوير. والمكان الأخير هو app/Providers/AppServiceProvider.php، يجب أيضاً تسجيل أي serviceProvider في حال احتاج ذلك: public function boot() { $env = config('app.env'); if ($env === 'local' || $env === 'testing') { .. dev only libraries $this->app->register(\AnyProvider\Iseed\AnyProvider::class); } } وبعدها يمكن إجراء الأوامر التالية للتأكد من إجراء التحديثات اللازمة: rm -rf bootstrap composer dump-autoload ولكن بعد تنفيذ هذه الأوامر يجب إجراء git revert لإعادة الملفات bootstrap الموجودة بين ملفات المشروع في github 1 اقتباس
السؤال
Amir Alsaeed
حاولت إنشاء مشروع جديد باستخدام Envoy ولكن عند التحديث ورفع المشروع عبر github أحصل على الخطأ التالي:
[ReflectionException] Class App\Http\Controllers\User\UpdateController does not exist
مع العلم أن الصف موجود وكان يعمل مسبقاً ضمن المشروع. وقمت بالبحث عن المشكلة وحللتها بتفريغ الكاش الخاص ب routes.
الآن ظهر لي خطأ آخر وهو:
PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php:1479 Stack trace: #0 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1479): ReflectionClass->__construct('hash') #1 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1433): Illuminate\Container\Container->build('hash', Array) #2 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(2011): Illuminate\Container\Container->make('hash', Array) #3 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(1686): Illuminate\Foundation\Application->make('hash') #4 /home/forge/default/envoyer/releases/20180306221058/bootstrap/cache/compiled.php(524): Illuminate\Container\Container->offsetGet('hash') #5 /home/forge/default/envoyer/releases/20180306221058/bootstrap/
وإن هذه الأخطاء تظهر فقط عند التعامل مع github ومشاركة كود المشروع. فكيف يمكنني معالجة هذا الخطأ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.