To content | To menu | To search

FreeBSD の ports からインストールした postfixadmin で mysql を組み合わせているとアップデートした後でエラーになる

FreeBSD は 13.1-RELEASE-p3 で postfixadmin は postfixadmin-php81-3.4.d.20211018 。

Apache のエラーログでは

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /usr/local/www/postfixadmin/functions.inc.php:1740
Stack trace:
#0 /usr/local/www/postfixadmin/functions.inc.php(1740): PDO->__construct('mysql:mysql:hos...', 'XXXXX', 'YYYYY...', Array)
#1 /usr/local/www/postfixadmin/functions.inc.php(1914): db_connect()
#2 /usr/local/www/postfixadmin/functions.inc.php(1875): db_query('SELECT value FR...', Array)
#3 /usr/local/www/postfixadmin/functions.inc.php(2222): db_query_one('SELECT value FR...')
#4 /usr/local/www/postfixadmin/public/login.php(40): check_db_version()
#5 {main}
  thrown in /usr/local/www/postfixadmin/functions.inc.php on line 1740

というエラー。DSN が mysql:mysql となってしまっている。Github 上の postfixadmin ではこうなっていない。

/usr/local/www/postfixadmin/functions.inc.php の db_connection_string() 内、

        $dsn = 'mysql:';
        if ($socket) {
            $dsn .= "unix_socket={$socket}";
        } else {
            $dsn .= "mysql:host={$CONF['database_host']}";
        }

でどちらかの「mysql:」を削除すればひとまず回避できる。

Add a comment

HTML code is displayed as text and web addresses are automatically converted.

They posted on the same topic

Trackback URL : https://www.pseudomoon.jp/dotclear/index.php?trackback/180

This post's comments feed