我在我的ubuntuphp5.6和php7上安装了两个版本的php。5.6被设置为活动版本。现在,我尝试使用下面的代码来安装GPG,并将其安装在/etc/php/7.0目录下。
sudo apt-get install php-gnupg如何为php5.6安装它?
发布于 2017-02-10 12:01:36
Php5.6的扩展dir是/usr/lib/php/20131226,php7.0的扩展dir是/usr/lib/php/20151012,如下命令所示:
php -r "print phpinfo();" | grep "extension_dir"Pecl在/usr/lib/php/20131226/gnupg.so中安装gnupg,因为当PHP5.6启用时已安装了pecl
pecl list-files gnupg结论:PHP7.0使用的扩展目录与安装gnupg的位置不同。
首先尝试,它没有工作,:在指向PHP5.6中的gnup.so的PHP7.0扩展目录中为gnup.so创建符号链接
sudo ln -s /usr/lib/php/20131226/gnupg.so /usr/lib/php/20151012/gnupg.so导致
Warning: PHP Startup: gnupg: Unable to initialize module
Module compiled with module API=20131226
PHP compiled with module API=20151012第二次尝试也没有运行:
sudo pecl uninstall gnupgsudo pecl install gnupg给出相同的编译错误。
终解
安装使用PHP7.0的gnupg编译版本:参见php 医生来了
检查gnupg是否已安装
php -r 'var_dump(function_exists("gnupg_decrypt"));';https://stackoverflow.com/questions/40259674
复制相似问题