programing

ownCloud 서버: DBA_DEFAULT PHP 오류

sourcetip 2022. 10. 28. 23:08
반응형

ownCloud 서버: DBA_DEFAULT PHP 오류

Synology NAS에서 내 클라우드 인스턴스를 실행하는 데 문제가 있습니다.다음의 로그 에러가 표시됩니다.

PHP 부팅:이러한 핸들러가 없습니다.알 수 없는 #0의 DBA_DEFAULT

...데이터베이스와의 접속에 관한 것입니다.데이터베이스를 ownCloud로 호출할 수 있고 연결된 모든 클라이언트가 작동하며 웹 인터페이스가 작동하기 때문에 매우 혼란스럽습니다.이 메시지만 남습니다.

구성 세부 정보:

  • Synology DS216j 와 DSM 6.0.2-8451 Update 7
  • PHP 5.6.28
  • 마리아DB 5.5.53
  • ownCloud 9.1.3

나는 그 오류에 대한 정보를 전혀 찾을 수 없다...

최근 Synology NAS에서 이 메시지를 보고 다음과 같은 사실을 알게 되었습니다.제 NAS에는 여러 개의 Php가 설치되어 있는데, 이 오류는 기본 설치에서 발생한 것 같습니다.

root@synology:~# /bin/php --ri dba
Extension 'dba' not present.

대체 php를 사용합니다.

root@synology:~# /usr/local/bin/php56 --ri dba

dba

DBA support => enabled
Supported handlers => gdbm cdb cdb_make db4 inifile flatfile 

Directive => Local Value => Master Value
dba.default_handler => flatfile => flatfile

따라서 한 가지 해결책은 어플리케이션이 올바른 Php 버전을 호출하고 있는지 확인하는 것입니다.이를 위해 Synology Web Station에서 HTTP 서버와 PHP 버전을 관리할 수 있습니다.

또는 이 메시지가 다음과 같은 것을 알 수 있었습니다.E_WARNING(버클리 데이터베이스가 필요한 경우를 제외하고) 무시해도 됩니다.이 코드를 응용 프로그램에 추가했습니다.

function shutdownHandler()
{
    try {
        $error = error_get_last();
        if ( $error !== NULL && $error["type"] == E_ERROR) {
            $backtrace = "(E_ERROR) " . $error["message"];

            $trace = debug_backtrace();
            foreach($trace as $item) {
                $backtrace .= "\n\t" . (isset($item['file']) ? $item['file'] : '<unknown file>')
                    . ' ' . (isset($item['line']) ? $item['line'] : '<unknown line>')
                    . ' calling ' . (isset($item['function']) ? $item['function'] : '<unknown function>') . '()';
            }

            \Logger::LogError( $backtrace, $error["file"], $error["line"]);
        }
    }
    catch (Exception $e) {
        print get_class($e)." thrown within the shutdown handler. Message: ".$e->getMessage()." on line ".$e->getLine();
    }
}

# Registering shutdown function
register_shutdown_function('shutdownHandler');

ownCloud에도 비슷한 기능이 있을 것으로 생각되지만, 아마도 모든 오류 메시지가 기록되고 있기 때문에 이 메시지가 나타납니다.

DSM 6.0.2-8451 Update 7을 탑재한 DS114에서도 2017년 1월 6일 Apache 2.2를 업그레이드한 후 이 문제가 발생했습니다.업그레이드 전에는 모두 정상적으로 동작했습니다.

/volume1/@appstore/Apache2를 변경했습니다.2/usr/local/etc/syslog22/conf/mod_xsendfile.conf

부터

XSend FilePath /var/services/web /var/services/homes

로.

XSend File Path / volume1 / owncloud

이제 다시 작동하게 되었습니다.

언급URL : https://stackoverflow.com/questions/41484672/owncloud-server-dba-default-php-error

반응형