我正在嘗試將文件從本地同步到遠程服務器。 當我在控制臺上執行此操作時,它可以工作: Rsync-avzhe ssh/var/www/folder1/file5 Root@192.168.56.74:/var/www/folder2 但當我在php上執行此操作并運行php腳本時,它不起作用: $rysncCommand = "rsync -avzhe ssh /var/www/folder1/file5 root@192.168.56.74:/var/www/folder2"; shell_exec($rysncCommand); 沒有顯示錯誤,所以我不能真正說出錯誤是什么。 首先,您需要檢查是否需要以超級用戶或(sudo用戶)身份運行rsync。 如果是,則exec()命令僅在由同一用戶在php-cli(不是由apache用戶在瀏覽器上)上運行時才起作用。即您登錄到運行rsync的外殼程序的用戶。 如果是超級用戶或具有sudo權限的任何已取消權限的用戶,則rsync用戶可能無法使用此rsync命令,因為當php腳本從瀏覽器運行時,該用戶正在工作。 因此,您嘗試創建普通用戶并通過它登錄,然后嘗試rsync如果您成功了,那么可能會很有趣地查看其他問題,但如果您的訪問/權限被拒絕,則顯然您至少無法在瀏覽器上運行此腳本。 除此之外,權限可能與rsync命令本身沒有直接關系,但在正常情況下與超級用戶擁有的文件夾/etc/test/有關。 有關更多詳細信息,請查看此堆棧溢出Link。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信