我的任務是將鏡像映射到新服務器上。舊網站有幾個Perl腳本,就我所能看到的內部而言(我對Perl一無所知,儘管我對編碼有很好的理解,特別是PHP/js /等)不依賴於舊的服務器。也就是說,當我嘗試運行這個腳本時,它通過查找數據庫文件來查找適當的文章文件,但它不檢索任何內容。移動一個perl腳本/ dbm到一個新的服務器,並移出dbm?
基本上,這是一個基本的舊的CMS,我解釋它,它在那裏搜索PAG文件的文件名並顯示它。我有點迷失在這裏。是否有一個原因,爲什麼鏡像不適用於新網站?我檢查了權限,我檢查了Perl安裝在相同的目錄下。我覺得它使用DBM因爲,according to another article,如果我看到這樣的命令:
dbmopen(%ARTS, $art_dbm, 0644);
$entry = $ARTS{$article_id};
dbmclose(%ARTS);
它必須是DBM,對不對?
在相關說明中,是否有任何方法可以將PAG文件的信息與原始文件合併,而無需使用難以置信的複雜Perl腳本;即使用文件本身的信息重新創建100個文本文件,而不是單獨存儲?
編輯:感謝下面的第一個答案。你能解釋一下HASH可能是什麼,以及面具嗎?我已經重新檢查.pag文件(數據庫名稱)的確在前面在.pl文件中定義的位置,並且它是以二進制形式傳輸的。但不知何故,我不能讓它正確地打開它!
編輯3:好了,對不起,這是最後編輯:我使用的模具下面的代碼(Shwern),發現它沒有發現DB文件,儘管它在那裏(兩個文件articles.pag和文章。目錄,但變量只引用「文章」沒有擴展名)在正確的目錄和正確的權限...所以,這裏的問題是現在到底是怎麼回事?這些是不同版本的Perl嗎?或者我只是在做一些基本和愚蠢的事情?爲了記錄(是的,它的可怕)我還沒有shell訪問,雖然我正在處理它...我被要求這樣做,因爲我的「新網絡」技能,我當然不是合適的像perl和dbm之類的人,儘管我可以讀取這些文件並理解它們。作爲最終的建議,有沒有人知道(一個腳本或類似的東西)我可以問原始的服務器人員(誰不是編碼人員)做這個ASCII轉儲,或者是不符合要求?我需要將其轉換爲CSV並返回到文件中,以便我可以在另一個數據庫中重複使用它......呃真是一場噩夢!