我剛剛從.co.uk切換.com,一切都很順利,直到今天。我運行SQL來替換所有相關表中的域,並且在使用cp將文件移動到.com文件夾後,我使用sed
在服務器上的所有相關php文件中執行相同操作。bash sed在序列化數組中導致錯誤
一切都很好,除了一個小方面。我在sed
上使用的其中一個文件是一個序列化的php數組,現在當我嘗試反序列化時,php會拋出Notice: unserialize(): Error at offset 326 of 1551099 bytes in reallylongfilename.php on line
。
我剛剛在sed之前從舊服務器測試過這個文件,它反序列化沒有問題,但後來我運行了sed並且失敗了。我使用sed命令是:
sudo find /var/www/vhosts/spotthedog.com/httpdocs/wp-content/feedgenerator -name 'propdetails.php' -type f -exec sed -i 's/spotthedog.co.uk/spotthedog.com/g' {} \;
我是相當新的命令行上工作,所以任何幫助感激地接受,因爲我考慮寫一個PHP腳本做同樣的工作。
沒有訪問到實際的違規代碼,這是幾乎不可能診斷。你不是逃避點,所以這是一個公平的猜測,一些實際的程序代碼語句碰巧包含「co」和「uk」與他們之間的字符。 – tripleee
「reallylongfilename.php」的內容是什麼?它包含**序列化數據**還是有PHP代碼?它是一個數據文件還是PHP文件? –