使用公用程式

PIO 版提供一些公用程式供架設者做一些額外的動作。這些程式放在 SVN 供使用,一般來說要使用請將檔案放在 pixmicat.php 相同目錄之下再執行。

由於公用程式也會隨著程式版本升級而作因應修正,故最新的公用程式未必能夠直接使用在舊版本上,因此請選擇適當的版本使用。

版本

8th.Release

自 8th 開始,改為在 GitHub 建立專案維護: Utilities 目錄

7th.Release 版

請在此下載取得:Utilities 目錄

6th.Release 版及更舊版本

請在此下載取得:Utilities 目錄

一覽

檢查伺服器執行環境支援

checkenv.php

檢查伺服器執行環境支援

舊版本轉換到 PIO 版本

log2pio.php

Pixmicat!-Log -> Pixmciat-PIO (Log) 資料格式轉換器

mysql2pio.php

Pixmicat!-MySQL -> Pixmciat-PIO (MySQL) 資料格式轉換器

PIO 版本資料來源匯入匯出

pio2pio.php

PIO 匯入匯出轉換器

PIO Log 資料來源資料重建

rebuildtree.php

重建 tree 樹狀結構檔

FileIO 衛星程式

satellite.cgi, satellite.php

利用此一放置於外部空間的衛星程式,可以讓 FileIO 利用外部空間存放圖檔

PIO V2 -> PIO V3 資料格式轉換器

piov2tov3.php

將舊版的 PIO V2 結構無痛轉成新的 PIO V3 結構,以增大 status 欄位容量和狀態旗標修改。PIO 舊版升級到 PIO 4th.Release.2 以後必須要運行一次。

FileIO 索引重建

rebuildifs.php

  • 重建本機圖片資訊快取索引
  • 從 normal FileIO 轉用 ftp FileIO 時匯入原本的圖檔到 FileIO 索引中

計算管理者密碼

genhash.php

捨棄明文密碼儲存,使用雜湊資訊計算,避免密碼外洩

使用說明

checkenv.php

簡介
為了讓更多使用者明白伺服器的支援,此公用程式可以自動檢查並列出支援項目,讓使用者了解伺服器支援性以作出最佳判斷。

  • 伺服器資訊: 得知伺服器的基本資訊,如伺服器版本、PHP 版本等
  • PIO 檢查: 在設定檔的 CONNECTION_STRING 可以使用的後端檢查,除了 Log 外您還可以使用更穩定的 SQL
  • 預覽圖生成檢查: 檢查您的伺服器是否支援各類預覽圖生成,並提供多種支援供您選擇
  • ImageMagick 和 repng2jpeg 支援檢查: 協助您選擇最適用的 repng2jpeg 執行檔和找出 ImageMagick convert 程式路徑

如果 PIO 資料來源後端支援 SQLite 等 SQL 類資料庫,建議使用;而預覽圖生成如果支援 Imagick 也建議採用。

注意:
lunapages + PHP 5 會因為 open_basedir restriction in effect 而無法檢測外部檔案是否存在。
請使用 PHP 4 進行檢測。

如要在 64-bit 環境下使用 repng2jpeg ,請重新編譯 (需準備 GD Library)。

使用方法

  • 直接下載 checkenv.php 並放置到伺服器上,在瀏覽器上輸入對應網址瀏覽即可
  • PIO Check 列出的 Support 項目後方如果為 1 表示伺服器支援,可考慮採用;如果什麼都沒有則是不支援
  • Thumbnail Generator Check 列出的項目後方如果什麼都沒有則是不支援,若有資訊則為支援程式相關資訊,可考慮採用
  • 承上,欲使用 ImageMagick convert 的使用者如果不知道 convert 執行檔位置,程式會嘗試搜尋並測試。列出的 Location guessed 即為 convert 所在路徑,請修改 /lib/thumb/thumb.imagemagick.php 內的 $this->_exec (ImageMagick "convert" Binary Location) 成正確位置
  • Check suitable repng2jpeg 可以幫助欲使用 repng2jpeg1 的使用者測出在壓縮包的各資料夾內適當的執行檔,例如 i386_freebsd4_dynamic 等。也可能伺服器因素而無法使用,程式會協助偵測

