發生這種情況的原因是什麼呢?飄易就以一句話概括下: 由于linux下換行是\n,而windows下換行是\r\n,當ftp軟體在上傳時,預設是以ASCII方式上傳的,而ASCII方式上傳檔案有個特點,會将檔案裡的換行符進行适當處理以符合上傳伺服器的運作環境。在這個過程中,部分檔案就會處理不當,出現換行符丢失的bug。(注意,不是全部php檔案,是小部分的php檔案會出現這個問題)。
上訴問題尤其在php源碼裡有單行注釋符“//”時,會導緻php源檔案直接無法運作。因為源碼變成了一行代碼後,單行注釋符把//後面所有的代碼都注釋掉了。
解決問題的核心關鍵詞“二進制”
能造成代碼換行的問題其實是因為這兩款問題裡的傳輸模式導緻的,跟你的伺服器以及控制台是WDCP或者寶塔一點關系也沒有!
FlashFXP的解決步驟
- 打開FlashFXP > 選項 > 參數選擇 > 傳輸 > 傳輸模式選擇“二進制(圖像)” > 應用and确定
為了保全起見,把檔案傳輸規則(也在選項的下拉)裡的【隻有續傳檔案才以二進制模式傳輸】前的勾取消掉
FileZilla的解決步驟
-
打開FileZilla,設定 > 傳輸 > FTP:檔案類型 > 預設傳輸模式 > 二進制(B) > 确定
原先FileZilla是把這些重要檔案用ASCII 模式傳輸的,就會唇出現換行問題。
FTP有ASCII和Binary(二進制)兩種傳輸模式:
Binary模式不會對資料進行任何處理。
Ascii模式會将回車換行轉換為本機的回車字元。
轉載位址:https://blog.csdn.net/WeilaPls/article/details/82185443