2014-08-28 3 views
0

젠드 프레임 워크 버전 1.11에서 작업 중입니다. 다음과 같은 문제가 발생했습니다.
양식을 제출하면 브라우저에서 "수신 된 데이터 없음 : 서버가 보낸 웹 페이지를로드 할 수 없습니다 데이터 없음. " (크롬) 및 "페이지로드 중 서버 연결이 재설정되었습니다." 파이어 폭스에.
지금, 비슷한 구성으로 다른 컴퓨터에서 오류를 재현 할 수 없기 때문에 내 컴퓨터와 관련이 있습니다. 서버 버전 (Apache 2.4.7로 업그레이드 한 서버, 다른 서버는 Apache 2.2)으로 저장합니다.
지금 요청이 겪고 코드입니다 : $이의젠드 프레임 워크 - 데이터가 수신되지 않음

$form = new Website_Form_ArtUpload(); 
     if ($this->getRequest()->isPost()) 
     { 
      $response = $this->_getService()->upload($this->getRequest()->getPost()); 
      My_Logger::log(print_r($response)); 
      if (!$response->isValid()) { 
       if($response->getData() instanceof Zend_Form) { 
        $form = $response->getData(); 
       } 
       if($response->hasMessages()) { 
        My_Logger::log(print_r($response->getAllMessages())); 
        $this->view->messages = $response->getAllMessages(); 
       } 
      } else { 
       $this->_helper->redirector->gotoSimple('new', 'product', 'website'); 
       return; 
      } 
     } 

내용 -> _의 getService() - 한번> 업로드()

// Validate the form 
    $form = new Website_Form_ArtUpload(); 
    if (!$form->isValid($data)) 
     return new My_Service_Response(
      My_Service_Response::FAILURE, 
      $form, 
      array(My_Model_Message::MESSAGE_TYPE_ERROR => $this->getTranslator()->_('The product cannot be uploaded')) 
     ); //here it halts 

그래서, 나는 어떤이 없습니다 왜 모든 데이터가 괜찮은지 데이터가 유효하지 않아야한다는 아이디어. 그러나 응답이 실패하고 메시지 ($this->view->messages = $response->getAllMessages()가 메시지를 기록함)가 있기 때문에 데이터가 실제로 유효하지 않다고 가정하면 '제품을 업로드 할 수 없습니다'라는 멋진 오류가없는 이유는 없습니다.

다른 코드 나 로그가 필요한 경우 제공해 주시면 감사하겠습니다.

참고 : 오류가있는 다른 양식은 메시지를 올바르게 반환합니다. 동일한 서버 버전을 사용해야한다고 말하지 말아라. 나도 알아.하지만 언젠가는 나중에 2.4로 마이그레이션하기를 원한다.

답변

0

이 이미지 검증 MIME 타입, 파일 크기 때문이다 .. 등

이 문제는 그냥 https://packages.zendframework.com/releases/ZendFramework-1.12.9/ZendFramework-1.12.9.zip

에서 최신 버전을 다운로드 할 수 있습니다 최신 젠드 프레임 워크 1.12.9에서 해결
if (!$form->isValid($data)) { 
... 
} 

그냥 "라이브러리 -> 젠드 -> 유효성 검사 -> 파일"에서 모든 파일을 대체, 전체 프레임 워크를 업데이트 할 필요가 없습니다 경우 ZendFramework-1.12.9에서 최신 파일을

업데이트 후 모든 페이지를 테스트해야합니다.