繁体   English   中英

Web服务器中的PHP GnuPG segfaults

[英]PHP GnuPG segfaults in a webserver

http://devzone.zend.com/1278/using-gnupg-with-php/的启发,并提供@ PHP ASCII铠装PGP加密字符串

在CLI中运行时,我能够使用第3方公共密钥对字符串进行GnuPG加密。

  • 将GNUPGHOME设置为世界可读的位置
  • chmod密钥环文件到666
  • cli php加密字符串就好了

PHP 5.2.10 (cli) (built: Nov 13 2009 11:44:05)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

但...

通过网络服务器(CentOS上的Apache)调用运行相同脚本的addencryptkey时,出现“退出信号分段错误(11)”。

apache错误日志

[notice] child pid 30682 exit signal Segmentation fault (11)

syslog中没有任何价值...

有指针吗? 谢谢!


代码(没什么大不了的):

// GnuPG code
putenv("GNUPGHOME=/opt/.gnupg/");

$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION); 
$gpg -> setarmor(1);

try 
{
    $info = $gpg -> addencryptkey("KEY");
    var_dump($info);
    $enc = $gpg -> encrypt($token);
    var_dump($enc);
} 
catch (Exception $e) {
    echo 'ERROR: ' . $e->getMessage();
}

drwxr-xr-x  2 root root  4096 Jan 14 11:29 .gnupg

[root@dev-lamp01 opt]# ll .gnupg/
total 28
-rw-rw-rw- 1 root root 9224 Jan 14 10:23 gpg.conf
-rw-rw-rw- 1 root root  325 Jan 14 10:25 pubring.gpg
-rw-rw-rw- 1 root root    0 Jan 14 10:20 pubring.gpg~
-rw-rw-rw- 1 root root  600 Jan 14 11:29 random_seed
-rw-rw-rw- 1 root root    0 Jan 14 10:20 secring.gpg
-rw-rw-rw- 1 root root 1200 Jan 14 10:25 trustdb.gpg

哦-是我的错-尽快

chmod -R 777 

在我的GNUPGHOME上-一切正常

以为它对666很满意(而CLI对rw感到满意)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM