У меня действительно странная проблема, сессия PHP иногда возвращает неопределенный индекс, но не всегда. Я не знаю, была ли у кого-то подобная проблема, я не сильно изменился относительно начала сессии. Я также проверил доступное дисковое пространство, и это, кажется, хорошо для данных сеанса. У кого-нибудь был подобный опыт?
<?php
session_start();
include_once "security_mobile.php";
include "session.php";
switch($var)
{
case "get_name":
echo $securitymob->get_name();
exit;
}
?>
Security_mobile.php
function get_name(){
return $_SESSION['customer']['name'];
}
Это то место, где первое неопределенное происходит с клиентом, после чего оно не будет работать ни с кем другим. но иногда это работает, что меня беспокоит!
Обновление в выпуске
Я могу решить эту проблему, как только уберу это из своего приложения, однако мне нужно, чтобы это работало.
connection.js
var getdb = Ti.Network.createHTTPClient({
onload : function(e) {
var response = this.responseText;
Ti.App.Properties.setString('tempDB', response);
},
onerror : function(e) {
failed(e);
},
timeout : 5000,
validatesSecureCertificate : false
});
getdb.open('POST', this.url, true);
getdb.send({
'action' : 'get_name',
'device' : 'mobile'
});
это может быть связано с возвращением $_SESSION['customer']['name']
,
$_SESSION['customer']['name']
используется на этапе входа в систему.
Ответ состоял в том, что запрос клиента HTTP отправлялся быстро, это не давало времени для установления соединения и данных сеанса, поэтому, почему результаты там прерывистые. Чтобы решить эту проблему, я должен был выполнить следующий HTTP-клиент, как только первый закончил. Смотрите этот другой ответ для более подробной информации.
Других решений пока нет …