إنتقل إلى المحتوى الرئيسي

متغيرات البيئة (.env)

ملف .env هو قلب إعداد FeedbackPulse. يُنشأ تلقائيًا أثناء التثبيت، لكن يمكنك تعديله يدويًا في أي وقت.


📍 موقع الملف

/var/www/feedbackpulse-saas/.env

⚠️ الأمان: يحتوي ملف .env على بيانات حساسة (كلمات مرور قاعدة البيانات، مفاتيح API). لا تحفظه أبدًا في نظام التحكم بالإصدارات ولا تعرضه للعموم. يجب أن تكون صلاحياته 640.


🔧 بعد تعديل .env

بعد إجراء التغييرات، امسح ذاكرة التخزين المؤقتة للإعداد:

php artisan config:clear
php artisan config:cache # اختياري: التخزين المؤقت لأداء الإنتاج

📋 مرجع كامل للمتغيرات

🏠 إعدادات التطبيق

المتغيرالافتراضيالوصف
APP_NAMEFeedbackPulseاسم المنصة (يظهر في رسائل البريد والعناوين)
APP_ENVproductionالبيئة: production أو local أو staging
APP_KEY(يُنشأ تلقائيًا)مفتاح التشفير. لا تغيّره أبدًا بعد التثبيت!
APP_DEBUGfalseإظهار الأخطاء التفصيلية. يجب أن يكون false في الإنتاج!
APP_URLhttps://yourdomain.comرابط المنصة الكامل (مع https)
APP_LOCALEenاللغة الافتراضية
APP_FALLBACK_LOCALEenاللغة الاحتياطية
BCRYPT_ROUNDS12قوة تشفير كلمة المرور (أعلى = أبطأ لكن أكثر أمانًا)

⚠️ APP_DEBUG=true سيكشف معلومات حساسة (بيانات اعتماد قاعدة البيانات، مفاتيح API) في صفحات الأخطاء. لا تفعّله أبدًا في الإنتاج إلا لجلسات تصحيح قصيرة.

🗄️ قاعدة البيانات

المتغيرالافتراضيالوصف
DB_CONNECTIONmysqlبرنامج تشغيل قاعدة البيانات: mysql أو mariadb أو sqlite أو pgsql
DB_HOST127.0.0.1عنوان خادم قاعدة البيانات
DB_PORT3306منفذ قاعدة البيانات
DB_DATABASEfeedbackpulseاسم قاعدة البيانات
DB_USERNAMErootاسم مستخدم قاعدة البيانات
DB_PASSWORD(فارغ)كلمة مرور قاعدة البيانات

📧 البريد الإلكتروني / SMTP

المتغيرالافتراضيالوصف
MAIL_MAILERsmtpبرنامج تشغيل البريد: smtp أو ses أو postmark أو sendmail أو log
MAIL_HOSTsmtp.mailgun.orgمضيف خادم SMTP
MAIL_PORT587منفذ SMTP (587 لـ TLS، 465 لـ SSL)
MAIL_USERNAME(فارغ)اسم مستخدم SMTP
MAIL_PASSWORD(فارغ)كلمة مرور SMTP
MAIL_ENCRYPTIONtlsالتشفير: tls أو ssl أو null
MAIL_FROM_ADDRESS[email protected]عنوان بريد المُرسل
MAIL_FROM_NAMEFeedbackPulseاسم المُرسل

💳 Stripe (اختياري)

المتغيرالافتراضيالوصف
STRIPE_PUBLISHABLE_KEY(فارغ)مفتاح Stripe العام (يبدأ بـ pk_)
STRIPE_SECRET_KEY(فارغ)مفتاح Stripe السري (يبدأ بـ sk_)
STRIPE_WEBHOOK_SECRET(فارغ)سر توقيع webhook في Stripe (يبدأ بـ whsec_)

💰 PayPal (اختياري)

المتغيرالافتراضيالوصف
PAYPAL_CLIENT_ID(فارغ)معرف عميل REST API الخاص بـ PayPal
PAYPAL_CLIENT_SECRET(فارغ)سر عميل REST API الخاص بـ PayPal
PAYPAL_WEBHOOK_ID(فارغ)معرف webhook الخاص بـ PayPal للتحقق
PAYPAL_MODEsandboxالوضع: sandbox (اختبار) أو live (إنتاج)

🔑 تسجيل الدخول الاجتماعي (اختياري)

المتغيرالافتراضيالوصف
GOOGLE_CLIENT_ID(فارغ)معرف عميل Google OAuth
GOOGLE_CLIENT_SECRET(فارغ)سر عميل Google OAuth
GITHUB_CLIENT_ID(فارغ)معرف عميل GitHub OAuth
GITHUB_CLIENT_SECRET(فارغ)سر عميل GitHub OAuth

🤖 الذكاء الاصطناعي / OpenAI (اختياري)

المتغيرالافتراضيالوصف
OPENAI_API_KEY(فارغ)مفتاح OpenAI API لتحليل المشاعر والوسوم التلقائية واقتراحات الردود

🤖 reCAPTCHA (اختياري)

المتغيرالافتراضيالوصف
RECAPTCHA_SITE_KEY(فارغ)مفتاح موقع Google reCAPTCHA v2/v3
RECAPTCHA_SECRET_KEY(فارغ)المفتاح السري لـ Google reCAPTCHA

🍪 الجلسة والذاكرة المؤقتة

المتغيرالافتراضيالوصف
SESSION_DRIVERfileتخزين الجلسة: file أو database أو redis أو cookie
SESSION_LIFETIME120مهلة انتهاء الجلسة بالدقائق
SESSION_DOMAIN(فارغ)نطاق الكوكيز (اضبطه على .yourdomain.com للنطاقات الفرعية)
SESSION_SECURE_COOKIEtrueطلب HTTPS لكوكيز الجلسة
CACHE_STOREfileبرنامج تشغيل الذاكرة المؤقتة: file أو database أو redis أو memcached

📦 قائمة الانتظار والوظائف

المتغيرالافتراضيالوصف
QUEUE_CONNECTIONsyncبرنامج تشغيل قائمة الانتظار: sync أو database أو redis

⏰ Cron (الاستضافة المشتركة)

المتغيرالافتراضيالوصف
CRON_TOKEN(يُنشأ تلقائيًا)رمز سري لنقطة نهاية cron المستندة إلى الويب /cron/run?token=. يُنشأ تلقائيًا أثناء التثبيت. مطلوب فقط عند استخدام cron المستند إلى URL بدلاً من CLI.

📁 تخزين الملفات

المتغيرالافتراضيالوصف
FILESYSTEM_DISKlocalقرص التخزين الافتراضي: local أو public أو s3

🪵 السجلات

المتغيرالافتراضيالوصف
LOG_CHANNELstackقناة السجل: stack أو single أو daily أو syslog
LOG_LEVELerrorالحد الأدنى لمستوى السجل: debug أو info أو notice أو warning أو error أو critical

💡 مثال على ملف .env للإنتاج

APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here

SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file

QUEUE_CONNECTION=sync

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx

OPENAI_API_KEY=sk-xxxxx

LOG_CHANNEL=daily
LOG_LEVEL=error

⏭️ الخطوات التالية