2009-11-21 1 views
0

공유 호스트 환경에 기본 Drupal 6 사이트가 있습니다. 이 사이트는 약 한 달 동안 잘 운영되고 있습니다.Drupal update.php에서 오류가 발생합니다.

webform Drupal 모듈의 새 릴리스를 업로드했으며 update.php로 이동하여 페이지를 완료하면 오류가 발생합니다. update.php 미리보기 페이지에는 웹 폼에 필요한 업데이트가 표시되지 않지만 계속 진행하면 아래 오류가 표시됩니다. 아마도 패치가 없다면 나는 update.php를 진행하지 않아야할까요?

  • 이 사이트는 :이 오류

    warning: array_pop() [function.array-pop]: The argument should be an array in /home/nejebel4/public_html/update.php on line 314.

    노트를 얻을 리뷰 로그 페이지에서

    An HTTP error 0 occurred. http://nejewls.com/update.php?id=8&op=do

    : "실행 업데이트"에

    단계 나는이 오류 드루팔 (Drupal) 6.14

  • 6.x-2.9로 알려지지 않은 웹 폼
  • 나는 htaccess로 수준이 사이트는 내가와

답변

0

그것은 보이는 www가없이에 settings.php의 기본 URL을 설정

  • htaccess로 파일에 www를 리디렉션
  • 에서 SecFilterInheritance을 해제 시도 같은 Drupal.org this issue. 보이지 않는 것 같습니다. 드루팔 (Drupal IRC 채널에 대한 도움을 청할 것입니다. #drupal on freenode

  • 3

    첫 번째 질문 : 실행중인 webform의 버전을 어떻게 알 수 있습니까? 사이트의 모듈 또는 업데이트 페이지에 표시된 내용은 무엇입니까? 거기에 아무것도 표시되지 않은 경우. 시스템 테이블의 DB 스키마 값은 무엇입니까?

    두 번째 질문 : 모듈 개발 버전을 설치했기 때문에 제 동료가 혼란을 겪었습니다. 이전에 dev 스냅 샷이 아닌 베타 버전이나 안정 버전 만 사용하셨습니까?

    그런 다음,

    ... 해결책에 관해서는 나는 어디에 문제를 재현하려고하는 편리한 어떤 사이트를하지 않았습니다. 그러나 당신이 얻고있는 경고는 실제 문제가 아닙니다 ... 문제는 저에게 - webform의 업데이트가 제대로 실행되지 않거나 성공을 제대로보고하지 않는 것 같습니다.

    경고를 생성하는 코드의 비트는 update.php 파일이며입니다 : 뭔가 업데이트 절차를 수행하는 동안 잘못 경우에만

    if ($_SESSION['update_success']) { 
        $output = '<p>Updates were attempted. If you see no failures below, you may proceed happily to the <a href="'. base_path() .'?q=admin">administration pages</a>. Otherwise, you may need to update your database manually.'. $log_message .'</p>'; 
    } 
    else { 
        list($module, $version) = array_pop(reset($_SESSION['updates_remaining'])); 
        $output = '<p class="error">The update process was aborted prematurely while running <strong>update #'. $version .' in '. $module .'.module</strong>.'. $log_message; 
        if (module_exists('dblog')) { 
        $output .= ' You may need to check the <code>watchdog</code> database table manually.'; 
        } 
        $output .= '</p>'; 
    } 
    

    그래서 오류를 생성하는 코드의 비트가 실행됩니다. 따라서 업데이트중인 모듈의 버그로 보입니다.

    내가 현재 상황이 이고 가장 최근의 업데이트가 필요하거나 필요하다면 나는 수동으로 업데이트를 수행하려고합니다. 여기에 그 (나는 당신의 모듈은 웹 양식입니다 가정합니다 수행하는 방법,하지만 절차는 너무 다른 모듈에 적용

    1. 를 백업 DB
    2. 당신이 개발자 모듈이 설치되어 있는지 확인하십시오!.
    3. DB 테이블 "시스템"을 찾아보고 웹 양식 모듈 (현재는 6으로 시작하는 4 자리 숫자)에 대해 현재 설치 한 스키마 버전을 확인하십시오.
    4. 모듈의 디렉토리에 webform.install 파일을 열고 사용자가 가지고있는 것보다 더 큰 스키마 버전으로 모든 업데이트를 검색하십시오. 그들은 webform_update_6XXX()이라는 함수처럼 보일 것입니다.
    5. http://example.com/devel/php에서 사용할 수있는 PHP 콘솔에서 시스템을 중단하고 디버깅 할 수있을 때까지 한 번에 하나씩 업데이트를 실행하십시오.
    6. File a bug 귀하의 패치로 커뮤니티가 귀하의 작업을 통해 이익을 얻을 수 있습니다.
    7. 일단 문제를 해결하고 실행 한 모든 업데이트를 설치하면 마지막으로 실행 한 스키마 번호로 시스템 테이블을 수동으로 설정할 수 있습니다.

    당신이을 시도 할 수 있습니다 또 다른 옵션 :

    1. 를 백업 DB!
    2. Webform 모듈을 완전히 비활성화하고 제거하십시오.
    3. webform의 새 버전을 설치하십시오.
    4. 수동 백업의 테이블에서 SQL을 통해 데이터를 DB

    두 옵션이 까다 롭고 시간이 많이 소요 될 수 가져옵니다.

    희망이 도움이됩니다.