Re: [請益] 關於 php52 與 php52-extension 安裝問題

看板FreeBSD作者 ( )時間14年前 (2010/08/14 08:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《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 下去的瞬間應該看得到。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.106.149 ※ 編輯: tinlans 來自: 118.160.106.149 (08/14 08:13)
文章代碼(AID): #1CPTyzvB (FreeBSD)
文章代碼(AID): #1CPTyzvB (FreeBSD)