在瀏覽器端的錯誤輸出資訊:
( ! ) Fatal error: Uncaught <tablestyle="border: 1px"cellspacing="0"><tr><tdcolspan="3"style="background: #ff9999"><b>Crypt_GPG_FileExceptionb>: The 'homedir' "/Library/WebServer/.gnupg" is not readable or does not exist and cannot be created. This can happen if 'homedir' is not specified in the Crypt_GPG options, Crypt_GPG is run as the web user, and the web user has no home directory. in <b>/usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.phpb> on line <b>278b>td>tr><tr><tdcolspan="3"style="background-color: #aaaaaa; text-align: center; font-weight: bold;">Exception tracetd>tr><tr><tdstyle="text-align: center; background: #cccccc; width:20px; font-weight: bold;">#td><tdstyle="text-align: center; background: #cccccc; font-weight: bold;">Functiontd><tdstyle="text-align: center; background: #cccccc; font-weight: bold;">Locationtd>tr><tr><tdstyle="text-align: center;">0td><td>Crypt_GPG_Engine->__construct(Array)td><td>/usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php in /usr/local/webdata/andy/fanli/citic/Crypt/GPG/Engine.php on line 541
命令列輸出的錯誤資訊:
PHP Fatal error: Uncaught PEAR_Exception: gpg-agent binary not found.If you are sure the gpg-agent is installed, please specify the location of the gpg-agent binary using the 'agent' driver option.in /usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php on line 278#0 /usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php(278): Crypt_GPG_Engine->__construct(Array)#1 /usr/local/webdata/andy/fanli/citic/gpg2.php(9): Crypt_GPGAbstract->__construct()#2 {main} thrown in /usr/local/webdata/andy/fanli/citic/Crypt/GPG/Engine.php on line 601Fatal error: Uncaught PEAR_Exception: gpg-agent binary not found.If you are sure the gpg-agent is installed, please specify the location of the gpg-agent binary using the 'agent' driver option.in /usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php on line 278#0 /usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php(278): Crypt_GPG_Engine->__construct(Array)#1 /usr/local/webdata/andy/fanli/citic/gpg2.php(9): Crypt_GPGAbstract->__construct()#2 {main} thrown in /usr/local/webdata/andy/fanli/citic/Crypt/GPG/Engine.php on line 601
第一個browser中報的錯我分析是許可權問題,第二個在shell中運行才是其真正的問題所在,根據提示,使用brew安裝gpg-agent。
之後我編寫代碼如下:
require_once'./Crypt/GPG.php';$gpg = new Crypt_GPG();$key = getKey();$gpg->addDecryptKey('zhangsanfeng','123456');$encrypted = file_get_contents('wait_for_decrpyt.txt.gpg');$data = $gpg->decrypt($encrypted);echo'';var_dump($data);exit;
終於解密成功!!!
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
以上就介紹了調試Crypt_GPG的過程,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。