سلام دوستان من یه مینی پروژه با لاراول ورژن 8 نوشتم و اپلود کردم رو هاست تو لوکال کامپیوتر مشکلی نداشت همه چی خوب کار میکرد اما تو هاست ارور میده که یه کلاس رو نمیشناسه
Illuminate\Contracts\Container\BindingResolutionException
Target class [App\Http\Services\Image\ImageService] does not exist.
این ارورش هست من بارها چک کردم این کلاس use شده و هیچ مشکلی نداره تو لوکال کامل درست کار میکرد لطفا کمک کنید مرسی
@mefroen
سلام.
اول اینکه محمدحسنم :)
دوم اینکه چون لاراول برای autoload کلاس ها در نسخه های جدید از PSR-4 استفاده میکنه برای اینکه کلاس ها بصورت اتومات و به درستی لود بشن لازم هست که یکسری اصول رو حتما رعایت بکنید. و الا همین شرایطی پیش میاد که اسکرین شات ارسال کردید و همون طوری که در متنش هم اشاره کرده به دلیل عدم انطباق ساختار و نام گذاری فایل هاتون با PSR-4 کامپوزر اون ها رو skip میکنه و به همین خاطر باعث میشه که موقع استفاده نشناستشون.
اینکه اشکال کارتون کجاست تشخیصش بدون دیدن کل پروژه و پوشه بندی ها و نام گذاری هاتون دشواره. اما رایج ترین اشتباهات عبارتند از:
(و اگر پروژتون روی لوکال به درستی کار میکنه و روی سرور به مشکل میخوره به احتمال ۹۹ درصد علتش همین مورد سوم هست) چون سیستم عامل لینوکس به شدت case sensitive هست بر خلاف ویندوز که خیلی از مواقع چشمش رو میبنده روی این قضیه.)
اگر مطمئن هستید که فایل مورد نظر به درستی در مسیر نوشته شده آپلود شده قضیه بر میگرده به autoload کامپوزرتون.
اگر دسترسی به کامندلاین و ssh دارید یکبار دستور زیر رو اجرا کنید اوکی میشه:
composer dump-autoload
اگر هم دسترسی ندارید در نسخه لوکالتون اجرا کنید. بعد کل پوشه vendor تون رو zip کنید و به هاست منتقل کنید و با کل پوشه vendor هاست جایگزین کنید.
سلام جناب اقایه محمد حسن یگانه ممنون بابت پاسختون
@mhyeganeh
همونطور که گفتید کامنت رو اجرا کردم تو لوکال اما با warning روبرو شدم
و دوباره کل پروژه رو رویه هاست بردم و همون خطایه قدیمی رو داد
@mefroen
سلام.
اول اینکه محمدحسنم :)
دوم اینکه چون لاراول برای autoload کلاس ها در نسخه های جدید از PSR-4 استفاده میکنه برای اینکه کلاس ها بصورت اتومات و به درستی لود بشن لازم هست که یکسری اصول رو حتما رعایت بکنید. و الا همین شرایطی پیش میاد که اسکرین شات ارسال کردید و همون طوری که در متنش هم اشاره کرده به دلیل عدم انطباق ساختار و نام گذاری فایل هاتون با PSR-4 کامپوزر اون ها رو skip میکنه و به همین خاطر باعث میشه که موقع استفاده نشناستشون.
اینکه اشکال کارتون کجاست تشخیصش بدون دیدن کل پروژه و پوشه بندی ها و نام گذاری هاتون دشواره. اما رایج ترین اشتباهات عبارتند از:
(و اگر پروژتون روی لوکال به درستی کار میکنه و روی سرور به مشکل میخوره به احتمال ۹۹ درصد علتش همین مورد سوم هست) چون سیستم عامل لینوکس به شدت case sensitive هست بر خلاف ویندوز که خیلی از مواقع چشمش رو میبنده روی این قضیه.)
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