PIO 版提供一些公用程式供架設者做一些額外的動作。這些程式放在 SVN 供使用,一般來說要使用請將檔案放在 pixmicat.php 相同目錄之下再執行。
由於公用程式也會隨著程式版本升級而作因應修正,故最新的公用程式未必能夠直接使用在舊版本上,因此請選擇適當的版本使用。
Table of Contents
|
版本
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 設定中
預覽網頁:
關閉預覽