هل يمكن حفظ جلسات PHP في قاعدة البيانات؟

سهلقراءة دقيقةآخر تحديث 1 أكتوبر 2026

PHP تطوير الويب

الإجابة

نعم. افتراضيًا تحفظ PHP الجلسات في ملفات، لكن يمكن ضبطها لتحفظها في قاعدة البيانات أو في Redis أو Memcached.

كيف؟

بكتابة معالج جلسات مخصص يطبّق الواجهة SessionHandlerInterface:

class DbSessionHandler implements SessionHandlerInterface {
    // open, close, read, write, destroy, gc
}

session_set_save_handler(new DbSessionHandler($pdo), true);
session_start();

ومع Redis يكفي غالبًا تعديل الإعدادات:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

لماذا نفعل ذلك؟

عندما يعمل الموقع على أكثر من خادم، يجب أن تكون الجلسات في مكان مشترك، وإلا سيخرج المستخدم من حسابه كلما انتقل طلبه لخادم آخر.

اختبر فهمك

هل العبارة التالية صحيحة؟

يمكن حفظ جلسات PHP (SESSION) في قاعدة البيانات إذا ضُبطت الإعدادات لذلك.