ترقية FeedbackPulse SaaS
كيفية الترقية الآمنة إلى إصدار جديد من FeedbackPulse SaaS.
قبل الترقية
- أنشئ نسخة احتياطية لقاعدة البيانات —
الإدارة ← النسخ الاحتياطية ← إنشاء نسخة احتياطية - انسخ احتياطيًا ملف
.env—cp .env .env.backup - انسخ احتياطيًا الملفات المرفوعة —
cp -r storage/app/public storage/app/public.backup - لاحظ إصدارك الحالي — تحقق من
config/app.phpلرقم الإصدار - اقرأ Changelog — تحقق مما هو جديد وما إذا كانت هناك تغييرات جذرية
خطوات الترقية
الخطوة 1: تنزيل الإصدار الجديد
نزّل الإصدار الأحدث من CodeCanyon.
الخطوة 2: رفع الملفات الجديدة
استبدل ملفات التطبيق (لكن احتفظ بإعداداتك):
cd /var/www/feedbackpulse-saas
# نسخ احتياطي للملفات الحرجة
cp .env .env.backup
cp -r storage/app/public storage/app/public.backup
# رفع الملفات الجديدة واستخراجها
# (استبدل الملفات الموجودة، لكن ليس .env أو storage/app/public/)
لا تستبدل:
.env(إعداداتك)storage/app/public/(الملفات المرفوعة)storage/installed.lock(قفل التثبيت)
الخطوة 3: تشغيل أداة التحديث الويب (موصى به — لا حاجة لـ CLI)
- سجّل الدخول بصفتك مشرفًا عامًا
- زر
https://yourdomain.com/update - انقر على تشغيل التحديث
يقوم هذا تلقائيًا بـ:
- تشغيل عمليات ترحيل قاعدة البيانات المعلّقة
- مسح ذاكرة الإعداد والمسارات والعروض المؤقتة
- إعادة إنشاء الرابط الرمزي للتخزين (أو تأكيد نشاط البديل PHP)
- تحديث رقم الإصدار المُخزَّن
مستخدمو الاستضافة المشتركة: هذا كل ما تحتاجه. لا طرفية، لا SSH، لا أوامر
php artisan.
الخطوة 3 (بديل): التحديث عبر CLI (VPS/مخصص فقط)
إذا فضّلت سطر الأوامر:
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan optimize:clear
php artisan optimize
الخطوة 4: إعادة تشغيل الخدمات (VPS فقط)
تخطَّ هذه الخطوة على الاستضافة المشتركة.
# إعادة تشغيل عمال قائمة الانتظار (إذا كنت تستخدمهم)
sudo supervisorctl restart feedbackpulse-worker:*
# إعادة تشغيل PHP-FPM
sudo systemctl restart php8.4-fpm
الخطوة 5: التحقق
- زر موقعك — تحقق من تحميل صفحة الهبوط
- سجّل الدخول بصفتك مشرفًا عامًا — تحقق من لوحة التحكم
- تحقق من
الإدارة ← الإعدادات— ابحث عن أي خيارات إعداد جديدة - تحقق من رقم الإصدار في لوحة الإدارة
التراجع
إذا حدث خطأ ما:
# استعادة .env
cp .env.backup .env
# استعادة الملفات المرفوعة
cp -r storage/app/public.backup/* storage/app/public/
# استعادة قاعدة البيانات من النسخة الاحتياطية
mysql -u username -p feedbackpulse < backup.sql
# مسح الذاكرة المؤقتة
php artisan optimize:clear