راهنمای بروزرسانی فروشگاه

آخرین به‌روزرسانی: 30 شهریور 1405

برای فروشگاه‌هایی که با نصب‌کنندهٔ جدید نصب شده‌اند، بروزرسانی از داخل پنل مدیریت انجام می‌شود. دیگر لازم نیست فایل‌ها را دستی روی هاست جایگزین کنید.

قبل از هر بروزرسانی، اگر شخصی‌سازی سنگینی روی هسته انجام داده‌اید با پشتیبانی هماهنگ کنید. در حالت عادی، آپدیت یک‌کلیکه از .env و تصاویر آپلودشده در public_html/assets/img (و مسیر محصول) محافظت می‌کند و آن‌ها را بازنویسی نمی‌کند.

نسخهٔ فعلی فروشگاه فقط روی PHP ۸.۱ و ionCube Loader ۱۵+ اجرا می‌شود. قبل از آپدیت، نسخهٔ PHP دامنه را در پنل هاست چک کنید.

آپدیت یک‌کلیکه از پنل مدیریت

  1. وارد پنل مدیریت شوید و بخش بروزرسانی / به‌روزرسانی سیستم را باز کنید.
  2. اشتراک دیجی‌لارا باید فعال باشد؛ در غیر این صورت دکمهٔ آپدیت قفل است و باید اشتراک را تمدید کنید.
  3. پیش‌بررسی (preflight) نسخهٔ جدید، فضای دیسک و نیازمندی‌ها را نشان می‌دهد.
  4. گزینهٔ بکاپ دیتابیس را روشن بگذارید. بکاپ با PHP گرفته می‌شود و به mysqldump نیاز ندارد.
  5. فرآیند را شروع کنید و تا پایان صفحه را نبندید.

سیستم به‌ترتیب بکاپ می‌گیرد، بسته را دانلود و استخراج می‌کند، migrate را اجرا می‌کند و کش را پاک می‌کند. اگر آپدیت اجباری باشد، تا اتمام آن سایر بخش‌های پنل در دسترس نیست.

چه چیزهایی حفظ می‌شود؟

  • فایل .env (تنظیمات، کلید، دیتابیس، توکن‌ها)
  • تصاویر و فایل‌های موجود در assets/img و assets/product — فایل‌های جدیدِ گم‌شده اضافه می‌شوند، فایل‌های فعلی شما بازنویسی نمی‌شوند
  • داده‌های دیتابیس؛ فقط ساختار با migrate جلو می‌رود

اگر فروشگاه خیلی قدیمی است

نصب‌هایی که از حدود دو سال پیش باقی مانده‌اند و منوی آپدیت جدید را ندارند، نباید فایل‌ها را دستی روی هم کپی کنند. برای آن‌ها از فایل تک‌فایلهٔ ارتقا فروشگاه‌های قدیمی استفاده کنید.

روش قدیمی (دیگر توصیه نمی‌شود)

جایگزین کردن دستی پوشهٔ laravel و اجرای php artisan migrate از ترمینال یا کرون، مخصوص نسخه‌های خیلی قدیمی مستندات بود. روی هاست اشتراکی معمولاً شل بسته است و همین کار را نصب‌کننده / آپدیت‌کنندهٔ داخل پنل بدون شل انجام می‌دهد. اگر اشتباهاً فایل .env را با نسخهٔ داخل ZIP عوض کنید، فروشگاه از دیتابیس قطع می‌شود.

در صورت بروز مشکل، با پشتیبانی راست‌چین یا تلگرام @digilarasupport در ارتباط باشید.

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

ارتقا فروشگاه‌های قدیمی با فایل تک‌فایله

آخرین به‌روزرسانی: 30 شهریور 1405

اگر فروشگاه شما سال‌ها پیش نصب شده و ساختار نصب‌کننده / آپدیت‌کنندهٔ جدید را ندارد، یک فایل تک‌فایله برای ارتقای امن آماده شده است. این فایل به Laravel داخل فروشگاه وابسته نیست و روی هاست اشتراکی بدون mysqldump کار می‌کند.

حتماً قبل از شروع: در cPanel یا DirectAdmin نسخهٔ PHP دامنه را روی ۸.۱ بگذارید و ionCube ۱۵+ را برای همان نسخه فعال کنید. بدون این دو مورد، ارتقا متوقف می‌شود.

کار شما

  1. فایل digilara-legacy-update.php را از بستهٔ نصب‌کننده یا پشتیبانی دیجی‌لارا بگیرید.
  2. آن را داخل public_html آپلود کنید (کنار index.php فروشگاه).
  3. در مرورگر باز کنید: https://domain.com/digilara-legacy-update.php
  4. شماره سفارش / کد خرید digilara.ir را وارد کنید و «شروع آپدیت امن» را بزنید.

دامنهٔ مرورگر باید همان دامنه‌ای باشد که لایسنس روی آن در digilara.ir ثبت شده است (با یا بدون www فرقی نمی‌کند).

چه کارهایی به‌صورت خودکار انجام می‌شود؟

  1. بررسی پیش‌نیازها (PHP ۸.۱ و ionCube)
  2. تأیید سفارش از digilara.ir
  3. بکاپ کامل دیتابیس با PDO (بدون mysqldump)
  4. تشخیص جداول MyISAM/Aria و تبدیل به InnoDB
  5. دانلود آخرین RELEASE از سرور دیجی‌لارا
  6. استخراج با محافظت نرم: فایل‌های موجود در public_html/assets/img و assets/product و فایل .env بازنویسی نمی‌شوند؛ فقط موارد گمشده اضافه می‌شوند
  7. اجرای migrate و سیدر ضروری دسترسی‌ها
  8. ثبت لاگ کامل در public_html/.digilara-legacy-update/legacy-update.log

بکاپ SQL در مسیر .digilara-legacy-update/backups می‌ماند. پس از موفقیت می‌توانید همان فایل آپدیت‌کننده را از داخل صفحه حذف کنید.

از این به بعد، آپدیت‌های بعدی از پنل مدیریت فروشگاه انجام می‌شود. آموزش آن در راهنمای بروزرسانی آمده است.

موفق باشید.