php加密後出錯的解決方法:1、修改內容為「$where .= " AND o.order_status = '".$filter[composite_status]."' ";」;2、設定成不加密即可。
本文操作環境:Windows7系統、PHP7.1版、Dell G3電腦。
php 加密後出錯怎麼辦?為什麼加密後的檔案無法使用?
首先我們要學會排除出錯的原因,現就常見問題與大家說明交流,供參考:
1、二進位問題?
因為我們系統加密的資料是二進位資料包,所以加密後檔案在使用LINUX伺服器的時候,FTP檔案必須二進位上傳,否則會造成檔案損壞無法使用。
2、檔案被修改?
問題同1,加密後的PHP檔案是禁止修改的,就算修改一個位元組也是會執行或出錯,所以加密後的檔案禁止修改。
3、缺少封閉標籤?
對於良好的習慣,PHP需要以?>來結尾,部份因為缺少此標籤而造成程式出錯,請保持程式的完整性。
4、使用命名空間namespace的問題?
如果你的程式中使用了:namespace 則需要保持在namespace程式碼前面不能有任何程式碼,包括註釋說明,否則會造成加密檔案無法執行。
5、為什麼免費的可以使用,加密成VIP卻出錯無法使用?
VIP版獨有的功能就是對原有的PHP原始碼混淆,打亂,加密處理。因為部份語句或代碼相容可能會出現問題(機率非常低,我們也一直在更新)。遇到這樣的情況,可以用以下方式來排查。加密方式:只混淆 PHP混淆:雷同混淆(隨機),然後加密的PHP原始碼再進行偵錯執行。如果再出錯,可以顯示出具體的出錯行以有代碼,可以對特定的變數設定成不加密的數據,即可。您也可以將這樣的檔案寄給我們來調試,升級系統的兼容性。
6、對於擴充加密(DLL)、ZEND加密、ionCube9加密?
這一些加密都需要修改php.ini對應的PHP版本來安裝PHP擴展,否則無法使用。請仔細核對,同樣也要注意二進位上傳的問題。
7、加密後顯示亂碼,程式不執行?
如果使用了擴充加密,一般為未安裝擴充功能造成的。另外有一種情況如ThinkPhp 部份文件以模版方式加載,這樣的文件是不能夠加密的。
8、一處程式碼的注意事項。
$where .= " AND o.order_status = '$filter[composite_status]' ";
這段程式碼,加密後會變成
$where .= " AND o.order_status = '$filter[$GLOBALS['phpjiami_decrypt']['I1I1IIIIl1l1lll1lIl11I11ll']]' ";
會造成無法運行, 有2個解決方法。
解決方法一:
##修改程式碼為:$where .= " AND o.order_status = '".$filter[composite_status]."' ";解決方法二:
#設定成不加密即可。 推薦學習:《PHP影片教學》
以上是php 加密後出錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!