とは言っても、たいしたことはありません。 また、Debian wheezyでのインストール方法と言うより、PHP 5.4でのインストール方法と言うべきかもしれません。
基本的なやり方
コミュニティページからダウンロードしたtar.gzファイルの中に、INSTALL.jaというファイルが同梱されています。 これに沿って作業をすれば、概ね問題なくインストールできます。 PHPで作られたWebアプリで、必要なモジュール類も全て同梱されているので、しかるべき場所にファイルをコピーすればほとんど終わりです。 ただ、はまりどころがいくつかあります。pg_stats_reporterのPHP 5.4対応漏れ
pg_stats_reporter_lib/module/make_report.phpの47行目を修正しないと、画面に何も表示されません。 Webサーバのログに以下のようなメッセージが記録されるはずです。Fatal error: Call-time pass-by-reference has been removed in ...関数呼び出し時の参照渡しの修正漏れと思われ、以下のような修正が必要です。
diff -Naurpd pg_stats_reporter_lib.orig/module/make_report.php pg_stats_reporter_lib/module/make_report.php
--- pg_stats_reporter_lib.orig/module/make_report.php 2013-06-24 18:40:50.000000000 +0900
+++ pg_stats_reporter_lib/module/make_report.php 2014-09-04 13:40:59.520926741 +0900
@@ -44,7 +44,7 @@ function makeReport($conn, $infoData, $t
$html_string["left_menu"] = makeLeftMenu($infoData, $target_info);
/* get snapshot id */
- if (!getSnapshotID($conn, $target_info, &$snapids, &$snapdates)) {
+ if (!getSnapshotID($conn, $target_info, $snapids, $snapdates)) {
$html_string["contents"] = "<div id=\"contents\">\n<div class=\"top_jump_margin\"></div>\n".makeErrorTag($error_msg['query_error'], pg_last_error($conn));
} else if ($snapids[0] == $snapids[1] || is_null($snapids[0]) || is_null($snapids[1])) {
/* check whether there are two more than a snapshot */
各種ファイルの置き場所
ここからはカスタマイズの範疇で、不具合ではありません。リポジトリDBなどの設定を記述するpg_stats_reporter.iniの配置場所は、pg_stats_reporter_lib/module/define.phpに記述されています。
CONFIG_PATH
というdefine値を好きな場所に変更すればよいです。
ただ、DBのパスワードなどを記述するため、WWW経由でアクセスできない場所がよいでしょう。pg_stats_reporter_libの場所を変えるのはちょっとやっかいです。 html/pg_stats_reporter/pg_stats_reporter.phpの中に3カ所と、pg_stats_reporter_lib/module/define.phpにもあります。 それぞれ、「../../pg_stats_reporter_lib」とハードコーディングされています。
pg_statsinfoは?
pg_statsinfoは、ビルドと/usr配下への配置が必要なので、deb化しました。 pg_stats_reporterは、Webサーバが外に見せるところに適当に放り込めば終わりだろ、と思っていたのですが、上のようなはまりどころがあったわけです。環境
- Debian wheezy
- PHP 5.4
- pg_stats_reporter 2.0.0
0 件のコメント:
コメントを投稿