Попросите пользователя Apache вызвать скрипт с помощью shell_exec();

PHP – CentOS – Apache

Я пытаюсь разрешить пользователям шифровать/дешифровать файлы на моем сайте. Я остановился на gpg как на способе шифрования/дешифрования. Проблема в том, что мне нужно запустить shell_exec с командой шифрования, и, похоже, он не запускается при вызове из браузера. Я пробовал все, что мог придумать, включая предоставление всем папкам и файлам разрешения 777, что кажется неправильным.

Я думаю, что могу добиться этого, настроив cronjob и очередь, но я надеялся, что кто-то знает лучшее решение.

Это команды, которые не будут выполняться.

gpg --yes --passphrase=[Enter your passphrase here] -c filename.txt

gpg --yes --passphrase=[Enter your passphrase here] filename.txt.gpg

РЕДАКТИРОВАТЬ: я повторил команду, которую отправлял в shell_exec, и она отлично работает из командной строки. Однако он не запускается из браузера.


person Adam    schedule 22.04.2012    source источник
comment
Укажите код, с которым вы работаете.   -  person Honoki    schedule 22.04.2012
comment
shell_exec('gpg --yes --passphrase=userspassphrase -c абсолютный путь к файлу);   -  person Adam    schedule 22.04.2012
comment
Ни ошибок, ни результатов. shell_exec(echo 'что-то' › абсолютный путь к файлу ); также не работает, когда скрипт вызывается браузером.   -  person Adam    schedule 22.04.2012


Ответы (1)


попробуйте полный путь к gpg, например /usr/bin/gpg --yes --passphrase=[Enter your passphrase here] -c absolute_path_to_file в shell_exec

person Dev    schedule 24.04.2012