關於 php52 與 php52-extension 安裝問題 - BBS
By Damian
at 2010-08-14T08:11
at 2010-08-14T08:11
Table of Contents
※ 引述《laiis (你今天集點了嗎?)》之銘言:
: 大家好
: 我是一位 BSD 新手
: 幾天前我在自己家裡弄了一台 FreeBSD 8 (stable) 的server
: 上面目前安裝了 apache-2.2.16, mysql-server-5.1.49, php52-5.2.14
: php52-extension 及它們的相依套件,
: 我的情況是這樣的,
: 一開始我使用 ports 安裝 apache(版本如上),mysql-server-5.5.5,
: php52(版本如上), php52-extension等等,再安裝 mediawiki -1.6.12,
: 但後來進入 mediawiki 的網頁安裝畫面時(就是需要填入一堆東西如網站名稱、
: e-mail、等等), mediawiki 回覆錯誤訊息是 sql 語法錯誤, 無論安裝多少次都
: 是一樣, 都發生在 type=InnoDB, DEFAULT_CHARTSET=utf8 這裡..., 導致我無
: 法安裝 mediawiki,
應該沒有什麼 mysql 5.1 可以跑的沒辦法在 5.5 跑,
很久沒用 mediawiki 了所以也不確定。
但是建議你仔細閱讀錯誤訊息,
不要只看片段。
: 我對資料庫不熟, 所以我猜想是這個版本的資料庫可能和 mediawiki 不是好朋友
: 於是進入 ports 裡移除了 mysql-server-5.5.5 而換成 mysql-server-5.1.49,
: 其它軟體則保留不動作, 結果再次安裝 mediawiki 則出現因為 apache 與 php52
: 的 blahblah.so 之類的 error 而無法安裝(sorry, 錯誤訊息沒有記錄下來),
: 所以我就只好進入 ports 裡移除 apache,php52,mysql,mediawiki
: (除了 php52-extension), 然後重新安裝,而當 apache,php52,mysql,mediawiki
: (除了php52-extension)都重新安裝過後,mediawiki 就可以正常安裝與使用了,
: 我的問題是︰
: 1.當我使用 ports 重新安裝 apache,php52,mysql 時, php52-extension 是否需要
: 重新安裝呢?
主要是 mysql5x-client 有一個 mysql 的 library,
一些用到 mysql 的程式會去動態連結它,
所以就會因為版本變更而找不到 shared library。
這點可以用 ldd 指令去確認有沒有出現 not found 的。
一般這樣降下去我是建議用 portupgrade。
env DISABLE_CONFLICTS=1 portupgrade -fo databases/打算裝的 databases/原本裝的
portupgrade -fr databases/剛裝好的
第一行指令你可能要用兩次,
先換掉 mysql client ,
再換掉 mysql server。
編譯 mysql5x-server 的參數記得先寫在 /usr/local/etc/pkgtools.conf。
這指令會把已安裝的套件代換成另一個,
相關的相依資訊可以直接繼承下來。
第二行指令基本上只要對 mysql5x-client 用,
因為很少有套件真的相依 server。
但是為求保險起見你也可以 client / server 都各跑一次。
這指令主要就是把相依它的套件全部重編
(不一定是 lib 相依所以多少會編到沒必要的)。
參數裡面補個 n 譬如 -nfo 或 -nfr 可以先預覽一下會動到的東西。
portupgrade 怎麼裝和初始化 Google 很多就不在這講了。
: 2.是否會在使用 php52-extension 的功能時有相依問題或 blahblah 問
: 題出現?
這看起來跟上個問題差不多?
最後你在下面兩篇問 make config 看不到的 options,
基本上直接開 Makefile 看最快沒錯。
不然 make build 或 fetch 下去的瞬間應該看得到。
--
: 大家好
: 我是一位 BSD 新手
: 幾天前我在自己家裡弄了一台 FreeBSD 8 (stable) 的server
: 上面目前安裝了 apache-2.2.16, mysql-server-5.1.49, php52-5.2.14
: php52-extension 及它們的相依套件,
: 我的情況是這樣的,
: 一開始我使用 ports 安裝 apache(版本如上),mysql-server-5.5.5,
: php52(版本如上), php52-extension等等,再安裝 mediawiki -1.6.12,
: 但後來進入 mediawiki 的網頁安裝畫面時(就是需要填入一堆東西如網站名稱、
: e-mail、等等), mediawiki 回覆錯誤訊息是 sql 語法錯誤, 無論安裝多少次都
: 是一樣, 都發生在 type=InnoDB, DEFAULT_CHARTSET=utf8 這裡..., 導致我無
: 法安裝 mediawiki,
應該沒有什麼 mysql 5.1 可以跑的沒辦法在 5.5 跑,
很久沒用 mediawiki 了所以也不確定。
但是建議你仔細閱讀錯誤訊息,
不要只看片段。
: 我對資料庫不熟, 所以我猜想是這個版本的資料庫可能和 mediawiki 不是好朋友
: 於是進入 ports 裡移除了 mysql-server-5.5.5 而換成 mysql-server-5.1.49,
: 其它軟體則保留不動作, 結果再次安裝 mediawiki 則出現因為 apache 與 php52
: 的 blahblah.so 之類的 error 而無法安裝(sorry, 錯誤訊息沒有記錄下來),
: 所以我就只好進入 ports 裡移除 apache,php52,mysql,mediawiki
: (除了 php52-extension), 然後重新安裝,而當 apache,php52,mysql,mediawiki
: (除了php52-extension)都重新安裝過後,mediawiki 就可以正常安裝與使用了,
: 我的問題是︰
: 1.當我使用 ports 重新安裝 apache,php52,mysql 時, php52-extension 是否需要
: 重新安裝呢?
主要是 mysql5x-client 有一個 mysql 的 library,
一些用到 mysql 的程式會去動態連結它,
所以就會因為版本變更而找不到 shared library。
這點可以用 ldd 指令去確認有沒有出現 not found 的。
一般這樣降下去我是建議用 portupgrade。
env DISABLE_CONFLICTS=1 portupgrade -fo databases/打算裝的 databases/原本裝的
portupgrade -fr databases/剛裝好的
第一行指令你可能要用兩次,
先換掉 mysql client ,
再換掉 mysql server。
編譯 mysql5x-server 的參數記得先寫在 /usr/local/etc/pkgtools.conf。
這指令會把已安裝的套件代換成另一個,
相關的相依資訊可以直接繼承下來。
第二行指令基本上只要對 mysql5x-client 用,
因為很少有套件真的相依 server。
但是為求保險起見你也可以 client / server 都各跑一次。
這指令主要就是把相依它的套件全部重編
(不一定是 lib 相依所以多少會編到沒必要的)。
參數裡面補個 n 譬如 -nfo 或 -nfr 可以先預覽一下會動到的東西。
portupgrade 怎麼裝和初始化 Google 很多就不在這講了。
: 2.是否會在使用 php52-extension 的功能時有相依問題或 blahblah 問
: 題出現?
這看起來跟上個問題差不多?
最後你在下面兩篇問 make config 看不到的 options,
基本上直接開 Makefile 看最快沒錯。
不然 make build 或 fetch 下去的瞬間應該看得到。
--
Tags:
BBS
All Comments
Related Posts
關於 php52 與 php52-extension 安裝問題
By Caroline
at 2010-08-11T09:46
at 2010-08-11T09:46
請問sh /etc/rc.firewall的問題
By Quanna
at 2010-08-11T09:43
at 2010-08-11T09:43
【8/17 TOSSUG HTML5 讀書會】與 HTML5 大師近距離對談
By Lucy
at 2010-08-10T15:22
at 2010-08-10T15:22
請問sh /etc/rc.firewall的問題
By John
at 2010-08-10T12:40
at 2010-08-10T12:40
關於 php52 與 php52-extension 安裝問題
By Yuri
at 2010-08-10T12:20
at 2010-08-10T12:20