新聞中心
本文操作環(huán)境:Windows7系統(tǒng)、php7.1版、Dell G3電腦。

php 加密后出錯(cuò)怎么辦?為什么加密后的文件無法使用?
首先我們要學(xué)會(huì)排除出錯(cuò)的原因,現(xiàn)就常見問題與大家說明交流,供參考:
1、二進(jìn)制問題?
因?yàn)槲覀兿到y(tǒng)加密的數(shù)據(jù)為二進(jìn)制數(shù)據(jù)包,所以加密后文件在使用LINUX服務(wù)器的時(shí)候,F(xiàn)TP文件必須二進(jìn)制上傳,否則會(huì)造成文件損壞無法使用。
2、文件被修改?
問題同1,加密后的PHP文件是禁止修改的,哪怕修改一個(gè)字節(jié)也是會(huì)執(zhí)行或出錯(cuò),所以加密后的文件禁止修改。
3、缺少封閉標(biāo)簽?
對(duì)于良好的習(xí)慣,PHP需要以?>來結(jié)尾,部份因?yàn)槿鄙俅藰?biāo)簽而造成程序出錯(cuò),請(qǐng)保持程序的完整性。
4、對(duì)于使用命名空間namespace的問題?
如果你的程序中使用了:namespace 則需要保持在namespace代碼前面不能有任何代碼,包括注釋說明,否則會(huì)造成加密文件無法執(zhí)行。
5、為什么免費(fèi)的可以使用,加密成VIP卻出錯(cuò)無法使用?
VIP版獨(dú)有的功能就是對(duì)原有的PHP源代碼進(jìn)行混淆,打亂,加密處理。因?yàn)椴糠菡Z句或代碼兼容可能會(huì)出現(xiàn)問題(概率非常低,我們也一直在更新)。遇到這樣的情況,可以用如下方式來排查。加密方式:僅混淆 PHP混淆:雷同混淆(隨機(jī)),然后加密的PHP源代碼再進(jìn)行調(diào)試執(zhí)行。如果再出錯(cuò),可以顯示出具體的出錯(cuò)行以有代碼,可以對(duì)特定的變量設(shè)置成不加密的數(shù)據(jù),即可。您也可以將這樣的文件發(fā)給我們來調(diào)試,升級(jí)系統(tǒng)的兼容性。
6、對(duì)于擴(kuò)展加密(DLL)、ZEND加密、ionCube9加密?
這一些加密均需要修改php.ini對(duì)應(yīng)的PHP版本來安裝PHP擴(kuò)展,否則無法使用。請(qǐng)仔細(xì)核對(duì),同樣也要注意二進(jìn)制上傳的問題。
7、加密后顯示亂碼,程序不執(zhí)行?
如果使用了擴(kuò)展加密,一般為未安裝擴(kuò)展造成的。另外有一種情況如ThinkPhp 部份文件以模版方式加載,這樣的文件是不能夠加密的。
8、一處代碼的注意事項(xiàng)。
$where .= " AND o.order_status = '$filter[composite_status]' ";
這段代碼,加密后會(huì)變成
$where .= " AND o.order_status = '$filter[$GLOBALS['phpjiami_decrypt']['I1I1IIIIl1l1lll1lIl11I11ll']]' ";
會(huì)造成無法運(yùn)行, 有2個(gè)解決方法。
解決方法一:
修改代碼為:$where .= " AND o.order_status = '".$filter[composite_status]."' ";
解決方法二:
設(shè)置成不加密即可。
當(dāng)前題目:php加密后出錯(cuò)怎么辦
網(wǎng)頁鏈接:http://m.fisionsoft.com.cn/article/dpdgjpi.html


咨詢
建站咨詢
