جلسة فقدان الإطار Zend
-
03-07-2019 - |
سؤال
أحاول تنفيذ أداة تحميل Flash في تطبيق إطار عمل Zend الخاص بي ولكني أواجه مشكلات في الجلسة.
لا يرسل Flash أي رؤوس ملفات تعريف الارتباط وهذا هو سبب فقدان الجلسة.أحاول إرسال معرف الجلسة كمعلمة نشر وفي ملف التمهيد الخاص بي أضفت session_id($_POST['session_id]) ولكن يبدو أن هذا لا يعمل.
أنا أستخدم جدول MySQL كمخزن للجلسة
لقد حاولت تصحيح الخطأ وبقدر ما أرى، تم تعيين session_id، ويقوم التخزين بإرجاع البيانات الصحيحة من قاعدة البيانات ولكن لا يبدو أنه تم تعيينها بشكل صحيح في $_SESSION العمومية.
والأغرب من ذلك أنه يبدو أنه يعمل على جهاز الكمبيوتر الذي يعمل بنظام Windows ولكن ليس على خادم Linux المرحلي.
المحلول
هل تعرف ما إذا كنت تستخدم Suhosin مع تثبيت PHP الخاص بك؟
لقد سمعت أ تقارير قليلة قيام Suhosin بذلك للجلسات، الحل في هذه الحالة هو التعطيل suhosin.session.cryptua
في php.ini.
على أية حال، إذا لم تكن هذه مشكلتك، فقط للتأكد من الأساسيات:
- تأكد من اجتيازك
session_id()
في مشاركة من برنامج Flash الخاص بك، على سبيل المثال، مع تحميل SWF, ، ويتم ذلك عن طريق تمريره فيpost_params
قيمة مصفوفة التكوين - تأكد من الاتصال
session_id($_POST['session_id])
قبلsession_start()
لكن على أية حال، من المحتمل أن يكون الأمر مرتبطًا بتثبيت PHP الخاص بك إذا كنت تقول أنه يعمل ضمن بيئة Windows لديك.
نصائح أخرى
وهذا يبدو مماثلا لمختلف الأخطاء التي تم الإبلاغ عنها على مر السنين، وإن كان في معظم الحالات انها عملت على لينكس وليس على النوافذ.
http://framework.zend.com/issues/browse/ZF-2459 https://www.zend.com/en/ المنتديات / index.php؟ ر = جي اس وغوتو = 16104 & S = de7d9b854db445eb37d0f33470cac6b0
ومؤخرا في الشهر الماضي:
<وأ href = "http://blog.rac.me.uk/2009/01/09/php-zend-session-dont-set-it-up-in-the-initalizer/" يختلط = " noreferrer نوفولو "> http://blog.rac.me.uk/2009/01/09/php-zend-session-dont-set-it-up-in-the-initalizer/
و- MarkusQ
وحاول التالية في عمل جهاز تحكم:
session_write_close();
session_id($this->_getParam('PHPSESSID'));
session_start();