첫 번째 질문 : 실행중인 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>';
}
그래서 오류를 생성하는 코드의 비트가 실행됩니다. 따라서 업데이트중인 모듈의 버그로 보입니다.
내가 현재 상황이 이고 가장 최근의 업데이트가 필요하거나 필요하다면 나는 수동으로 업데이트를 수행하려고합니다. 여기에 그 (나는 당신의 모듈은 웹 양식입니다 가정합니다 수행하는 방법,하지만 절차는 너무 다른 모듈에 적용
- 를 백업 DB
- 당신이 개발자 모듈이 설치되어 있는지 확인하십시오!.
- DB 테이블 "시스템"을 찾아보고 웹 양식 모듈 (현재는 6으로 시작하는 4 자리 숫자)에 대해 현재 설치 한 스키마 버전을 확인하십시오.
- 모듈의 디렉토리에 webform.install 파일을 열고 사용자가 가지고있는 것보다 더 큰 스키마 버전으로 모든 업데이트를 검색하십시오. 그들은
webform_update_6XXX()
이라는 함수처럼 보일 것입니다.
- http://example.com/devel/php에서 사용할 수있는 PHP 콘솔에서 시스템을 중단하고 디버깅 할 수있을 때까지 한 번에 하나씩 업데이트를 실행하십시오.
- File a bug 귀하의 패치로 커뮤니티가 귀하의 작업을 통해 이익을 얻을 수 있습니다.
- 일단 문제를 해결하고 실행 한 모든 업데이트를 설치하면 마지막으로 실행 한 스키마 번호로 시스템 테이블을 수동으로 설정할 수 있습니다.
당신이을 시도 할 수 있습니다 또 다른 옵션 :
- 를 백업 DB!
- Webform 모듈을 완전히 비활성화하고 제거하십시오.
- webform의 새 버전을 설치하십시오.
- 수동 백업의 테이블에서 SQL을 통해 데이터를 DB
두 옵션이 까다 롭고 시간이 많이 소요 될 수 가져옵니다.
희망이 도움이됩니다.
출처
2009-11-22 00:13:08
mac