thinkPHP5專案上傳到centOS伺服器後不顯示驗證碼
阿新 • • 發佈:2018-11-19
環境
- centOS7.2
- thinkPHP5
- 驗證碼使用的是captcha
問題如下:
本地使用的過程能顯示驗證碼圖片,上傳到伺服器後顯示如圖:
百度後大致找到是因為伺服器當前php未安裝GD庫,有關GD庫的知識檢視這裡(gd庫是一個開源的影象處理庫,它通過提供一系列用來處理圖片的API,使其可以用來建立圖表、圖形、縮圖以及其他影象的處理操作)。
常規安裝GD庫命令:
# yum -y install php-gd
如果你伺服器上沒有重灌過php那麼上面的命令足以解決問題。
如果報告以下類似錯誤
錯誤:php70w-common conflicts with php-common-5.4.16-45.el7.x86_64
您可以嘗試新增 --skip-broken 選項來解決該問題
您可以嘗試執行:rpm -Va --nofiles --nodigest
那麼有可能是因為你重灌過不同版本的php,並且未清理乾淨之前版本的php,如此需要使用下面命令(注意:我的php版本是7.0以上的所以使用的是php70w,應視情況而定)
# yum -y install php70w-gd
最後,重啟apache server
# service httpd restart
檢視結果:
接著,登入,如果報錯:
致命錯誤: Call to undefined function think\mb_strlen()
那麼可能是因為伺服器php未包含php_mbstring擴充套件,安裝方法:
# yum install php70w-mbstring
重啟下apache
# service httpd restart
done!