مجتبی
4 سال پیش توسط مجتبی مطرح شد
4 پاسخ

آپدیت پروژه لاراول بعد بارگذاری رو سایت

سلام روی هاست اشتراکی ما یک پروژه لاراول آوردیم بالا
الان روی لوکال روی پروژه قبلی کار کردیم و بروز شده
اصولی ترین راه اپدیت سایت چیه؟ اینکه من مجدد همه کدها رو آپلود کنم؟ قضیه کش شدن برای کاربران چی میشه؟
اصولی ترین راه چیه؟


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
1

سلام
معمولا چند تا پوشه خاص هست که در توسعه ها دستخوش تغییر میشن و نیاز هست که به نسخه production هم منتقل بشن:

  • app
  • public
  • resources
  • routes

با توجه به اینکه می‌فرمایید هاست اشتراکی هست،‌ با اینکه در کل گزینه مناسبی برای لاراول محسوب نمی‌شه، ولی احتمالا بهترین روش، استفاده از FTP یا FTPS باشه. (مسائل امنیتی رو جدی بگیرید) با استفاده از یک نرم افزار مثل FileZilla به هاستتون متصل بشید و چندتا پوشه بالا رو از نسخه لوکال overwrite کنید روی نسخه production. یک روش دیگه اش هم zip کردن کلیه این فایل ها در نسخه لوکال، آپلود از طریق فایل منیجر سیستم مدیریت هاسستون و بعد extract کردنش در مسیر مورد نظر در هاستتون هست.

چنانچه پکیج جدید هم اضافه کردید یا آپدیتی روی پکیج های php انجام دادید، علاوه بر اقدامات بالا لازم هست کل پوشه vendor هم جایگزین نسخه فعلی بشه. با توجه به تعداد بسیار بالای فایل های این پوشه، بهترین کار حذف کامل پوشه vendor از هاست هست. بعد zip کردن پوشه vendor در نسخه لوکال و انتقالش به هاست. و در نهایت extract کردنش در مسیر صحیح.

طبیعتا چنانچه تغییری در ساختار دیتابیس هم داشتید لازمه اعمال بشه.

برای کش هم که اشاره کردید، باید بین چند مدل کش مختلف تفکیک قائل بشیم. یک کش مربوط به فایل های css و js میشه که روی مرورگر مخاطبان کش میشه. برای حل این مسئله بهترین روش استفاده از قابلیت versioning و cache busting در لاراول میکس هست:
https://laravel.com/docs/8.x/mix#versioning-and-cache-busting

یک کش هم داریم که از route ها و config ها و یا view ها انجام میشه و داخل سرور ذخیره می‌شوند. برای view ها کاری لازم نیست انجام بدید وخودش اتومات ترتیبش رو میده. ولی اگر خودتون دستور های php artisan config:cache یا php artisan route:cache رو قبلا اجرا کردید لازمه دوباره اجراشون کنید تا کش جدید ایجاد بشه. اگر هم اجرا نکردید که هیچ کاری نیاز نیست انجام بدید.

موفق و پیروز باشید.


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

سلام دوست عزیز
@mojtaba.kh

خوب کدها که باید آپلود بشن قطعا فقط چند نکته :

1 - فایل session از ورژن قدیمی تو پروژه جدیدت بریز

2 - برای کش فایل ها میتونی انتهای هر فایل ی نسخه بندی در نظر بگیری تا کش قبلی که روی سیستم کلاینتا بوده از روی اون خونده نشه مثلا :

app/main.css?ver=1.2

مجتبی
تخصص : توسعه وب
@mojtaba.kh 3 سال پیش مطرح شد
0

@golshahimohammadreza
مرسی ممنون
فایل سشن منظورتون کجاس؟ کدوم فایل؟

فایل ها اپلود بشن به نظرتون مثلا کد های این فایلی که تغییر کرده رو کپی کنم در فایل منیجر سایتم فایل رو باز کنم کد رو کپی کنم تا مثلا فایل رو مجدد اپلود کنم میترسم سایت قطع بشه حتی برای لحظه ای


محمد حکمتی
تخصص : مثلا backend
@mohammad.hekmaty 3 سال پیش مطرح شد
0

از طریق ftp راحت ترین راهه


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
1

سلام
معمولا چند تا پوشه خاص هست که در توسعه ها دستخوش تغییر میشن و نیاز هست که به نسخه production هم منتقل بشن:

  • app
  • public
  • resources
  • routes

با توجه به اینکه می‌فرمایید هاست اشتراکی هست،‌ با اینکه در کل گزینه مناسبی برای لاراول محسوب نمی‌شه، ولی احتمالا بهترین روش، استفاده از FTP یا FTPS باشه. (مسائل امنیتی رو جدی بگیرید) با استفاده از یک نرم افزار مثل FileZilla به هاستتون متصل بشید و چندتا پوشه بالا رو از نسخه لوکال overwrite کنید روی نسخه production. یک روش دیگه اش هم zip کردن کلیه این فایل ها در نسخه لوکال، آپلود از طریق فایل منیجر سیستم مدیریت هاسستون و بعد extract کردنش در مسیر مورد نظر در هاستتون هست.

چنانچه پکیج جدید هم اضافه کردید یا آپدیتی روی پکیج های php انجام دادید، علاوه بر اقدامات بالا لازم هست کل پوشه vendor هم جایگزین نسخه فعلی بشه. با توجه به تعداد بسیار بالای فایل های این پوشه، بهترین کار حذف کامل پوشه vendor از هاست هست. بعد zip کردن پوشه vendor در نسخه لوکال و انتقالش به هاست. و در نهایت extract کردنش در مسیر صحیح.

طبیعتا چنانچه تغییری در ساختار دیتابیس هم داشتید لازمه اعمال بشه.

برای کش هم که اشاره کردید، باید بین چند مدل کش مختلف تفکیک قائل بشیم. یک کش مربوط به فایل های css و js میشه که روی مرورگر مخاطبان کش میشه. برای حل این مسئله بهترین روش استفاده از قابلیت versioning و cache busting در لاراول میکس هست:
https://laravel.com/docs/8.x/mix#versioning-and-cache-busting

یک کش هم داریم که از route ها و config ها و یا view ها انجام میشه و داخل سرور ذخیره می‌شوند. برای view ها کاری لازم نیست انجام بدید وخودش اتومات ترتیبش رو میده. ولی اگر خودتون دستور های php artisan config:cache یا php artisan route:cache رو قبلا اجرا کردید لازمه دوباره اجراشون کنید تا کش جدید ایجاد بشه. اگر هم اجرا نکردید که هیچ کاری نیاز نیست انجام بدید.

موفق و پیروز باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام