2012-03-21 2 views
0

나는 tinyMCE라고 생각하는 문제를 겪었습니다. 그런 다음 내 DB는 내 세션 var 크기라고 생각합니다. MySQL 데이터베이스에 연결된 PHP 응용 있습니다. 거기에 2900 + 문자가있는 필드가 있습니다. 페이지를로드 할 때이 텍스트를 표시해야하는 영역이 완전히 없거나 축소 된 텍스트를 볼 수있는 db에서 텍스트의 큰 부분을 제거하면됩니다. 디버깅하는 동안 소개 텍스트 [session-> userdata-> ACCOUNT_INTRO_TEXT]의 길이가 1024 (2963) 인 var를 보았습니다. 따라서 세션 var 길이/크기는 1024이지만 2963이 전송되므로 var가 잘립니다. 이 세션의 크기를 늘리는 방법 var?PHP에서 세션 변수 크기 증가 Codeigniter app

+0

데이터에 액세스하는 코드와 데이터베이스 스키마의 관련 부분을 게시하십시오. – wallyk

+0

왜 세션에 있어야합니까? –

+0

안녕하세요 Paul. 상속 된 앱이므로 원본 구조를 그대로 유지해야합니다. – user1176783

답변

0

뒤에 오는 사람들을 돕기 위해 :

마침내! 마지막으로 무엇이 잘못되었는지 발견했습니다. 세션 객체에 저장된 데이터의 양에 대한 크기 제한이 있습니다. RFC 2109에 따라이 크기 제한은 4KB입니다. 그거였다. 나는 어딘가에 한계를 두는 것을 알았고 마침내 그것을 어디에서 발견했는지 알았다. 이러한 텍스트 섹션 만 가져오고 세션에 저장된 데이터에 의존하지 않도록 일부 코드를 다시 작성해야했습니다.

1

이 문제는 CodeIgniter 세션의 기본 동작이므로 세션이 쿠키 (실제로 4k로 제한됨)에 저장되어 있기 때문에 발생할 수 있습니다. CodeIgniter 세션은 PHP 세션과 동일하지 않습니다.

내가 CodeIgniter의 설명서에서 권장하는대로 ("데이터베이스에 저장 세션 데이터"라는 섹션 참조), 데이터베이스에 세션을 넣어 사용 : 아마 당신의 문제를 해결할 것

http://codeigniter.com/user_guide/libraries/sessions.html

하고, 세션 유효성 검사 메커니즘을 사용하면 더 나은 보안을 얻을 수 있습니다. 도움이 되었기를 바랍니다.