2013-04-29 91 views
0

這段代碼在PHP中不會同步「測試」文件夾。在php中使用rsync同步遠程服務器文件夾和本地服務器文件夾?

PHP

exec('/usr/bin/rsync -a /etc/test [email protected]:/etc/test'); 

rsync -a /etc/test/ [email protected]:/etc/test/ 

的工作。所以我需要通過使用php文件來同步這些「測試」文件夾。我該怎麼做?

+0

我認爲這也是我的問題。剛剛發現http://stackoverflow.com/a/9204543/1862107。是這個問題嗎? – 2013-04-29 09:49:36

回答

1

首先,您需要檢查您是否需要成爲root或(sudo用戶)才能運行rsync。如果是,那麼 exec命令將僅在php-cli中的相同用戶(不是由apache用戶的瀏覽器)上運行時才起作用。

+0

對不起,兄弟,我沒有明白你的意思。你可以解釋一下吧 – 2013-04-29 09:43:43

+0

你將哪個用戶登錄到shell中運行rsync。如果它是root用戶或任何具有sudo權限的權限用戶,那麼這個rsync命令可能不適用於當php腳本從瀏覽器運行時正在工作的apache/www-data用戶。 – 2013-04-29 09:46:50

+0

作爲根我要去登錄 – 2013-04-29 09:51:36

相關問題