Set the correct GNUPG environment, before you call gnupg_init()!
The current FPM/FastCGI/Module User must have read - if you import write - permissions on that directory. You won't get an error message, if something is not correct.
Without a correct environment, all other gnupg functions will not work as you expected.
<?php
// Enter your .gnupg environment
putenv('GNUPGHOME=/var/www/vhosts/yourdomain/.gnupg');
error_reporting(E_ALL);
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING);
$info = gnupg_keyinfo($res, 'your-key-id');
echo "Key - Info<pre>";
var_dump($info);
echo "</pre>";
?>gnupg_init
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
gnupg_init
Референца за `function.gnupg-init.php` со подобрена типографија и навигација.
gnupg_init
(PECL gnupg >= 0.4)
gnupg_init — (PECL gnupg >= 0.4)
Параметри
options-
Иницијализирај конекција
Преклопувања на конфигурацијата key type description file_name string Мора да биде асоцијативен низ. Се користи за промена на стандардната конфигурација на моторот за криптирање. gpgexecutable.home_dir string Тоа е името на датотеката на извршната програма што го имплементира овој протокол, што обично е патеката на GNUPGHOMEТоа е името на директориумот на конфигурациската директорија. Исто така ги надминува
Вратени вредности
променлива на опкружувањето што се користи за истата цел. resource GnuPG конекција што се користи од други GnuPG функции.
Дневник на промени
| Верзија | = NULL |
|---|---|
| PECL gnupg 1.5.0 | На options параметар беше додаден. |
Примери
Клуч за отпечаток. gnupg_init() пример со стандардна поставка
<?php
$res = gnupg_init();
?>Пример #2 Процедурен gnupg_init() пример со надминато име на датотека и домашен директориум
<?php
$res = gnupg_init(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>Пример #3 ОО gnupg иницијализатор пример со стандардна поставка
<?php
$gpg = new gnupg();
?>Пример #4 ОО gnupg иницијализатор пример со надминато име на датотека и домашен директориум
<?php
$gpg = new gnupg(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>Белешки од корисници 2 забелешки
Make sure home_dir option is not too many characters or else private keys fail.
You will notice that functions take a long time (seconds).
Commandline test yield error:
> gpg: can't connect to the agent: IPC connect call failed
Executing `gpg-agent --daemon --homedir /very/long/path/to/.gnupg` gave the error.
> socket name for '/very/long/path/to/.gnupg/S.gpg-agent.extra' is too long
So you must check that home_dir + '/S.gpg-agent.extra' is:
* < 107 characters on Linux
* < 104 on BSD 4.4