php, работа с gnupg через PECL gnupg расширение
на линуховом сервере установлен gpg (GnuPG) 1.4.8
php 4.4.7
под своим юзером (myuser) на сервере сгенерил ключи, создалась директория /home/myuser/.gnupg
через консоль все шифрует и расшифровывает как надо.
пробую работать с этим через пхп
вот простейший пример:
не работает, выводит ошибку: could not init keylist
дальше
читаю тут http://ua2.php.net/manual/ru/ref.gnupg.php
что:
//
This extension makes use of the keyring of the current user. This keyring is normally located in ./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME.
//
если я правильно понял то расширение работает с keyring текущего юзера но можно указать свой путь к gnupg директории. А пхп скрипты у меня запускаются от юзера daemon, то есть получается что и ключи я должен был генерить от юзера daemon, и тогда в его хоуме создастся необходимая директория .gnupg' и тогда из пхп я смогу с этим работать, так ?
у юзера daemon права на чтение /home/myuser/.gnupg есть
PECL-расширение gnupg в PHP полагается не на программу GnuPG, а на библиотеку gpgme. Она установлена на машине?
да,
на сервере данная библиотека установлена
И safe mode в PHP выключен? Каких-то иных препятствий для работы скрипта я не вижу. Если PHP у Вас собран с поддержкой консоли (CLI), попробуйте выполнить тот же код из неё от имени пользователя myuser.
safe mode выключен
скрипт от myuser выполняется и ошибки нет, ф-я возвращает пустой массив, хотя я ожидаю что вернет один массив с одним елементом (одним ключем), ибо один ключ и имеется.
команда
но ф-я возвращает пустой список, я уже не знаю что в качестве параметра ей передать, пробовал и 'myuser <myuser@mail.com>' и '<myuser@mail.com>','myuser@mail.com','myuser' – все равно пустой массив.
вобщем теперь два вопроса, как заставить работать через web и почему пустой массив возвращается. Самое неприятное что никакой документации по этому модулю нет.
На этом сайте сделано так[link1]. Актуальные исходники лежат здесь[link2].