调试Crypt_GPG的过程

Jul 29, 2016 am 09:15 AM
crypt gpg gt lt

在浏览器端的错误输出信息:

<code>( ! ) Fatal error: Uncaught <span>table</span><span>style</span>=<span>"border: 1px"</span><span>cellspacing</span>=<span>"0"</span>&gt;<span>tr</span>&gt;<span>td</span><span>colspan</span>=<span>"3"</span><span>style</span>=<span>"background: #ff9999"</span>&gt;<span>b</span>&gt;Crypt_GPG_FileException<span><span>b</span>&gt;</span>: 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 <span>b</span>&gt;/usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php<span><span>b</span>&gt;</span> on line <span>b</span>&gt;278<span><span>b</span>&gt;</span><span><span>td</span>&gt;</span><span><span>tr</span>&gt;</span><span>tr</span>&gt;<span>td</span><span>colspan</span>=<span>"3"</span><span>style</span>=<span>"background-color: #aaaaaa; text-align: center; font-weight: bold;"</span>&gt;Exception trace<span><span>td</span>&gt;</span><span><span>tr</span>&gt;</span><span>tr</span>&gt;<span>td</span><span>style</span>=<span>"text-align: center; background: #cccccc; width:20px; font-weight: bold;"</span>&gt;#<span><span>td</span>&gt;</span><span>td</span><span>style</span>=<span>"text-align: center; background: #cccccc; font-weight: bold;"</span>&gt;Function<span><span>td</span>&gt;</span><span>td</span><span>style</span>=<span>"text-align: center; background: #cccccc; font-weight: bold;"</span>&gt;Location<span><span>td</span>&gt;</span><span><span>tr</span>&gt;</span><span>tr</span>&gt;<span>td</span><span>style</span>=<span>"text-align: center;"</span>&gt;0<span><span>td</span>&gt;</span><span>td</span>&gt;Crypt_GPG_Engine-&gt;__construct(Array)<span><span>td</span>&gt;</span><span>td</span>&gt;/usr/local/webdata/andy/fanli/citic/Crypt/GPGAbstract.php in /usr/local/webdata/andy/fanli/citic/Crypt/GPG/Engine.php on line 541</code>
Salin selepas log masuk

命令行输出的错误信息:

<code>PHP Fatal error:  Uncaught PEAR_Exception: gpg<span>-agent</span> binary <span>not</span> found<span>.</span><span>If</span> you are sure the gpg<span>-agent</span> is installed, please specify the location of the gpg<span>-agent</span> binary using the <span>'agent'</span> driver option<span>.</span><span>in</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPGAbstract<span>.</span>php <span>on</span> line <span>278</span><span>#0</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPGAbstract<span>.</span>php(<span>278</span>): Crypt_GPG_Engine<span>-&gt;</span>__construct(<span>Array</span>)
<span>#1</span> /usr/<span>local</span>/webdata/andy/fanli/citic/gpg2<span>.</span>php(<span>9</span>): Crypt_GPGAbstract<span>-&gt;</span>__construct()
<span>#2</span> {main}
  thrown <span>in</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPG/Engine<span>.</span>php <span>on</span> line <span>601</span>Fatal error: Uncaught PEAR_Exception: gpg<span>-agent</span> binary <span>not</span> found<span>.</span><span>If</span> you are sure the gpg<span>-agent</span> is installed, please specify the location of the gpg<span>-agent</span> binary using the <span>'agent'</span> driver option<span>.</span><span>in</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPGAbstract<span>.</span>php <span>on</span> line <span>278</span><span>#0</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPGAbstract<span>.</span>php(<span>278</span>): Crypt_GPG_Engine<span>-&gt;</span>__construct(<span>Array</span>)
<span>#1</span> /usr/<span>local</span>/webdata/andy/fanli/citic/gpg2<span>.</span>php(<span>9</span>): Crypt_GPGAbstract<span>-&gt;</span>__construct()
<span>#2</span> {main}
  thrown <span>in</span> /usr/<span>local</span>/webdata/andy/fanli/citic/Crypt/GPG/Engine<span>.</span>php <span>on</span> line <span>601</span></code>
Salin selepas log masuk

第一个browser中报的错我分析是权限问题,第二个在shell中运行才是其真正的问题所在,根据提示,使用brew安装gpg-agent。

之后我编写代码如下:

<code><span>require_once</span><span>'./Crypt/GPG.php'</span>;

<span>$gpg</span> = <span>new</span> Crypt_GPG();
<span>$key</span> = getKey();
<span>$gpg</span>-&gt;addDecryptKey(<span>'zhangsanfeng'</span>,<span>'123456'</span>);
<span>$encrypted</span> = file_get_contents(<span>'wait_for_decrpyt.txt.gpg'</span>);
<span>$data</span> = <span>$gpg</span>-&gt;decrypt(<span>$encrypted</span>);
<span>echo</span><span>'<pre class="brush:php;toolbar:false">'
Salin selepas log masuk
;var_dump($data);exit;

终于解密成功!!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了调试Crypt_GPG的过程,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Jul 29, 2023 am 08:22 AM

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

10 platform perdagangan cryptocurrency teratas, sepuluh aplikasi platform perdagangan mata wang yang disyorkan 10 platform perdagangan cryptocurrency teratas, sepuluh aplikasi platform perdagangan mata wang yang disyorkan Mar 17, 2025 pm 06:03 PM

10 platform perdagangan cryptocurrency teratas, sepuluh aplikasi platform perdagangan mata wang yang disyorkan

Antara laman web sepuluh teratas yang manakah dalam bulatan mata wang? Antara laman web sepuluh teratas yang manakah dalam bulatan mata wang? Mar 04, 2025 pm 10:54 PM

Antara laman web sepuluh teratas yang manakah dalam bulatan mata wang?

Adakah watch4pro lebih baik atau gt? Adakah watch4pro lebih baik atau gt? Sep 26, 2023 pm 02:45 PM

Adakah watch4pro lebih baik atau gt?

Top 10 kedudukan perisian perdagangan mata wang digital yang mudah digunakan dan boleh dipercayai disyorkan 2025 Top 10 kedudukan perisian perdagangan mata wang digital yang mudah digunakan dan boleh dipercayai disyorkan 2025 Feb 08, 2025 pm 08:15 PM

Top 10 kedudukan perisian perdagangan mata wang digital yang mudah digunakan dan boleh dipercayai disyorkan 2025

See all articles