運作範例

Server Infomation:

    PHP: 5.2.3
        - upload_max_filesize: 2M
        - post_max_size: 8M
        - disable_functions: exec
    HTTPd: lighttpd/1.4.17
    OS: Linux 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006  

PIO Check:

    SQLite Support: 1 
    MySQL Support: 1 
    PDO SQLite3 Support: 1 
    PostgreSQL Support: 

Thumbnail Generator Check:

    GD Support: bundled (2.0.34 compatible) 
    Imagick Support: ImageMagick 6.3.3 04/21/07 Q16 http://www.imagemagick.org 
    MagickWand Support: ImageMagick 6.2.9 09/27/06 Q16 http://www.imagemagick.org 
    ImageMagick Support: ImageMagick 6.3.0 11/22/06 Q16 http://www.imagemagick.org
        - Location guessed: /usr/bin/convert 
    repng2jpeg Support: 

Check suitable repng2jpeg:

This server has disabled the exec() function. So repng2jpeg can't be used.

log2pio.php, mysql2pio.php

(請參考 如何更換至 PIO 版 條目)
簡介
這兩個公用程式是為使用舊版 Log/MySQL 的人能夠將舊有討論直接透過轉換而使用到 PIO 版內,達成跨版本升級的目標。不過程式還是有其限制:

  • Log 版轉換只能到 PIO Log 資料來源;MySQL 版轉換只能到 PIO MySQL 資料來源。無法達成 MySQL 轉換到如 PIO SQLite2 資料來源的動作2
  • 無法逆轉換。程式只提供單方向轉換,轉換後的資料無法再轉回來
  • 在 PIO 版只能使用本機端檔案儲存方法 (即預設方式,因為 PIO 版支援其他儲存方法)

使用方法

  • 將適當的 xxx2pio.php 放到舊版 Pixmicat! 的根目錄下,確認其與 config.php 在同一目錄
  • 打開瀏覽器,直接輸入對應網址執行程式
  • 看顯示文字得知轉換結果。如果是 Log 版可以將新的 log 檔搬移到 PIO 版程式下使用;MySQL 版不必

pio2pio.php

簡介

實現 PIO 各資料來源間的互轉,或是匯入、匯出、備份資料等等。使用此程式請先確定 PIO 版本是 0.4 (內建於 4th.Release 釋出版本),方支援匯入匯出功能。另外匯入匯出功能伺服器需要 PHP 支援 Gzip 讀寫功能 (需要 zlib),此功能大多數伺服器應有在編譯 PHP 加入 —with-zlib[=DIR] 而達成支援。

匯入匯出的檔案為 piodata.log.gz,這是一個中介格式壓縮檔,可以據此轉換到其他資料來源。

使用方法

  • 將 pio2pio.php 放置到 PIO 版的根目錄下
  • 打開瀏覽器,直接輸入對應網址執行程式,選取需要的動作
  • 如果需要使用匯入功能和轉換功能,程式內部有 PIO_ANOTHER_CONNSTR 目標 PIO 連線字串參數,請以編輯器打開修改

rebuildtree.php

簡介

以往在舊版 Log 之中萬一樹狀結構檔 (通常叫 tree.log) 毀損,整個版面討論串結構及消失,無法重建。一般來說也只能整個版面砍掉重練。新的 PIO 版 Log 資料來源修改了格式,使每筆文章紀錄裡頭追加了討論串樹狀資訊,萬一伺服器不慎使得 tree.log 毀損,而投稿文字記錄檔卻沒事的情況,即可使用此公用程式重建樹狀結構檔。

此一重建不包括討論串因使用 sage 使得新文章沒有推頂的效果,純粹依討論串更新時間作排序。

