php session_start(): Failed to read session data: user (path:XXX)

本文介绍在使用session_set_save_handler自定义session存储时,遇到的警告问题及解决方法。通过正确序列化数据库查询结果,避免了session_start失败的问题。

当我们想用数据库来存储session时,可调用session_set_save_handler()函数,把session对应的不同方法的实现封装进去,

但是在封装完之后,进行调用时,有可能发生 warning:session_start(): Failed to read session data: user (path:XXX) ,由于在网上没法找到对应的解决办法,博主查了一下PHP手册,发现问题出在session_set_save_handler()的第三个参数read回调函数上。

手册原文:

如果会话中有数据,read 回调函数必须返回将会话数据编码(序列化)后的字符串。 如果会话中没有数据,read 回调函数返回空字符串。

所以,在read()方法的实现时,如果返回的数据库查询结果是数组的形式,要对其进行序列化操作;如果返回的数据查询为空则返回空字符串;
博主就在read()方法的return $result; 改成return serialize($result);

即可解决问题。

bool https_vod_callback(struct tphttp_connection*tc, void* priv) { /* GET /vod/data/mixstream?deviceId=xxx&playerId=xxx&start_time=1591013983 HTTP/1.1 Host: * User-Agent: * X-PLAYER-ID: tty.kewzzRltTbQxKfLliIlJczmTiBDbQuBE Content-Type: multipart/x-mixed-replace;boundary=audio-boundary-- Connection: keep-alive */ DBG_ERR("https_mixstream_uri_callback ..\n"); MEDIACENTER_CTX *media_ctx = (MEDIACENTER_CTX *)get_top_ctx(); DEV_INFO *dev_info = NULL; STORAGE_PLAYBACK_ST *playback = NULL; struct tpsocket_fd *sock = tc->sock; int error_code = 0; char error_msg_buf[LEN_MAX_BUF] = {0}; int remote_type = 0; int event_type_got = 0; #ifdef HARDDISK_STORAGE int face_type_flag = 0; int face_id_got = 0; long long vod_session_face_id[FD_FACE_SUPPORT_NUM] = {0}; int vod_session_det_origin[FD_FACE_SUPPORT_NUM] = {0}; int det_origin_exist_flag = 0; /*0表示旧版本不存在det_origin的情况,1代表新版本存在的情况*/ int det_origin_num = 0; #endif uint8_t vod_session_event_type[VOD_SESSION_EVENT_TYPE_LEN] = {0}; int playback_type = -1; sock->handler.write_buf_max = 512*1024; sock->handler.read_buf_max = 500000; DBG_INFO("vod session https: %s:%s connected path: '%s' Requested: '%s'", sock->addr, sock->port, sock->path, sock->parser.http.url); const char *playerId = NULL; const char* dev_id = NULL; const char* mac = NULL; const char *type = NULL; const char *event_type_str = NULL; #ifdef HARDDISK_STORAGE const char *play_type = NULL; const char *face_id_str = NULL; const char *det_origin_str = NULL; #endif /* check client ip */ if (!strcmp(sock->addr, "127.0.0.1")) { remote_type = REMOTE_TYPE_P2P; } else { remote_type = REMOTE_TYPE_NONE; } type = tphttp_env_get(tc, "type"); if ((type && !strncmp(type, VOD_STREAM_TYPE_SDVOD, strlen(VOD_STREAM_TYPE_SDVOD))) || \ (type && !strncmp(type, VOD_STREAM_TYPE_PLAYBACK, strlen(VOD_STREAM_TYPE_PLAYBACK))) || \ strcasewithprefix(sock->parser.http.url, URL_MIXSTREAM)) { playback_type = PLAYBACK_TYPE_MIXSTREAM; } else if ((type && !strncmp(type, VOD_STREAM_TYPE_SDDOWNLOAD1, strlen(VOD_STREAM_TYPE_SDDOWNLOAD1))) || \ strcasewithprefix(sock->parser.http.url, URL_PICSTREAMSTREAM)){ #ifdef SDCARD_VIDEO_DOWNLOAD const char *media_type = tphttp_env_get(tc, "media_type"); if (media_type && atol(media_type) == 0) { playback_type = PLAYBACK_TYPE_VIDEO_DOWNLOAD; } else #endif playback_type = PLAYBACK_TYPE_PICTURESTREAM; } /*parse deviceId from url*/ dev_id = tphttp_env_get(tc, "deviceId"); if(!dev_id) { dev_id = tphttp_env_get(tc, "deviceid"); if(!dev_id) { dev_id = tphttp_env_get(tc, "dev_id"); if(!dev_id) { DBG_ERR("lack of deviceId param to get vod media, check mac!\n"); } } } mac = tphttp_env_get(tc, "camera_mac"); if(!mac) { mac = tphttp_env_get(tc, "deviceMac"); if(!mac) { mac = tphttp_env_get(tc, "mac"); if(!mac) { DBG_ERR("lack of deviceMac param to get vod media!\n"); } } } if(!mac && !dev_id && playback_type != PLAYBACK_TYPE_PICTURESTREAM){ DBG_ERR("lack of deviceId and deviceMac param to get vod media!\n"); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } if(dev_id){ dev_info = get_dev_info(media_ctx, (char *)dev_id, NULL); } if(!dev_info && mac){ dev_info = get_del_dev_info_by_mac(media_ctx, (char*) mac); } if(!dev_info && mac){ dev_info = get_dev_info_by_mac(media_ctx, mac); } if(!dev_info && playback_type == PLAYBACK_TYPE_PICTURESTREAM) { DBG_WARN("PLAYBACK STREAM TYPE: USE SIMULATE DEV INFO.\n"); dev_info = (DEV_INFO *)media_ctx->hub_dev_for_playback; } if(!dev_info) { DBG_ERR("couldn't find child device\n"); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } playback = dev_info->playback; if (!playback) { DBG_ERR("dev %s playback NULL\n", dev_info->dev_mac); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } /*parse playerId from url*/ playerId = tphttp_env_get(tc, "playerId"); if(!playerId) { playerId = tphttp_env_get(tc, "playerid"); if(!playerId) { playerId = tphttp_hdr_get(tc, "X-PLAYER-ID"); if(!playerId) { playerId = tphttp_hdr_get(tc, "X-APP-ID"); if(!playerId || !playerId[0]) { DBG_ERR("dev:[%s] HAS NOT APP ID\n", dev_info->dev_mac); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } } } } /* parse event_type from url */ event_type_str = tphttp_env_get(tc, "event_type"); if (event_type_str) { DBG_DBG("got event_type: %s\n", event_type_str); int json_str_len = strlen(event_type_str) + strlen("{\"event_type\":}") + 1; char *json_str = calloc(1, json_str_len); struct blob_buf b = {NULL}; blobmsg_buf_init(&b); snprintf(json_str, json_str_len, "{\"event_type\":%s}", event_type_str); if (blobmsg_add_json_from_string(&b, json_str)) { struct blobmsg ( blobmsg_array event_type, ) (response, &b); if (response.event_type) { event_type_got = 1; int rem = 0; struct blob_attr *cur = NULL; blobmsg_for_each_attr(cur, response.event_type, rem) { if (blobmsg_type(cur) == BLOBMSG_TYPE_INT32) { unsigned int event_type = blobmsg_get_u32(cur); /* add event type */ #ifdef HARDDISK_STORAGE if(event_type == STORAGE_CONTROL_FACE_DET_ALARM){ face_type_flag = 1; }else{ storage_vod_add_event_type(vod_session_event_type, event_type); } #else storage_vod_add_event_type(vod_session_event_type, event_type); #endif } } } } blob_buf_free(&b); free(json_str); } #ifdef HARDDISK_STORAGE /* parse face_id from url */ face_id_str = tphttp_env_get(tc, "face_id"); if (face_id_str) { DBG_WARN("\nface_id_strP:%s,face_id_str%s\n",face_id_str,face_id_str); det_origin_str = tphttp_env_get(tc, "det_origin"); if (!det_origin_str) { DBG_DBG("det_origin_str is null, is old version\n"); det_origin_exist_flag = 0; } else { DBG_DBG("det_origin_str is exist, is new version\n"); det_origin_exist_flag = 1; storage_vod_det_origins_init(vod_session_det_origin); int origin_json_str_len = strlen(det_origin_str) + strlen("{\"det_origin\":}") + 1; char *origin_json_str = calloc(1, origin_json_str_len); struct blob_buf bf_origin = {NULL}; blobmsg_buf_init(&bf_origin); snprintf(origin_json_str, origin_json_str_len, "{\"det_origin\":%s}", det_origin_str); DBG_DBG("det_origin_str is %s\n", det_origin_str); if (blobmsg_add_json_from_string(&bf_origin, origin_json_str)) { struct blobmsg ( blobmsg_array det_origin, ) (response, &bf_origin); if (response.det_origin) { int rem_origin = 0; struct blob_attr *cur_origin = NULL; int i = 0; blobmsg_for_each_attr(cur_origin, response.det_origin, rem_origin) { if (blobmsg_type(cur_origin) == BLOBMSG_TYPE_INT32) { int det_ori = blobmsg_get_u32(cur_origin); if (det_ori != 0 && det_ori != 1) { det_ori = 0; } vod_session_det_origin[i] = det_ori; i++; } } det_origin_num = i; } else { DBG_ERR("det_origin is NULL, dev %s playback is NULL\n", dev_info->dev_mac); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } } } storage_vod_face_ids_init(vod_session_face_id); int face_json_str_len = strlen(face_id_str) + strlen("{\"face_id\":}") + 1; char *face_json_str = calloc(1, face_json_str_len); struct blob_buf bf = {NULL}; blobmsg_buf_init(&bf); snprintf(face_json_str, face_json_str_len, "{\"face_id\":%s}", face_id_str); DBG_ERR("\nface_json_str:%s\n",face_json_str); if (blobmsg_add_json_from_string(&bf, face_json_str)) { struct blobmsg ( blobmsg_array face_id, ) (response, &bf); if (response.face_id) { face_id_got = 1; int rem_face = 0; struct blob_attr *cur_face = NULL; int i = 0; blobmsg_for_each_attr(cur_face, response.face_id, rem_face) { if (blobmsg_type(cur_face) == BLOBMSG_TYPE_INT64) { long long face_id = blobmsg_get_u64(cur_face); /* add FACE ID */ DBG_INFO("\nadd face_id:%lld\n",face_id); if (det_origin_exist_flag == 0) { storage_vod_add_face_id(vod_session_face_id, face_id); } else if (det_origin_exist_flag == 1) { if (i < det_origin_num) { U64 marked_face_id = 0; /* add FACE ID */ if (vod_session_det_origin[i] == 1) { marked_face_id = fd_control_mark_nvmp_faceid((U64)face_id); } storage_vod_add_face_id(vod_session_face_id, (long long)marked_face_id); i++; } else { DBG_ERR("the det origin and the face id is not match\n"); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } } } } if (i != det_origin_num) { DBG_ERR("the det_origin and the face id is not match\n"); tpsocket_write_force(sock, tpbuf_http_response(503, "Service Unavailable", 0, false), true); tpsocket_close(sock); return true; } } } else { DBG_ERR("\nface_id not got\n"); } blob_buf_free(&bf); free(face_json_str); } if (!face_id_got) { storage_vod_face_ids_init(vod_session_face_id); } #endif if (!event_type_got) { storage_vod_set_event_types_all(vod_session_event_type); #ifdef HARDDISK_STORAGE face_type_flag = 0; #endif } if (playback_type == PLAYBACK_TYPE_MIXSTREAM) { /* request count of local or P2P vod stream: int */ dev_info->telemetry.vod_stream[!!media_ctx->eth_up].consumer[remote_type].request_count++; } /*jude occupied state*/ if(!playback->playerId[0]) { DBG_NOTICE("dev:[%s] playerId null, local first time to start vod connection\n", dev_info->dev_mac); strncpy(playback->playerId, playerId, 63); } else { if(strcmp(playback->playerId, playerId)) { DBG_ERR("dev:[%s] local APP ID EXIST AND NOT MATCH\n", dev_info->dev_mac); snprintf(error_msg_buf, sizeof(error_msg_buf), "{\"error_code\":%d}", MULTI_VOD_SESSION_BUSY); tphttp_output_simple(tc, 503, "Service Unavailable", error_msg_buf, false); if (playback_type == PLAYBACK_TYPE_MIXSTREAM) { /* check busy count due to device occupied during local or P2P vod stream: int */ dev_info->telemetry.vod_stream[!!media_ctx->eth_up].consumer[remote_type].busy_count++; } return true; } } // int dev_num = 0; // DEV_INFO *dev_info_tmp = NULL; // list_for_each_entry(dev_info_tmp, &media_ctx->dev_info, list){ // dev_num++; // } // relay_consumer_cur_left_num += RELAY_CONSUMER_MAX_NUM[dev_num] - relay_consumer_cur_max_num; // relay_consumer_cur_max_num = RELAY_CONSUMER_MAX_NUM[dev_num]; //DBG_DBG("-------------------------vod-------------cur_num = %d\n", relay_consumer_cur_left_num); if (playback_type == PLAYBACK_TYPE_MIXSTREAM) { // if (relay_consumer_cur_left_num < RELAY_CONSUMER_CLIENT_TYPE_VOD_NUM){ // //DBG_DBG("------------------connections has been reached max num------------------------\n"); // return true; // } int index = 0; const char *start_time = tphttp_env_get(tc, "start_time"); struct vod_session_t *vod_session = NULL; index = storage_vod_session_start(playback, true, tc, PLAYBACK_TYPE_MIXSTREAM, false, remote_type, &error_code); if(index < 0) { DBG_ERR("dev:[%s] local VOD SESSION START FAILED\n", dev_info->dev_mac); if (error_code == MULTI_VOD_SESSION_BUSY_FOR_ONE_CLIENT) { snprintf(error_msg_buf, sizeof(error_msg_buf), "{\"error_code\":%d}", MULTI_VOD_SESSION_BUSY_FOR_ONE_CLIENT); tphttp_output_simple(tc, 503, "Service Unavailable", error_msg_buf, false); } else { tphttp_output_simple(tc, 503, "Service Unavailable", NULL, false); } return true; } //sock->handler.priv = playback; //sock->handler.cb = storage_playback_http_cb; //relay_consumer_cur_left_num -= RELAY_CONSUMER_CLIENT_TYPE_VOD_NUM; //DBG_DBG("-------------------------vod-------------cur_num = %d\n", relay_consumer_cur_left_num); dev_info->vod_status = 1; vod_session = &playback->vod_session[index]; const char *auto_seek = tphttp_env_get(tc, "auto_seek"); if(start_time) { vod_session->start_time[VIDEO_START_TIME_INIT] = atoi(start_time); vod_session->play_state = VOD_PLAY; if (auto_seek) { vod_session->auto_seek = atoi(auto_seek); DBG_ERR("set auto seek %d\n", vod_session->auto_seek); } } else { vod_session->play_state = VOD_PAUSE; } /* set event types */ storage_vod_set_event_types(vod_session->event_type, vod_session_event_type); #ifdef HARDDISK_STORAGE /* set face ids */ storage_vod_set_face_ids(vod_session->face_id, vod_session_face_id); vod_session->face_type_flag = face_type_flag; vod_session->face_traj = FALSE; play_type = tphttp_env_get(tc, "play_type"); DBG_ERR("\n!!!!!!!!!!!!!!!palay_type = %s;face_id=%llu\n", play_type,vod_session->face_id[0]); if((play_type && !strncmp(play_type, VOD_STREAM_TYPE_TRAJ_PLAY, strlen(VOD_STREAM_TYPE_TRAJ_PLAY)))) { vod_session->face_traj = TRUE; const char *traj_start_time = tphttp_env_get(tc, "traj_start_time"); if (traj_start_time) { DBG_ERR("exist traj_start_time: %s.\n", traj_start_time); vod_session->traj_start_time = atoi(traj_start_time); } else { DBG_ERR("not exist traj_start_time: %lu.\n", vod_session->traj_start_time); vod_session->traj_start_time = vod_session->start_time[VIDEO_START_TIME_INIT]; } vod_session->start_time[VIDEO_START_TIME_PLAY] = vod_session->start_time[VIDEO_START_TIME_INIT]; } #endif sock->handler.priv = vod_session; sock->handler.cb = storage_playback_http_cb; #ifdef HARDDISK_STORAGE memset(vod_session->mac, '\0', sizeof(vod_session->mac)); memcpy(vod_session->mac, dev_info->dev_mac, sizeof(dev_info->dev_mac)); vod_session->init_status = 0; http_vod_handle_hdd(playback, index); #else http_vod_handle(playback, index); #endif tc->priv = vod_session; tc->priv_free = (void*)vod_session_stop; /* telemetry */ if (vod_session->play_state == VOD_PLAY) { DBG_DBG("vod check success\n"); /* count of checking mp4 file successfully during local or P2P vod stream: int */ if (vod_session->remote_type >= 0 && vod_session->remote_type <= REMOTE_TYPE_P2P) { dev_info->telemetry.vod_stream[!!media_ctx->eth_up].consumer[vod_session->remote_type].check_success_count++; } } } else if (playback_type == PLAYBACK_TYPE_PICTURESTREAM) { int index = 0; struct vod_session_t *vod_session = NULL; index = storage_vod_session_start(playback, true, tc, PLAYBACK_TYPE_PICTURESTREAM, false, remote_type, &error_code); if(index < 0) { DBG_ERR("dev:[%s] lcoal VOD SESSION START FAILED\n", dev_info->dev_mac); if (error_code == MULTI_VOD_SESSION_BUSY_FOR_ONE_CLIENT) { snprintf(error_msg_buf, sizeof(error_msg_buf), "{\"error_code\":%d}", MULTI_VOD_SESSION_BUSY_FOR_ONE_CLIENT); tphttp_output_simple(tc, 503, "Service Unavailable", error_msg_buf, false); } else { tphttp_output_simple(tc, 503, "Service Unavailable", NULL, false); } return true; } //sock->handler.priv = playback; //sock->handler.cb = storage_playback_http_cb; vod_session = &playback->vod_session[index]; sock->handler.priv = vod_session; sock->handler.cb = storage_playback_http_cb; http_vod_handle(playback, index); tc->priv = vod_session; tc->priv_free = (void*)vod_session_stop; } #ifdef SDCARD_VIDEO_DOWNLOAD else if(playback_type == PLAYBACK_TYPE_VIDEO_DOWNLOAD) { struct download_session_t *download_session = &media_ctx->download_session; if (download_session->download_state != VIDEO_DOWNLOAD_NONE) { snprintf(error_msg_buf, sizeof(error_msg_buf), "{\"error_code\":%d}", MULTI_VOD_SESSION_BUSY); tphttp_output_simple(tc, 503, "Service Unavailable", error_msg_buf, false); return true; } if (storage_download_session_init(download_session, sock, dev_id, mac) < 0) { tphttp_output_simple(tc, 503, "Service Unavailable", NULL, false); return true; } download_session->playback = playback; media_ctx->tapo_stream_count += 1; sock->handler.priv = download_session; sock->handler.write_buf_max = 4 * 1024 * 1024; sock->handler.cb = storage_download_request_cb; http_download_response(download_session); tc->priv = download_session; } #endif else { DBG_ERR("dev:[%s] stream type: %s not right or local url Not Matching!%s", type ? type : "NULL", dev_info->dev_mac, sock->parser.http.url); tpsocket_write_force(sock, tpbuf_http_response(404, "Not Found", 0, false), true); tpsocket_close(sock); } return true; } int storage_playback_init(STORAGE_PLAYBACK_ST *playback) { int i = 0; if(!playback){ DBG_ERR("arg NULL\n"); return -1; } for(i = 0; i < SESSION_NUM_LIMIT; i++) { playback->vod_session[i].priv = playback; playback->vod_session[i].retry_tmo.cb = storage_vod_connect_relay_server; INIT_LIST_HEAD(&playback->vod_session[i].alt_relay_list); } return 0; } STORAGE_PLAYBACK_ST *storage_playback_new(void *ctx) { if(!ctx){ DBG_ERR("arg NULL\n"); return NULL; } STORAGE_PLAYBACK_ST *playback = NULL; playback = (STORAGE_PLAYBACK_ST *)calloc(1, sizeof(STORAGE_PLAYBACK_ST)); if(!playback){ DBG_ERR("struct STORAGE_PLAYBACK_ST calloc error:%s\n", strerror(errno)); return NULL; } playback->topCtx = ctx; if(storage_playback_init(playback) < 0) { DBG_ERR("storage_playback_init error\n"); storage_playback_free(playback); playback = NULL; } DBG_DBG("new playback ok\n"); return playback; }
最新发布
10-15
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="error__6">Operation failed. Please try later.</string> <string name="error_263">No default tenant found, please contact service provider.</string> <string name="error__107">Failed to connect to the camera. Try again later.</string> <string name="error_004">Invalid email address.</string> <string name="error_006">Incorrect mobile number.</string> <string name="error_009">The phone number has already been registered once, please use another number or use this number to login.</string> <string name="error_010">Incorrect verification code.</string> <string name="error_011">The email address has been bound.</string> <string name="error_012">Failed to log in to the app. Please log in again.</string> <string name="error_018">Invalid application ID.</string> <string name="error_019">Invalid operation.</string> <string name="error_024">Invalid plug-in.</string> <string name="error_025">Operation failed. Please try later.</string> <string name="error_026">Plug-in does not exist.</string> <string name="error_027">Failed to log in to the app. Please log in again.</string> <string name="error_030">The terminal has been bound.</string> <string name="error_031">Operation failed. Please try later.</string> <string name="error_032">The terminal does not bind to this account.</string> <string name="error_033">Terminals are being operated by other users.</string> <string name="error_034">Operation failed. Please try later.</string> <string name="error_035">Failed to obtain the application list.</string> <string name="error_036">Failed to obtain the application image.</string> <string name="error_037">Failed to obtain the application version.</string> <string name="error_038">Failed to obtain the Wi-Fi coverage information.</string> <string name="error_040">The email address has not been bound to an account.</string> <string name="error_042">Operation failed. Please try later.</string> <string name="error_044">Operation failed. Please try later.</string> <string name="error_048">Operation failed. Please try later.</string> <string name="error_050">Operation failed. Please try later.</string> <string name="error_051">Operation failed. Please try later.</string> <string name="error_056">Configuration page query failed.</string> <string name="error_057">Operation failed. Please try later.</string> <string name="error_058">Plug-in list query failed.</string> <string name="error_059">Plug-in image query failed.</string> <string name="error_060">Operation failed. Please try later.</string> <string name="error_061">Operation failed. Please try later.</string> <string name="error_063">Invalid broadband account.</string> <string name="error_064">Operation failed. Please try later.</string> <string name="error_066">Invalid account type.</string> <string name="error_067">The password cannot be empty.</string> <string name="error_068">The confirmation password cannot be empty.</string> <string name="error_069">The account cannot be empty.</string> <string name="error_070">Incorrect PPPoE account.</string> <string name="error_072">The cloud account is empty.</string> <string name="error_073">Incorrect cloud account type.</string> <string name="error_075">The cloud account is registered.</string> <string name="error_076">The cloud account does not exist.</string> <string name="error_077">You have not bound any broadband account or gateway.</string> <string name="error_078">The MAC address of the device is not registered to the cloud platform. </string> <string name="error_081">The current binding relationship does not exist.</string> <string name="error_082">The user account does not exist.</string> <string name="error_087">Binding failed, No broadband account.</string> <string name="error_093">You have not bound any broadband account.</string> <string name="error_094">The number of gateways to be bound has reached the maximum. New gateways cannot be bound.</string> <string name="error_097">Broadband account verification is not currently available.</string> <string name="error_098">The device already exists.</string> <string name="error_099">The Wi-Fi SSID already exists.</string> <string name="error_100">The Wi-Fi SSID is empty.</string> <string name="error_101">The account is added.</string> <string name="error_103">The password will expire soon.</string> <string name="error_105">The user account is locked.</string> <string name="error_106">User login failed.</string> <string name="error_107">Exceeded the number limit of accounts that can be logged in at the same time.</string> <string name="error_108">Password complexity is invalid.</string> <string name="error_110">Incorrect mobile phone type.</string> <string name="error_111">The mobile phone version is empty.</string> <string name="error_112">Exceeded the password resetting limit in 24 hours.</string> <string name="error_113">Exceeded the number limit of security question attempts. The password resetting is locked.</string> <string name="error_114">Incorrect answer to the security question.</string> <string name="error_115">Invalid parameter for the security question.</string> <string name="error_116">Incorrect old password.</string> <string name="error_117">No plug-in version.</string> <string name="error_118">Incorrect password.</string> <string name="error_121">Invalid order number.</string> <string name="error_122">WO cloud account has been registered.</string> <string name="error_123">WO cloud account does not exist.</string> <string name="error_124">WO cloud client authentication failed.</string> <string name="error_133">Failed to join.</string> <string name="error_139">Only administrators have this permission.</string> <string name="error_144">The log file size exceeds 5 MB and cannot be uploaded.</string> <string name="error_145">Plug-in already exists.</string> <string name="error_146">Plug-in version already exists.</string> <string name="error_150">The log switch has been enabled.</string> <string name="error_151">The log switch has been disabled.</string> <string name="error_152">Failed to query third-party authentication information.</string> <string name="error_153">Failed to forward plug-in third-party authentication information.</string> <string name="error_154">Duplicate room name.</string> <string name="error_155">The message template cannot be left empty.</string> <string name="error_156">The message template does not exist.</string> <string name="error_157">The mapping SMS template does not exist.</string> <string name="error_158">The SMS gateway is unavailable.</string> <string name="error_159">The plug-in service name is left empty or does not exist.</string> <string name="error_160">The plug-in service code is left empty or does not exist.</string> <string name="error_161">The plug-in random code is left blank or does not exist.</string> <string name="error_162">The mobile number cannot be left empty.</string> <string name="error_163">Failed to connect to the SMS gateway.</string> <string name="error_164">Failed to bind the SMS gateway.</string> <string name="error_165">Failed to send the SMS message.</string> <string name="error_166">SMS sending timed out.</string> <string name="error_171">The email address for receiving an authentication code is not the email address of the administrator.</string> <string name="error_172">The format of the message notification switch is incorrect.</string> <string name="error_173">The user password of the storage service fails the verification.</string> <string name="error_174">Status of the gateway to which the user is bound is invalid.</string> <string name="error_175">The email server is not configured.</string> <string name="error_176">Failed to send the email.</string> <string name="error_184">Sender authentication on the email server failed.</string> <string name="error_185">Incorrect email address.</string> <string name="error_186">Operation failed. Please try later.</string> <string name="error_187">Operation failed. Please try later.</string> <string name="error_189">You do not have the permission to access the gateway.</string> <string name="error_192">This type of message is not currently supported by the SMS gateway.</string> <string name="error_193">Sessiontimeout must be specified if the speed-up interface oper_type is set to 0.</string> <string name="error_196">Image size too large.</string> <string name="error_197">Incorrect image format.</string> <string name="error_198">The plug-in software version is not available.</string> <string name="error_199">Mandatory parameter symbolicName not found.</string> <string name="error_200">The plug-in record is empty.</string> <string name="error_204">BSS is not configured.</string> <string name="error_205">Failed to register the cloud account.</string> <string name="error_209">Mandatory parameter #{field} is not carried or is left empty.</string> <string name="error_210">Invalid request format.</string> <string name="error_211">The password has expired.</string> <string name="error_212">The user is blocked.</string> <string name="error_213">The MAC address is not bound.</string> <string name="error_215">You have not purchased such type of device.</string> <string name="error_216">Failed to identify the device type.</string> <string name="error_217">The number of devices of this type exceeds the maximum allowed by the package.</string> <string name="error_218">The package has not been activated.</string> <string name="error_222">Cloud storage has not been configured on the web page.</string> <string name="error_226">The account is not bound to a mobile number.</string> <string name="error_227">The account is not bound to an email address.</string> <string name="error_228">The cloud storage parameters cannot be left empty.</string> <string name="error_230">Failed to create the temporary Amazon Cloud certificate.</string> <string name="error_231">The verification code has expired.</string> <string name="error_232">No profile image has been uploaded for the user.</string> <string name="error_233">The application has not been purchased.</string> <string name="error_234">Incorrect cloud storage configuration.</string> <string name="error_236">Failed to obtain the cloud token.</string> <string name="error_237">Non-current administrator to create sub-accounts</string> <string name="error_244">The mobile number cannot be used for login.</string> <string name="error_245">The email address cannot be used for login.</string> <string name="error_246">The account cannot be modified repeatedly.</string> <string name="error_248">The plug-in is the latest version.</string> <string name="error_249">The login has expired.</string> <string name="error_250">The plug-in is the latest version.</string> <string name="error_251">Users with no service provisioned cannot bind a gateway.</string> <string name="error_252">The mobile number bound to the new administrator does not match the number segment specified by the carrier.</string> <string name="error_253">The mobile phone number bound to the new administrator is not used.</string> <string name="error_254">The mobile phone number bound to the new administrator has been used.</string> <string name="error_256">Your account has been disabled.</string> <string name="error_1018">Your password has been reset, please set a new password on the cloud platform</string> <string name="error_30000001">Operation failed. Please try later.</string> <string name="error_30000101">The account already exists.</string> <string name="error_30000102">The account does not exist.</string> <string name="error_30000103">The new account already exists.</string> <string name="error_30000104">The mobile number already exists.</string> <string name="error_30000105">The email address already exists.</string> <string name="error_30000106">The package does not exist.</string> <string name="error_30000107">Product ID{#{field}} does not exist.</string> <string name="error_30000108">Incorrect email address format.</string> <string name="error_30000109">The password does not meet the complexity requirements. Enter a correct one.</string> <string name="error_30000110">The account is not an administrator account.</string> <string name="error_30000111">No gateway has been bound for the account.</string> <string name="error_30000112">Multiple gateways have been bound for the account.</string> <string name="error_30000113">The gateway bound to this account has been enabled for remote management.</string> <string name="error_30000114">The gateway bound to this account has suspended remote management</string> <string name="error_30000115">The package is not specified.</string> <string name="error_30000116">Failed to delete the storage service file.</string> <string name="error_30000121">Unknown northbound bundle operation.</string> <string name="error_30000122">The plug-in software version is not found.</string> <string name="error_30000123">The plug-in software version already exists.</string> <string name="error_30000124">Mandatory parameter symbolicName is not specified.</string> <string name="error_30000125">The plug-in record is empty.</string> <string name="error_30000126">The plug-in has been bound to an app.</string> <string name="error_30000127">The plug-in does not exist.</string> <string name="error_30000128">The format of the mobile number is incorrect.</string> <string name="error_30000129">A new account cannot be the same as the old account.</string> <string name="error_30000130">The password must be different from previous passwords.</string> <string name="error__1004">The service package is not available for use.</string> <string name="error__1008">The entered broadband account is inconsistent with the one used for dial-up access.</string> <string name="error__1011">The user is offline.</string> <string name="error__1012">Subscribed services have expired.</string> <string name="error__1014">The IP address is outside the IP address range that has access to smart speed-up.</string> <string name="error__1015">The remaining quota is zero.</string> <string name="error_2002">The room does not exist.</string> <string name="error_2003">The device SN does not exist.</string> <string name="error_2004">The device is already added.</string> <string name="error_2005">No such device service is purchased.</string> <string name="error_2006">The package is not activated.</string> <string name="error_2007">The number of devices exceeds the limit of package.</string> <string name="error_2008">The device name already exists.</string> <string name="error_10100502">The service is invalid.</string> <string name="error_10100503">The service has ceased.</string> <string name="error_10100505">The service package does not exist.</string> <string name="error_10100508">BOD services do not support accumulation.</string> <string name="error_10100509">No basic-bandwidth information is available to calculate the amount of additional BOD bandwidth required.</string> <string name="error_10100601">The service is not subscribed.</string> <string name="error_10100602">The service is in used.</string> <string name="error_10100604">The service is not in use and the acceleration does not need to be stopped.</string> <string name="error_999">Operation failed. Please try later.</string> <string name="error_999108">Operation failed. Please try later.</string> <string name="error_999100">Service cannot parse XML-request and detect necessary fields</string> <string name="error_999101">Account for requested login or contract number is not found (for methods like balance checking)</string> <string name="error_999102">The contract attachment of the requested number is not found.</string> <string name="error_999103">Service with the requested number is not found</string> <string name="error_999104">Wrong phone number format</string> <string name="error_999105">Wrong email format</string> <string name="error_999106">Password doesn\'t meet the requirements (too short, etc)</string> <string name="error_999107">Error of internal account identification</string> <string name="error_999200">Method is not supported or not currently available</string> <string name="error_999202">BSS returns an error indicating that changing the mobile phone number failed.</string> <string name="error_999203">BSS returns an error indicating that changing the email address failed.</string> <string name="error_999300">Error during internal request processing in billing system (it will be returned XML-structure with details of the error)</string> <string name="error_network_err">Connection timed out. Check your network connection.</string> <string name="error_40000002">The length exceeds the maximum limit.</string> <string name="error_40000005">The parameter value exceeds the maximum value.</string> <string name="error_40000006">The parameter value is less than the minimum value.</string> <string name="error_80010001">The scene name already exists.</string> <string name="error_80010002">The scene name is empty.</string> <string name="error_80010003">The scene contains non-existing or deleted devices.</string> <string name="error_80010004">The scene name does not exist.</string> <string name="error_80000001">The plug-in name is empty.</string> <string name="error_80000002">The data flag is empty.</string> <string name="error_80010005">The action of the device is empty.</string> <string name="error_80010006">The device type does not exist.</string> <string name="error_80011001">The app name does not exist.</string> <string name="error_80011002">The operation name is empty.</string> <string name="error_80011003">The service name does not exist.</string> <string name="error_80012001">The camera password is incorrect or locked.</string> <string name="error_80013001">More rooms are created than allowed.</string> <string name="error_80010007">Incorrect time format in the scheduled scene.</string> <string name="error_80010008">The action name is empty.</string> <string name="error_80010009">Name of trigger condition is empty.</string> <string name="error_1013">The MAC address of your gateway does not exist on the server.</string> <string name="logo_homeGatewayService.token.invalid">Your login has expired.</string> <string name="error_1014">The number of verification codes sent in your account has reached the maximum. Please try again tomorrow.</string> <string name="error_0x02163dc3">The number of same characters in a row in the password has exceeded the maximum.</string> <string name="error_0x02163dcc">Failed to input the correct old password.</string> <string name="error_0x02163dc1">The password does not meet requirements.</string> <string name="error_0x02163dc2">The length of the password does not meet requirements.</string> <string name="error_0x021639b8">The new password must contain at least two characters that are not used in the old password.</string> <string name="error_0x02163dc4">The password does not comply with the repetition policy.</string> <string name="error_0x02163dc6">The operation does not comply with the minimum modification time interval.</string> <string name="error_0035014004">Password entered incorrectly too many times, please wait %1$s minutes and try again.</string> <string name="error_276">The mobile number has been registered with another broadband service provider and cannot be invited.</string> <string name="error_across_tenant">The mobile number has been registered with another broadband service provider, so you cannot invite it.</string> <string name="error__11">Operation failed. Please try later.</string> <string name="error__12">Operation failed. Please try later.</string> <string name="error_HomeGatewayService_parameter_invalid">Incorrect request parameter.</string> <string name="error_HomeGatewayService_cmdtype_invalid">The current platform version does not support this function.</string> <string name="error_HomeGatewayService_service_invalid">Server error.</string> <string name="error_HomeGatewayService_homegateway_no_permission">You do not have permission to manage the gateway.</string> <string name="error_281">Failed to send the SMS message. Please contact your broadband service provider.</string> <string name="error_282">The server fails to send an SMS message because the mobile number is invalid.</string> <string name="error_283">The server fails to send an SMS message because the mobile number is invalid.</string> <string name="error_284">The server is busy sending SMS messages. Please try again later.</string> <string name="error_285">The server is busy sending SMS messages. Please try again later.</string> <string name="error_286">The server fails to send the SMS message because the content is invalid.</string> <string name="error_287">The server fails to send an SMS message because the number is in the blacklist.</string> <string name="error_288">The SMS message sent by the server contains sensitive words. Change your gateway remarks and try again.</string> <string name="error_0">Operation successful.</string> <string name="error_7">The gateway is busy and cannot process the current request. Try again later.</string> <string name="error__1">Operation failed. Please try later.</string> <string name="error__2">Network request timed out.</string> <string name="error__36">The Wi-Fi service has been disabled.</string> <string name="error__100">Failed to assign transit server port. Try again</string> <string name="error__101">Failed to connect to the transit server. Check if the server is online.</string> <string name="error__105">Failed to obtain the video service address of the camera</string> <string name="error__108">User authentication failed</string> <string name="error__202">When MLO is enabled, the authentication mode must be WPA2, WPA3, or WPA2/WPA3.</string> <string name="error_001">Duplicate username.</string> <string name="error_002">Passwords don’t match.</string> <string name="error_003">Incorrect username or password.</string> <string name="error_005">The length of the password does not meet requirements.</string> <string name="error_007">The username cannot be empty.</string> <string name="error_008">Duplicate nickname.</string> <string name="error_013">Incorrect username or password.</string> <string name="error_014">Exceeded the maximum number of terminals bound to the current account.</string> <string name="error_015">Exceeded the maximum number of accounts bound to this terminal.</string> <string name="error_016">No smart ONT has been bound</string> <string name="error_020">The gateway is offline.</string> <string name="error_021">You do not have the permission to access the gateway.</string> <string name="error_022">The gateway is not registered.</string> <string name="error_023">The username does not exist.</string> <string name="error_029">No terminal is bound to this account.</string> <string name="error_039">The mobile number has not been bound to an account.</string> <string name="error_041">Failed to modify the password: The old password is entered incorrectly.</string> <string name="error_043">The gateway connection timed out. Try again later or check whether the gateway network is connected.</string> <string name="error_045">Operation failed. Please try later.</string> <string name="error_046">Operation failed. Please try later.</string> <string name="error_047">Failed to obtain the device control list.</string> <string name="error_049">Exceeded the maximum number of controllable devices.</string> <string name="error_052">The gateway is not registered.</string> <string name="error_053">Device control is not supported.</string> <string name="error_054">Operation failed. Please try later.</string> <string name="error_055">Unknown error occurred on the device control template.</string> <string name="error_065">Problem description cannot be empty.</string> <string name="error_071">Not a smart gateway.</string> <string name="error_079">Operation failed: the gateway has been unbound.</string> <string name="error_080">Operation failed: the current account has not joined.</string> <string name="error_083">Operation failed. Please try later.</string> <string name="error_084">A non-invite user cannot modify the remarks.</string> <string name="error_085">Unbinding failed. Please try again later.</string> <string name="error_086">Devices exist in the room.</string> <string name="error_088">This app does not support non-smart gateways.</string> <string name="error_089">Binding failed. Please try again later.</string> <string name="error_090">Binding failed. Please try again later.</string> <string name="error_091">Binding failed. Please try again later.</string> <string name="error_092">The number of invited users has exceeded the upper limit.</string> <string name="error_095">Deletion failed. The last user cannot be deleted.</string> <string name="error_096">The list of network users to be deleted is empty.</string> <string name="error_102">The new password cannot be the same as any previous password.</string> <string name="error_104">The password has expired.</string> <string name="error_109">The greeting message is empty.</string> <string name="error_119">The room name cannot be empty.</string> <string name="error_120">The room ID cannot be empty.</string> <string name="error_125">The username does not meet the complexity requirements. Enter a correct one.</string> <string name="error_126">The username cannot be empty.</string> <string name="error_127">The username does not meet the complexity requirements. Enter a correct one.</string> <string name="error_128">No mobile number is bound.</string> <string name="error_129">This mobile number is not a administrator account.</string> <string name="error_130">The mobile number must be a Bahraini number.</string> <string name="error_131">The mobile number has been bound.</string> <string name="error_132">No phone number is bound to the current account.</string> <string name="error_134">Administrators cannot leave.</string> <string name="error_135">The mobile number is not bound to any account.</string> <string name="error_136">The login has expired.</string> <string name="error_140">The device has been updated to the latest version.</string> <string name="error_141">No new version is available.</string> <string name="error_143">Incorrect log file format.</string> <string name="error_147">The gateway is being upgraded.</string> <string name="error_148">The phone number has already been registered once, please use another number or use this number to login.</string> <string name="error_149">Duplicate room name.</string> <string name="error_167">Operation failed. Please try later.</string> <string name="error_168">Starting the plug-in…</string> <string name="error_169">Stopping the plug-in…</string> <string name="error_170">Uninstalling the plug-in…</string> <string name="error_188">The gateway does not exist.</string> <string name="error_190">You do not have access to this gateway.</string> <string name="error_191">The message push type is empty or of an incorrect format.</string> <string name="error_194">Operation failed. Please try later.</string> <string name="error_195">You cannot invite other network members to join.</string> <string name="error_LHConsumerService_login_accountRoleMismatch">Members from other enterprises are not allowed.</string> <string name="error_LHConsumerService_bindGroup_exceedMaxBindGroupNum">Members from other enterprises are not allowed.</string> <string name="error_201">Failed to check the remaining balance.</string> <string name="error_202">Failed to change the mobile number.</string> <string name="error_203">Failed to change the email address.</string> <string name="error_214">Incorrect addedDeviceList format.</string> <string name="error_219">The password cannot be the same as the username or the username in reverse.</string> <string name="error_220">You do not have the administrative permission.</string> <string name="error_221">Failed to uninstall all the plug-ins of the home gateway.</string> <string name="error_224">The new gateway is not registered.</string> <string name="error_225">The new home gateway has been bound.</string> <string name="error_238">Your account has not been bound with a mobile number or email address. The password cannot be retrieved through self service. You are advised to contact your administrator to retrieve the password.</string> <string name="error_239">The mobile number is bound to multiple accounts.</string> <string name="error_240">The email address is bound to multiple accounts.</string> <string name="error_247">Anonymous binding information cannot be queried by using a mobile number or an email address.</string> <string name="error_255">The account has been bound to a gateway, and cannot be bound to another one.</string> <string name="error_272">Incorrect username or password.</string> <string name="error_1002">The interval between requests for sending verification codes is too short.</string> <string name="error_30000117">The home gateway MAC address does not exist.</string> <string name="error_30000118">The home gateway is offline.</string> <string name="error_30000119">The home gateway plug-in does not exist.</string> <string name="error_30000120">The plug-in is not installed or not upgraded on the home gateway.</string> <string name="error__1013">The MAC address (XXX) of your gateway does not exist on the server.</string> <string name="error_2001">The input parameter is empty.</string> <string name="error_40000001">The parameter contains unsupported special characters.</string> <string name="error_40000003">The length is less than the minimum limit.</string> <string name="error_40000004">The parameter is not a numeric type.</string> <string name="error_40000007">Invalid IP address.</string> <string name="net_conn_failed">Connection failed.</string> <string name="error__3">Connection failed.</string> <string name="error__4">The gateway is busy and cannot process the current request. Try again later.</string> <string name="error__5">Operation failed. Please try later.</string> <string name="error__7">Operation failed. Please try later.</string> <string name="error__8">Not supported by the gateway.</string> <string name="error__9">Operation failed. Please try later.</string> <string name="error__10">Your login has expired. Please log in again.</string> <string name="error_280">Failed to send the SMS message. Please try again later.</string> <string name="error_300">The current server version does not support user name registration.</string> <string name="error__102">Camera offline or camera connection failed. Check if the camera is powered on.</string> <string name="error__104">Camera video service address illegal, please report impaired</string> <string name="error__106">Gateway cannot connect to the transit server. Check if the server is online.</string> <string name="error__200">Reached the upper limit.</string> <string name="error__201">When MLO is enabled, the working mode must be 802.11be.</string> <string name="error__203">Saving Wi-Fi settings. Please wait.</string> <string name="error__204">Incorrect request parameter.</string> <string name="error__205">The Wi-Fi frequency band is not enabled. Enable it first.</string> <string name="error__301">Fails to play the real-time video of the camera. Failed to connect to the gateway locally.</string> <string name="error__330">Application control is not enabled. Please enable it first.</string> <string name="error__331">The number of application control policies has reached the upper limit.</string> <string name="error__332">The app control rule does not exist.</string> <string name="error__622">The rate limit periods cannot overlap with each other.</string> <string name="error_028">Your account has been used for login on another device. If this was done without your knowledge, your account and password may have been compromised. Choose Settings > Account And Security to change your account password.</string> <string name="error_2009">Failed to query the package status.</string> <string name="error__99999">Operation failed. Please try later.</string> <string name="error_1017">The MAC address cannot be empty.</string> <string name="error_licence_expire">Licence expired, please contact service provider.</string> <string name="LHConsumerService.bindLocalAccount.hasFamily">The account is already in a family.</string> <string name="LHConsumerService.bindLocalAccount.bound">Already bound to another account.</string> <string name="LHConsumerService.weakvalue.error">The password is too simple.</string> <string name="error_LHConsumerService_feedback_daylimit">The number of problems you reported has reached the upper limit. Try again 24 hours later.</string> <string name="error_306">Failed to send the verification code.The possible cause is that the mobile number format is incorrect or the mobile number has been bound.</string> <string name="error_307">Failed to send the verification code.The possible cause is that the email address format is incorrect or the email address has been bound.</string> <string name="error_308">Failed to send the verification code.The possible cause is that the mobile number format is incorrect or the mobile number is not bound.</string> <string name="error_309">Failed to send the verification code.The possible cause is that the email address format is incorrect or the email address is not bound.</string> <string name="error_310">The client IP address is locked,please try again later.</string> <string name="error_311">The current version does not support multi-factor authentication. Contact the administrator to disable multi-factor authentication.</string> <string name="error__340">The portal function has been enabled. The speed limit cannot be configured. To set the rate limit, disable Portal authentication on the web management page of the gateway.</string> <string name="error_AppSdk_notInitialized">Failed to initialize the app. Please log in again.</string> <string name="error_log_collect_offline">Device is offline</string> <string name="error_log_collect_conflict">Another collection task of the device is in progress.</string> <string name="error_log_collect_failed">Log collection failed</string> <string name="LHConsumerService.domainMigration.notSupportBinding">The server has been switched. Please switch to the corresponding region and register again.</string> <string name="error__41">Failed to set the 5G Wi-Fi because it has been locked. Contact your carrier to enable it first.</string> <string name="error__14">The same Wi-Fi SSID already exists in the current frequency band.</string> <string name="BindGateway_101">You have joined a family. Please refresh the home page and view it.</string> <string name="error_third_platform_user">Third-party users exist, unbinding failed.</string> </resources>
06-11
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值