phpPgAdmin の修正

FreeBSD 4.2 なんて言う、レガシーな OS で開発を行うことになった。
一応、PHP は 4.4.2 なんで、合格なんだが、PostgreSQL が 7.0.3 と、とんでもなくレガシー。

いつも通り phpPgAdmin を設置しようとしたが、以下の修正を行う必要があった。

SOCKET 接続の対応

XREA などでも経験があったので、一応対応方法はわかっていた。
pg_connect(pg_pconnect) を行う場合に、host や port を指定しないようにする。

phpPgAdmin/libraries/adodb/drivers/adodb-postgres64.inc.php

function _connect($str,$user='',$pwd='',$db='',$ctype=0)
{
if (!function_exists('pg_pconnect')) return null;
$this->_errorMsg = false;
+        $str = '';
+
if ($user || $pwd || $db) {
$user = adodb_addslashes($user);
$pwd = adodb_addslashes($pwd);
if (strlen($db) == 0) $db = 'template1';
$db = adodb_addslashes($db);
if ($str)  {

SQL の修正

このサーバーでは、LIKE 演算子の ESCAPE 句でエラーとなった。
他の環境では必要ないかもしれない。

LIKE ‘pg@_%’ ESCAPE ‘@’

LIKE ‘pg_\%’
と修正する。

修正するファイルは以下の通り。

phpPgAdmin/libraries/adodb/drivers/adodb-postgres64.inc.php
phpPgAdmin/classes/database/Postgres.php
phpPgAdmin/classes/database/Postgres*.php

設定の変更

phpPgAdmin/conf/config.inc.php の以下を環境に合わせて修正。

$conf[‘servers’][0][‘pg_dump_path’]
$conf[‘servers’][0][‘pg_dumpall_path’]

多少、PHP のエラーメッセージが表示されるものの、一応実用になった。

しかし、Linux レンタルサーバーの進歩に比べると、FreeBSD レンタルサーバーは、残念な状況が多い。

なんとかならないモンですかねぇ。

1件のコメント

  1. パッケージ追加可能なVPSならまだやりやすいですが

    初めからサーバ指定じゃその環境で対応するしかないですしね…

    あ、VPSでもcvsupなどでports最新にするのが他に負荷がかかるため

    禁止されてることが多くportsエラーの嵐で結局ソースから

    入れるハメになったりやっぱり面倒なことは多いかもですね。

    やっぱり資本の絡むOSのほうが利便性は向上するようですね…

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください