2016-04-20 3 views
1

У меня есть установка 2 машины Ubuntu: 192.168.1.104 & 192.168.1.105 установили ssh на обеих машинах, сгенерированных ssh-keygen на машине 104, и добавили ключ для обоих ip-адресов.Копирование файлов с одной машины на другую с помощью php

Я хочу скопировать файл с одного 192.168.1.104 по 192.168.1.105 через php. Я попробовал эту команду scp /home/tejas/hadoop/conf/core-site.xml [email protected]:/home/tejas/hadoop/conf/core-site.xml через скрипт файл копируется отлично, но когда я запускаю эту же команду через PHP-скрипт

<?php $output = shell_exec('scp /home/tejas/hadoop/conf/core-site.xml [email protected]:/home/tejas/hadoop/conf/core-site.xml'); ?>

Он оленья кожа показать какую-либо ошибку, но файл оленья кожа копируется. Также попробовал аналогичный с exec(), а также попробовал rysnc вместо scp rsync -avzh /home/tejas/hadoop/conf/mapred-site.xml [email protected]:/home/tejas/hadoop/conf/mapred-site.xml еще не повезло.

обе команды отлично работают через скрипт, но не работает через PHP

я проверил PHP не в безопасном режиме и shell_exec() или (Exec) не отключена в php.ini

ответ

0

exec() и shell_exec() получить выполненный пользователем пользовательский скрипт (обычно www-data на Ubuntu, но может быть apache или что-то еще). Вероятно, у этого пользователя нет прав на файлы/папки. Одним из решений является создание новой группы пользователей и добавление пользователя (www-data) в эту группу, а затем установление правильного права собственности/разрешений на файлы/папки для копирования/копирования.

+0

Попробуйте и опубликуйте результат – darkrider

+0

сделанный 'sudo adduser tejas',' sudo useradd -d/var/www -G www-data tejas' и дал правильное владение файлу, все еще не работает – darkrider

+0

, пожалуйста, поправьте меня, если мои шаги неправильный – darkrider

Смежные вопросы