小編給大家分享一下如何解決zabbix監(jiān)控因php導(dǎo)致圖形界面中文亂碼問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、攀枝花網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。解決因編譯php中添加了-enable-gd-jis-conv選項導(dǎo)致Zabbix監(jiān)控系統(tǒng)圖形界面中文亂碼問題
現(xiàn)象:
php編譯參數(shù):
說明:
如果PHP編譯時啟用–enable-gd-jis-conv選項的話,那么非ASCII字符(例如漢字、拼音、希臘文和箭頭) 會被當成EUC-JP編碼 (phpinfo中美其名曰“支持JIS編碼的字體”), 從而導(dǎo)致亂碼(由于西文字體沒有假名或漢字,一般表現(xiàn)為全部是方框)。imagettftext()函數(shù)是將字符寫入到圖片的函數(shù),這個問題就是由這個函數(shù)導(dǎo)致的。
在網(wǎng)上查了好幾篇教程不全,以下為本人生產(chǎn)實踐操作,在zabbix3.2版本,php7.2版本
方法一:
重新編譯安裝php,禁用-enable-gd-jis-conv選項,這種方式代價較大;
方法二:
因生產(chǎn)環(huán)境php使用年限比較久,不知道是否有應(yīng)用在使用,不敢輕易重新編譯,故按照方法二解決
第一步:
在/etc/nginx/html/zabbix/include
中修改graphs.inc.php
文件(先備份)
cp graphs.inc.php graphs.inc.php.bak
vim graphs.inc.php #在末尾添加如下代碼
function to_entities($string){ $len = strlen($string); $buf = ""; for($i = 0; $i < $len; $i++){ if (ord($string[$i]) <= 127){ $buf .= $string[$i]; } else if (ord ($string[$i]) <192){ //unexpected 2nd, 3rd or 4th byte $buf .= "?"; } else if (ord ($string[$i]) <224){ //first byte of 2-byte seq $buf .= sprintf("%d;", ((ord($string[$i + 0]) & 31) << 6) + (ord($string[$i + 1]) & 63) ); $i += 1; } else if (ord ($string[$i]) <240){ //first byte of 3-byte seq $buf .= sprintf("%d;", ((ord($string[$i + 0]) & 15) << 12) + ((ord($string[$i + 1]) & 63) << 6) + (ord($string[$i + 2]) & 63) ); $i += 2; } else { //first byte of 4-byte seq $buf .= sprintf("%d;", ((ord($string[$i + 0]) & 7) << 18) + ((ord($string[$i + 1]) & 63) << 12) + ((ord($string[$i + 2]) & 63) << 6) + (ord($string[$i + 3]) & 63) ); $i += 3; } } return $buf; }
第二步:
找到該文件中imagettftext()函數(shù)(一共三處)
將最后一個參數(shù)$string修改為to_entities($string)
,三處都需要修改,無需重啟,刷新即可解決問題。
以上是“如何解決zabbix監(jiān)控因php導(dǎo)致圖形界面中文亂碼問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。