iT邦幫忙

0

CentOS7 php7.0 誤裝 php55-gd 後 php -v 與 phpinfo.php 的php版本不同

您好
在CentOS7 php7.0 誤裝 php55-gd 後 php -v 與 phpinfo.php 的php版本不同,不知該如何處理, 因為想移除php55-gd,但不知如何下手,請大家給方向,謝謝大家!

php -v

PHP 5.5.38 (cli) (built: Oct 25 2016 18:30:32)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

phpinfo.php

Configuration File (php.ini) Path	/etc/php-7.0.conf:/etc
Loaded Configuration File	/etc/php.ini
Scan this dir for additional .ini files	/etc/php-7.0.d

https://ithelp.ithome.com.tw/upload/images/20201003/2010780815X8Wy5SGT.jpg

https://ithelp.ithome.com.tw/upload/images/20201003/20107808IMkAzUMD1o.jpg
https://ithelp.ithome.com.tw/upload/images/20201003/20107808ohBBkLfY3O.jpg
https://ithelp.ithome.com.tw/upload/images/20201003/20107808AFEhNPjcRm.jpg

https://www.archi.net.tw/

https://www.asianmaterials.net/

https://www.asian-archi.com.tw/

https://www.idshow.com.tw/

2 個回答

3
一級屠豬士
iT邦大師 1 級 ‧ 2020-10-03 17:55:45
最佳解答

yum 的一些指令參考.
https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf

先利用 yum list --installed 列出已安裝的套件
https://www.cyberciti.biz/faq/check-list-installed-packages-in-centos-linux/

這時候可以利用 grep 來過濾
yum list --installed | grep -i php

應該就會出現 php 有帶版本好的,你應該是之前去看到一些舊文件,就裝到舊版本了.
其實應該善用 yum 去查詢,你已經安裝的repo 有提供哪些版本.

這時候應該可以看到,新舊版本的 完整名稱.
再來就是利用
https://phoenixnap.com/kb/centos-uninstall-remove-package

yum remove 來移除你不要的版本.

其實這都是經驗啦,也不用太在意.經驗會讓你更小心,也不會急著亂抓亂看.
加油! 我也只是把一些資料提供給你.
你最好有做紀錄的習慣,把操作的過程,貼在編輯器,存檔.
這樣就算是錯誤,也是一個寶貴的經驗與紀錄.之後整理起來,就是你的知識庫了.

看更多先前的回應...收起先前的回應...
webtest iT邦新手 5 級 ‧ 2020-10-03 20:13:22 檢舉

一級屠豬士您好
感謝您的回答!真的謝謝您還有幫忙的大神們!
雖有紀錄的習慣,除錯的經驗真的很不足,無法預測解果!
https://ithelp.ithome.com.tw/upload/images/20201003/20107808XkKiItkhx8.jpg

webtest iT邦新手 5 級 ‧ 2020-10-03 20:18:13 檢舉

一級屠豬士您好
近日在同一CentOS7環境下安裝PHP redis無法成功,請您指點
https://ithelp.ithome.com.tw/questions/10200515
謝謝!

webtest iT邦新手 5 級 ‧ 2020-10-03 20:34:34 檢舉

一級屠豬士您好
#yum list installed
若移除php55-*後 , 還需要做其他設定嗎? 謝謝!

php55-cli.x86_64                                5.5.38-2.119.amzn1               @amzn-main
php55-common.x86_64                             5.5.38-2.119.amzn1               @amzn-main
php55-gd.x86_64                                 5.5.38-2.119.amzn1               @amzn-main
php55-pecl-jsonc.x86_64                         1.3.6-1.13.amzn1                 @amzn-main
php55-process.x86_64                            5.5.38-2.119.amzn1               @amzn-main
php55-xml.x86_64                                5.5.38-2.119.amzn1               @amzn-main

學習的過程中,逐步完善.
但是不巧,我現在手頭上沒CentOS, 是Mac.
所以我只能跟你討論一些方法,沒辦法做出流程讓你操考.

CentOS 主要是要裝一些 repo, 有些 repo 裡會有你想安裝的套件.
至於哪個repo會有哪些套件.或是要找rpm.
rpm 部分可以到 rpmfind 網站找,會列出哪種安裝版,例如 Fedora 31,CentOS 8 等等.不過現在大多是使用yum , repo 方式,較少直接使用rpm.
這裡有 CentOS 的一些 repo 的介紹.
https://wiki.centos.org/zh-tw/AdditionalResources/Repositories

一般像是 EPEL 是要安裝,才能使用一些額外的套件.
PHP部分,remi 需要安裝,下面的例子就有提到.

這裡有 CentOS 8 安裝 PHP Redis,使用 yum, 安裝 repo,再安裝的流程.
https://www.cyberciti.biz/faq/install-php-redis-on-centos-8-rhel-8-linux/

HowTo Forge 有很多套件的安裝流程,這是個寶庫.你可以慢慢挖寶.
https://www.howtoforge.com/tutorials/centos/

另外有一個 SCL,在上面的 repo 介紹也有提到.
這是一個可以讓你安裝許多不同版本的強大套件.這個等熟悉以後,可以使用.
可以很方便的使用許多版本的套件.
https://www.softwarecollections.org/en/

webtest iT邦新手 5 級 ‧ 2020-10-03 21:05:08 檢舉

一級屠豬士您好
謝謝您提供的內容!
謝謝!

https://pkgs.org/search/?q=php%20redis

pkgs.org 可以查詢

這裡就可以看到 需要安裝 remi.

0
jeremy_h_l
iT邦新手 5 級 ‧ 2020-10-05 04:20:33

CentOS 7 可以試試這方法,看有沒有用:

yum history [list] # 列出最近 20 次安裝歷史,最前欄位有 ID
yum history info <ID> # 列出該 ID 的 yum 安裝的指令跟結果細節,找出誤裝是哪一個 ID
yum history undo <ID> # 如果上一步驟確認是該 ID 誤裝,可以還原這個 ID 中安裝的套件,包含所有自動安裝相依性套件。

最後這個 yum history undo <ID> 要在誤安裝之後,沒用過 yum clean packages 這個指令的時候比較不會有問題(待確認,僅供參考)
yum clean all 會包含 yum clean packages

我要發表回答

立即登入回答