2015-03-04 3 views
-1

Я пытаюсь загрузить файл с удаленного сайта. Мне нужно запустить эту команду в командной строке через php. Но этого не происходит. Пожалуйста, помогите мне.не удалось запустить эту команду в php

echo $name; 
     $param="ftp://ftp.ebi.ac.uk/pub/databases/emdb/structures/EMD-{$name}/map/emd_{$name}.map.gz"; 
     echo $param; 
     $command="wget ".escapeshellcmd($param)." -O /home/nagarjun/mercurial-1.4.1/clussym/trunk/dataset/emd{$name}.map.gz -e use_proxy=yes -e ftp_proxy=authproxy.serc.iisc.ernet.in:3128"; 
     echo "<br />$command"; 
    //$outputofexecutable = shell_exec($command); 
    passthru($command); 
+0

Включите 'error_reporting', загляните в журнал ошибок, запишите' stderr' (за «2> и 1», возможно), чтобы увидеть, что есть и чего не происходит. Затем используйте PHP-встроенные функции curl. – mario

+0

Решена ли ваша проблема? –

+0

Да, все, что я сделал, менял путь назначения к «/ var/www/html» – user1537757

ответ

0

Я вижу два объяснения:

  • Wget не найдены, так как переменные окружения не совпадают: использовать абсолютный путь

  • Ваш Apache (или любой другой веб-сервер) у пользователя нет разрешения на выполнение этой команды: вы можете использовать sudo, см. https://serverfault.com/questions/157272/allow-apache-to-run-a-command-as-a-different-user

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