🎯 دليل رفع التحديثات عبر cPanel - إصلاح مشكلة الماوس
=========================================================
المشكلة: الماوس يتحرك لكن الضغطات لا تعمل
الحل: Vue.js كان يحجب Livewire - تم إصلاحه ✅
=========================================================
📤 الجزء 1: رفع الملفات عبر File Manager
==========================================
### الخطوة 1: افتح File Manager
1. سجّل دخول إلى cPanel
2. ابحث عن "File Manager" أو "مدير الملفات"
3. اختر المجلد الرئيسي للموقع (عادةً public_html أو domains/yoursite.com)
### الخطوة 2: رفع الملفات المُحدّثة
#### أ) رفع resources/js/app.js
```
1. في File Manager، انتقل إلى: resources/js/
2. احذف الملف القديم app.js
3. اضغط "Upload" أو "رفع"
4. اختر الملف الجديد: resources/js/app.js من جهازك
5. انتظر حتى يكتمل الرفع
```
#### ب) رفع resources/views/chat.blade.php
```
1. انتقل إلى: resources/views/
2. احذف الملف القديم chat.blade.php
3. ارفع الملف الجديد: resources/views/chat.blade.php
```
#### ج) رفع مجلد public/build
```
1. انتقل إلى: public/
2. احذف مجلد build القديم بالكامل
3. اضغط "Upload"
4. ارفع هذه الملفات:
- public/build/manifest.json
- public/build/assets/app-Bo-s5wZ9.js
- public/build/assets/app-DN8VlBiz.css
- public/build/assets/app-DxBRbUxu.css
أو ارفع مجلد build كاملاً (أسهل):
- اضغط بزر الماوس الأيمن على مجلد build في جهازك
- اختر "ضغط إلى ZIP"
- ارفع build.zip إلى public/
- في File Manager، اختر build.zip
- اضغط "Extract" أو "فك الضغط"
```
### الخطوة 3: حذف المجلد المتضارب
```
1. في File Manager، انتقل إلى: app/Filament/
2. ابحث عن مجلد اسمه "Reports"
3. إذا وجدته:
- حدده (checkbox)
- اضغط "Delete" أو "حذف"
- أكّد الحذف
4. إذا لم تجده، لا مشكلة - تجاوز هذه الخطوة
```
=========================================================
⚡ الجزء 2: تنفيذ الأوامر عبر Terminal
=========================================
### الطريقة 1: استخدام Terminal في cPanel (الأفضل)
1. في cPanel، ابحث عن "Terminal" أو "SSH Access"
2. افتح Terminal
3. انتقل إلى مجلد الموقع:
```bash
cd domains/yoursite.com/public_html
# أو
cd public_html
```
4. نفّذ هذه الأوامر واحداً تلو الآخر:
```bash
# حذف المجلد المتضارب
rm -rf app/Filament/Reports
# مسح جميع الcache
php artisan optimize:clear
# تحسين Filament
php artisan filament:optimize
# مسح view cache
php artisan view:clear
# مسح config cache
php artisan config:clear
```
### الطريقة 2: إذا لم يتوفر Terminal في cPanel
استخدم **Cron Job** لتنفيذ الأوامر:
1. في cPanel، افتح "Cron Jobs" أو "المهام المجدولة"
2. في "Add New Cron Job":
- Minute: اختر وقت محدد (مثلاً: 5 دقائق من الآن)
- Hour: الساعة الحالية
- Command: انسخ هذا الأمر:
```bash
cd /home/username/public_html && rm -rf app/Filament/Reports && php artisan optimize:clear && php artisan filament:optimize && php artisan view:clear && php artisan config:clear
```
**ملاحظة:** غيّر `/home/username/public_html` إلى المسار الصحيح لموقعك
3. احفظ Cron Job
4. انتظر حتى يُنفّذ (5 دقائق)
5. احذف Cron Job بعد التنفيذ
### الطريقة 3: إنشاء ملف PHP لتنفيذ الأوامر
1. في File Manager، انتقل إلى المجلد الرئيسي
2. أنشئ ملف جديد اسمه: `run-fix.php`
3. انسخ هذا الكود:
```php
&1', $output);
echo "1. Deleted Reports folder
";
// مسح cache
exec('php artisan optimize:clear 2>&1', $output);
echo "2. Cleared optimize cache
";
exec('php artisan filament:optimize 2>&1', $output);
echo "3. Optimized Filament
";
exec('php artisan view:clear 2>&1', $output);
echo "4. Cleared views cache
";
exec('php artisan config:clear 2>&1', $output);
echo "5. Cleared config cache
";
echo "
✅ Done! الآن احذف هذا الملف فوراً!";
?>
```
4. احفظ الملف
5. افتح المتصفح وزر: `https://yoursite.com/run-fix.php`
6. ⚠️ **مهم جداً:** احذف ملف `run-fix.php` فوراً بعد التنفيذ!
=========================================================
🔍 الجزء 3: التحقق من الحل
============================
### 1. مسح Cache المتصفح
- **Chrome/Edge:**
- اضغط `Ctrl + Shift + Delete`
- اختر "All time" أو "كل الوقت"
- حدد "Cached images and files"
- اضغط "Clear data"
- **أو ببساطة:**
- اضغط `Ctrl + Shift + R` عند فتح الموقع
### 2. اختبار الموقع
1. افتح: https://stores.almobtakeralaraby.com.eg/admin
2. جرّب الضغط على أي زر
3. جرّب فتح القوائم
4. جرّب التنقل بين الصفحات
5. ✅ يجب أن تعمل جميع الأزرار الآن!
### 3. فحص Console (اختياري)
1. اضغط `F12` لفتح Developer Tools
2. اختر تبويب "Console"
3. يجب ألا ترى أخطاء باللون الأحمر
4. ✅ إذا لم تكن هناك أخطاء = كل شيء تمام!
=========================================================
⚠️ حل المشاكل الشائعة
=======================
### المشكلة: لا يوجد Terminal في cPanel
**الحل:**
- استخدم الطريقة 2 (Cron Job)
- أو استخدم الطريقة 3 (ملف PHP)
- أو اتصل بالدعم الفني لتفعيل SSH Access
### المشكلة: صفحة بيضاء بعد الرفع
**الحل:**
```
1. في File Manager، انتقل إلى: storage/
2. اضغط بزر الماوس الأيمن على مجلد storage
3. اختر "Change Permissions" أو "تغيير الصلاحيات"
4. اجعل الصلاحيات 755 أو rwxr-xr-x
5. طبّق على جميع الملفات الفرعية (Recursive)
6. كرر نفس الشيء لمجلد bootstrap/cache
```
### المشكلة: الأزرار ما زالت لا تعمل
**الحل:**
1. تأكد من رفع جميع الملفات بنجاح
2. تأكد من تنفيذ أوامر مسح الcache
3. امسح cache المتصفح بالكامل
4. جرّب في متصفح آخر أو وضع التصفح الخفي
5. تحقق من `storage/logs/laravel.log` للأخطاء
### المشكلة: خطأ "500 Internal Server Error"
**الحل:**
```
1. تحقق من صلاحيات الملفات:
- المجلدات: 755
- الملفات: 644
2. تحقق من ملف .htaccess في public/
3. تحقق من storage/logs/laravel.log للأخطاء
4. في File Manager، تأكد من وجود ملف .env
```
=========================================================
📋 Checklist النهائي
====================
قبل أن تغلق cPanel، تأكد من:
✅ رفع resources/js/app.js
✅ رفع resources/views/chat.blade.php
✅ رفع مجلد public/build بالكامل
✅ حذف app/Filament/Reports
✅ تنفيذ أوامر مسح الcache
✅ مسح cache المتصفح
✅ اختبار الموقع - الأزرار تعمل!
✅ حذف ملف run-fix.php إذا استخدمته
=========================================================
💡 نصائح إضافية
================
### للحفاظ على الأداء:
1. **مسح Cache دورياً:**
- افتح Terminal كل أسبوع
- نفّذ: `php artisan optimize:clear`
2. **تفعيل OPcache:**
- في cPanel > PHP Version
- فعّل OPcache extension
3. **Backup منتظم:**
- استخدم cPanel Backup
- احفظ نسخة قبل أي تحديث
### للأمان:
1. لا تترك ملفات test/run-fix.php على السيرفر
2. حافظ على صلاحيات الملفات صحيحة
3. حدّث Laravel و Composer packages بانتظام
=========================================================
✨ النتيجة المتوقعة
===================
بعد تطبيق جميع الخطوات:
✅ الماوس يتحرك ويعمل بشكل طبيعي
✅ جميع الأزرار تستجيب للضغط
✅ القوائم تفتح وتغلق بشكل صحيح
✅ Livewire/Alpine.js يعملان بشكل طبيعي
✅ ChatBox يعمل في صفحة الدردشة
✅ لا توجد أخطاء في Console
✅ الموقع أسرع من قبل!
=========================================================
📞 إذا احتجت مساعدة
====================
1. تحقق من Console (F12)
2. تحقق من storage/logs/laravel.log
3. جرّب في متصفح آخر
4. تأكد من تنفيذ جميع الخطوات
5. اتصل بالدعم الفني إذا لزم الأمر
=========================================================
تم إنشاء هذا الدليل بتاريخ: 2025-11-19
المشكلة: Vue.js يحجب Livewire
الحل: تحديد Vue على #chat-app فقط
بالتوفيق! 🚀