2013-08-29 2 views
0

두 개의 Linux 컴퓨터에서 php-mysql-oracle 응용 프로그램을 호스팅하고 있습니다. 늦게, 나는 간헐적으로 내 응용 프로그램과 관련된 몇 가지 문제를보고있었습니다. $_SESSION 변수가 언젠가 채워지며 때로는 비어 있습니다. 내 코드도 이상하게 작동합니다. 때때로 기능이 작동하고 때로는 기능하지 않습니다. 문제를 올바르게 복제 할 수 없습니다.두 호스트에 PHP 응용 프로그램이 있습니다.

내 가정은 $_SESSION이고 $_POST은 세션간에 어떻게 든 섞여 가고 있습니다. 그런 일이 실제로 일어날 수 있습니까? 세션 및 포스트 변수가 데이터베이스에 저장되어 있지 않습니다.

+0

나는 그렇게 생각하지 않는다. 버그 나 뭔가가 있어야합니다. 내가 너라면, 그 사람들을 더 자세히 조사 할려고 노력할거야. – Tim

답변

3

부하 분산 장치에서 실행하고 있습니까? 그렇다면 $_SESSION 데이터가로드 밸런서의 시스템 중 하나에서 디스크에 저장되고 있습니다. 그런 다음로드 밸런서가 다른 시스템으로 전환하면 디스크의 세션 파일이 해당 시스템에 없기 때문에 $_SESSION 데이터가 더 이상 존재하지 않습니다.

+0

예. 솔루션에는 데이터베이스 서버, memcached 등과 같은 공유 스토리지에 세션을 저장하는 작업이 포함됩니다. – ceejayoz

+0

예,로드 밸런서에서 실행 중입니다. 이것은 문제 일 수 있습니다. 하지만이 문제가 POST 데이터에도 유효한지 궁금합니다. POST 데이터는 어디에 저장됩니까? 내가 생각하는 웹 서버? 두 대의 컴퓨터가 있기 때문에 두 개의 웹 서버가 있는데 POST 데이터가 뒤죽박죽이됩니까? – user1165952

+0

POST 데이터가 저장되지 않습니다. 단순히 요청과 함께 서버로 전송됩니다. 귀하의 질문에 대답하기 위해, 당신의 POST 데이터의 문제가 정확히 무엇인지에 대한 자세한 정보가 필요합니다. – jessepinho

관련 문제