*PostgreSQLパッチ - RoundCubeは、MySQLが開発のメインとなっているようです。 - PostgreSQLで使うには、いわゆるMyGresパッチ作業が必要です(注:MyGresは桑村さんから教えていただきました)。 - RoundCubeは、エラーの内容が、logsディレクトリにerrorsファイルへ吐き出される。PHPのログファイルも合わせてデバッグ作業をおこなう。 - もちろん、PostgreSQLのログファイルもチェックしよう。 ** PostgreSQLパッチ情報 - [[Discussion Forums: RoundCube Webmail PostgreSQL>http://sourceforge.net/forum/forum.php?thread_id=1367464&forum_id=501758]] // - [[sf.net [1326324] pgsql necessary patch> ** PostgreSQLパッチの数々 *** UNIX_TIMESTAMP()関数の問題 (2005-10-14) - PostgreSQLのデフォルトではUNIX_TIMESTAMP関数は無い。 - ディスカッションサイトでは2通り紹介されている。 - 1. PHPソースをパッチ - SELECT vars, ip, UNIX_TIMESTAMP(changed) AS changed + SELECT vars, ip, extract(epoch from changed) AS changed - 2. 無ければ、RoundCube用に関数を作る(力技) create or replace function unix_timestamp (timestamp with time zone) time zoneがある場合 returns int as ' declare date alias for $1; timezero timestamp; offset interval; begin timezero := timestamp ''1970-1-1 00:00'' at time zone ''utc''; offset := date-timezero; return ( extract(''days'' from offset)*86400+ extract(''hours'' from offset)*3600+ extract(''minutes'' from offset)*60+ extract(''seconds'' from offset))::int; end; ' language 'plpgsql'; *** エスケープ文字が無いバグ(2005-10-15) - SELECT identity_id, name, email FROM identities WHERE user_id=1 AND del!='1' ORDER BY "default" DESC, name ASC + SELECT identity_id, name, email FROM identities WHERE user_id=1 AND del!='1' ORDER BY \"default\" DESC, name ASC - パッチは2箇所 program\steps\mail\compose.inc(94): ORDER BY `default` DESC, name ASC", program\steps\settings\func.inc(151): ORDER BY `default` DESC, name ASC", ***PHP文法ミス - roundcubemail/program/include/rcube_db.inc @@ -169,7 +169,7 @@ - $result =& $this->db_handle->getOne("SELECT CURRVAL('" .$sequence. "')"); + $result =& $this->db_handle->getOne("SELECT CURRVAL('$sequence')");