Проблемой с s3cmd в этом случае не является s3cmd файл скорее конфигурационный файл который значения по умолчанию к ~/.s3cfg
Скрипт CLI, который работает как корень, имеет доступ для чтения к нему, но апачский веб-сервер не делает.
Все, что необходимо сделать, скопировать файл конфигурации в другое местоположение и показанный его так, апачский пользователь может получить доступ к нему, затем в shell_exec
использовать -c FILE
опция s3cmd.
Кроме того, необходимо установить огибающий var HOME
к пустой строке, потому что s3cmd сценарий дает ему приоритет по -c
. так Ваш shell_exec
посмотрит что-то как: shell_exec('export HOME="";s3cmd -c ....');
Что-то как
acl localhost src 127.0.0.1
acl auth proxy_auth REQUIRED
http_access allow localhost auth
должен добиться цели.
Лучше все еще - не проксируют для локальных запросов - это легко настраивается в конфигурации браузера, групповой политике, proxy.pac и т.д. - обычно нет никакого реального случая для локального проксирования.
Как было сказано давно, это не будет работать для большинства (современных) версий.
acl localhost src 127.0.0.1
http_access allow localhost
acl auth proxy_auth REQUIRED
http_access allow auth
proxy_auth будет перехватывать все запрещенные src / group, поэтому конфигурация, похоже, должна быть настройка шаг за шагом.
Создать группу, разрешить или нет, Создайте другую группу, разрешить или нет и т.д.
В современных выпусках squid3 интернет, локальный хост и все группы встроены, и вы сошли с ума. Каждый раз при сбое конфигурации используйте squid3 -d 10
, чтобы точно знать, в чем проблема.