我想從我的PHP腳本中使用s3cmd
。一切都在shell中工作,但同樣不能從我的PHP腳本工作。從PHP腳本運行S3cmd不起作用
shell_exec('s3cmd --config=/root/s3cmd.conf ls');
這是行不通的,然後我給完整路徑我s3cmd安裝
shell_exec('/usr/sbin/s3cmd --config=/root/s3cmd.conf ls');
在PHP腳本不工作,但同樣工作在指揮,
的PHP文件,該文件正在調用webroot中的shell_exec。
可能是s3cmd配置爲root用戶的問題,而且我是從PHP運行的,它是www-data。如果這是問題,我該如何爲www數據創建配置文件。
幫我看看我做錯了什麼。
感謝
編輯 我使用S3cmd。在我的cron腳本中運行命令。 cron腳本是一個PHP腳本。運行cron的用戶是web11,s3cmd是使用root用戶配置的。
所以當我在我的PHP腳本中使用shell_exec()運行s3cmd時失敗。但是,當我運行在shell中它工作正常。
s3cmd ls
這工作正常。因爲我使用root用戶登錄。
我嘗試使用runuser命令
runuser -l根-c 「s3cmd LS」
這工作正常和水桶的顯示列表來運行它。但是當我運行使用
runuser -l根-c 「s3cmd LS」
這是行不通的。我試圖通過給s3cmd
在/ usr/bin中/ s3cmd LS
這部作品在外殼,但不是在我的PHP腳本的完整路徑。
我更改了PHP腳本的權限777,並將root作爲該用戶的所有者。但仍然不起作用。
如何從PHP腳本運行s3cmd。 ?我在亞馬遜Ec2實例。
其實我想在cronjob中執行任務,比如獲取所有對象的大小以及刪除對象。 – Asghar