使用方法

  • 將 rebuildtree.php 放置到 PIO 版的根目錄下
  • 確認 config.php 的 CONNECTION_STRING PIO 連線字串是 log:// 開頭的 (使用 PIO Log 資料來源)
  • 打開瀏覽器,直接輸入對應網址執行程式,即自動重建
  • 將重建而得的檔案 (檔名附加 .new) 改回原先檔名,完成重建

satellite.cgi, satellite.php

簡介

FileIO 提供的其中一種方法是利用一個衛星程式,類似特洛伊木馬的觀念 (但他不是木馬),來控制外部空間藉以存放並管理圖檔。而衛星程式依外部空間可支援度分為兩種 (PHP, Perl),選用適當的版本修改設定後放置於外部空間,再修改 config 中有關 FileIO 的方法,即可以利用此一外部空間來達成存放圖檔,藉以分散流量。

使用方法

  • 請確認作為存放圖檔的外部空間支援 PHP 或 Perl 任一。假若都不支援的話就無法使用此種方法 (若仍有 FTP 登入功能則可嘗試 FileIO FTP 方法)
  • 將公用程式的 satellite.XXX 放置在外部空間中。其中 satellite.cgi 需要搭配 cgi-lib.pl,請一起上傳
  • 將 Pixmicat! config.php 內的 FILEIO_BACKEND 改為 'Satellite',並設定好 FILEIO_PARAMETER 設定
  • 已完成設定。注意:因為使用了索引檔案系統的關係,直接將舊有的本機圖檔搬到外部空間並無法使用

piov2tov3.php

簡介

PIO 3rd.Release, 4th.Release 使用的儲存結構為舊版的 PIO V2 結構,因應新的 PIO 4th.Release.2 及之後版本的功能性,制定新的 PIO V3 結構 (基本上是小改版)。主要不同點在於 status 欄位擴充至 VARCHAR(255) 及討論串停止代表旗標參數改變 (T -> _TS_)。如果從舊版昇級上來的使用者沒有更新的話,會造成 status 欄位未來不夠用的窘況,另外舊版「討論串停止」所代表的旗標 T 也已改成 _TS_ 以避免衝突情況 (舊版結構的 T 實在太短了,未來其他狀態旗標將不能用到它,因為只要出現 T 就表示討論串停止)。

使用方法

  • 將 piov2tov3.php 放置到 PIO 版的根目錄下
  • 打開瀏覽器,直接輸入對應網址執行程式即可

rebuildifs.php

簡介
從 normal FileIO 轉用 ftp FileIO 時,還需要匯入原本的圖檔到 FileIO 索引中,才能正常轉移。
但自從 IFS 本地也採用後,也可以做為重建 IFS 的工具。當版面圖片對應出現問題時,可以嘗試重建索引。

使用方法

  • 將 rebuildifs.php 放置到 PIO 版的根目錄下
  • 打開瀏覽器,直接輸入對應網址執行程式即可

genhash.php

簡介
伺服器被駭時有所聞,有的時候因為程式或平台的漏洞,可能導致明文密碼外洩。8th.Release 捨棄了明文密碼的方式,改以雜湊比對驗證身分。因此需要一個工具計算密碼的雜湊值。

使用方法

  • genhash.php 放置到伺服器上,打開瀏覽器,直接輸入對應網址執行程式
  • Password 為想要的密碼,Salt 為密碼學中擾亂用的鹽巴,可隨意輸入。輸入鹽巴前先下拉 Type 選擇生成方式,越下面的方式越強固,建議至少要 MD5 或以上的強度。依照 PHP 版本不同可能不會全部支援。
  • 兩個輸入框都輸入完成後,按下 Generate 產生對應 ADMIN_HASH
  • 編輯 config.php,將剛才的計算值填入 ADMIN_HASH 設定中
genhash.png
genhash-finished.png

討論

新增一則回應
登入為 Wikidot 使用者
(將不會發佈)
- +
除非特別註明,本頁內容採用以下授權方式: Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.