PHP не будет выполнять код в cmd - PullRequest
1 голос
/ 02 июля 2011

Когда я выполняю

s3cmd put --acl-public --guess-mime-type /html/file.png s3://bucket/files/file.png

через cmd в putty, он работает отлично, однако, когда я пытаюсь выполнить это через PHP:

system("s3cmd put --acl-public --guess-mime-type /html/file.png s3://bucket/files/file.png");

ничего не происходит.У кого-нибудь есть идеи, почему он не работает?Нужно ли изменять настройки в php.ini или я что-то не так делаю?

Ответы [ 4 ]

1 голос
/ 02 июля 2011

Я рекомендую посмотреть файл журнала Apache, но держу пари, что это проблема с разрешениями (у меня была эта проблема ...).Имеет ли Apache (httpd?) Доступ для чтения / записи к /html/file.png и s3://bucket/files/file.png?S3cmd требует специальных разрешений?Вам нужно использовать гксудо?

1 голос
/ 29 января 2013

s3cmd ищет в домашнем каталоге пользователя файл .s3cfg. В вашем случае, apache, вероятно, пользователь, запустивший программу, и у apache нет файла .s3cfg.

Вам нужно запустить это снова как пользователь, с которым вы собираетесь использовать s3cmd.

/usr/bin/s3cmd --configure
0 голосов
/ 31 мая 2018

есть проблема с выполнением s3cmd из php-файла (пользователь apache) s3cmd не может найти файл s3cfg, я поместил его в команду a it work:

s3cmd -c /var/www/.s3cfg put file...
0 голосов
/ 02 июля 2011

Возможно, существует такое ограничение на системную команду, что вы должны попробовать заглянуть в error_log, увеличить уровень error_reporting или отключить safe_mode в php.ini

...