在 OpenBSD 系統下的安裝

本章節的內容和提示僅限於將 PHP 安裝到 OpenBSD 3.6 系統上。

使用二進位包安裝

使用二進位包安裝 PHP 到 OpenBSD 系統上是被推薦的同時也是最簡單的方法。PHP 核心包已經從其他模組中分離出來了並且每個模組可以被獨立的安裝/卸載而不影響其他模組。所有這些安裝 PHP 需要的檔案可以在 OpenBSD 光碟或是在 FTP 站台上找到。

需要安裝的 PHP 核心包的檔案是 php4-core-4.3.8.tgz,它包括了基本的引擎(內含 gettext 和 iconv)。其次,可能還需要安裝一些模組包,如:php4-mysql-4.3.8.tgzphp4-imap-4.3.8.tgz。需要使用指令 phpxs 去啟動它,並且再通過修改 php.ini 檔案來屏蔽他們。

例子 4-6. 在 OpenBSD 系統下的軟體包的安裝示例

# pkg_add php4-core-4.3.8.tgz
# /usr/local/sbin/phpxs -s
# cp /usr/local/share/doc/php4/php.ini-recommended /var/www/conf/php.ini
  (加入 mysql 包)
# pkg_add php4-mysql-4.3.8.tgz
# /usr/local/sbin/phpxs -a mysql
  (加入 imap 包)
# pkg_add php4-imap-4.3.8.tgz
# /usr/local/sbin/phpxs -a imap
  (測試一下移除 mysql 包)
# pkg_delete php4-mysql-4.3.8
# /usr/local/sbin/phpxs -r mysql
  (安裝 PEAR 庫)
# pkg_add php4-pear-4.3.8.tgz

閱讀會員手冊中的 packages(7) 部分,可以得到更多 OpenBSD 系統下有關二進位軟體包的訊息.

使用軟體包

同樣可以使用軟體包目錄(ports tree)來編譯 PHP 的原始碼。然而,這樣的安裝模式僅僅是建議對 OpenBSD 非常熟悉的進階會員去做。PHP4 的軟體包被分別分為了兩個子目錄:core 和 extensions。其中 extensions 目錄產生了所有 PHP 所支援的子模組。若果不希望建立並且使用這些模組中的某些模組,請使用 FLAVOR no_* 參數。例如,若果希望略過編譯 imap 模組,設定 FLAVOR 為 no_imap 即可。

常見問題

  • 預設安裝的 Apache 運行於 chroot(2) jail,將限制 PHP 腳本只能訪問 /var/www 下面的檔案。需要建立 /var/www/tmp 目錄來存放 PHP session 檔案,或使用其它的 session 後端。此外,資料庫套接字需要被放入 jail 或是偵聽 localhost 介面。若果使用網路函數,某些 /etc 下面的檔案例如 /etc/resolv.conf/etc/services 需要被搬移到 /var/www/etc 中去。OpenBSD PEAR 包會自動安裝到正確的 chroot 目錄中,因此不需要作特殊改動。有關 OpenBSD Apache 的更多訊息見 OpenBSD FAQ

  • 對應於 gd 增加的 OpenBSD 3.6 包需要預先安裝 XFree86。若果不想使用那些需要 X11 的字型特性,則安裝 php4-gd-4.3.8-no_x11.tgz 包來替代之。

早期發佈版本

早期的 OpenBSD 系統使用 FLAVORS 系統把 PHP 連線為靜態模式。自從使用這種方法編譯就造成了問題:很難製作二進位軟體包。仍然可以使用早期穩定的 ports trees,但這種模式已經不被 OpenBSD 小組所支援。若果對此有任何建議和意見,軟體包現用的的維護人是 Anil Madhavapeddy(avsm at openbsd dot org)。