mac php 圖片驗證碼無法顯示問題

假裝我是程式猿發表於2017-11-12

查閱很多資料,問題如下:


mac系統升級到yosemite後,php也自動升級,執行phpcms時發現後臺驗證碼顯示不出來。很明顯,缺少gd庫,需要重新編譯安裝php,其過程十分辛苦。

但使用brew安裝比較方便。

所以操作步驟如下:

1、安裝brew(已經安裝的略過)
​2、安裝php5.6
3、安裝freetype,jpeg,libpng,gd,zlib

具體過程:


安裝homebrew

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"複製程式碼

這裡由於網速原因估計會比較慢
完成後,接下來自檢一下:

$ brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Homebrew for is working fine: please don't worry and just ignore them. Thanks! Warning: A newer Command Line Tools release is available. Update them from Software Update in the App Store.複製程式碼

出現一些警告資訊,其中也說明了如果brew執行正常就不用管它。CTRL+C退出,繼續往下


配置第三方源

因為homebrew沒有自帶php的包,所以要新增新的源進來:

$ brew tap homebrew/dupes 
$ brew tap homebrew/versions $ brew tap homebrew/homebrew-php複製程式碼

安裝php

install安裝

$ brew install php56複製程式碼

安裝過程需要一段時間,等一下就可以了。

安裝freetype,jpeg,libpng,gd,zlib

brew rm freetype jpeg libpng gd zlib brew install freetype jpeg libpng gd zlib 

先刪除之前的再安裝新的複製程式碼

然後建立連結

brew link --overwrite libpng freetype jpeg 
#注意新增overwrite,否則可能會提示衝突 這裡可能提示目錄許可權錯誤問題: 
Error: Could not symlink include/libpng16/png.h 執行命令: 

sudo chmod -R 777 /usr/local/include/libpng16 
sudo chmod -R 777 /usr/local/include/freetype2複製程式碼

配置apache支援新安裝的php
安裝的php在/usr/local/opt/php56目錄,apache這邊需要修改配置檔案,載入進新安裝的php模組。

$ LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so複製程式碼

不要忘記重新啟動下apache

$ sudo apachectl restart複製程式碼

重啟完成後,看看驗證碼是否顯示了

相關文章