ZBlogPHP错误Call to undefined function openssl***解决办法

    发布时间:2019-12-17 23:56:36

    阅读量

    后台-系统设置-扩展变量-手机广告位-内容页头部广告位

    由于较新版本ZBlogPHP程序和应用中心插件采用了新机制,最近有很多朋友在启用收费应用时出现openssl_public_encrypt(): Don't know how to get public key from this private key、Call to undefined function openssl_pkey_get_public()等包含openssl字样的错误,这种情况大家会直接怀疑是应用本身的问题,其实不是,今天益吾库就来讲一讲这其中的原因和解决方法。

    出现这些错误提示其实就是PHP环境的OpenSSL扩展模块没有开启,ZBlogPHP系统无法运行收费应用核验程序。实际上,大多主流服务器空间都默认开启了OpenSSL模块,少数未开启情况常见于自配环境(如phpstudy本地环境)。

    OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。

    在PHP环境中如何开启OpenSSL模块?

    Windows操作系统开启方法:

    1:首先在php目录中找到php.ini配置文件,搜索一下;extension=php_openssl.dll是否存在, 如果存在去掉前面的注释符‘;’即可, 如果不存在这行,那么添加extension=php_openssl.dll。

    2:如果没有 php_openssl.dll 这个文件,则需要重新安装较新的完整版环境;

    3:重启apache或iis;

    Linux操作系统开启方法:

    以PHP版本php-5.5.7为例,如果服务器上存在PHP安装包文件最好,如果已经删除,去下载和phpinfo页面显示版本一样的PHP安装文件,如 php-5.5.7.tar.gz,搜狐镜像下载地址为: http://mirrors.sohu.com/php/

    用ssh工具连接到主机

    C

    # 下载到/var/www/php5目录下 cd /var/www/php5 wget http://mirrors.sohu.com/php/php-5.5.7.tar.gz # 解压 tar zxvf php-5.5.7.tar.gz # 进入PHP的openssl扩展模块目录 cd php-5.5.7/ext/openssl/ /var/www/php5/bin/phpize # 这里为你自己的phpize路径,如果找不到,使用whereis phpize查找 # 执行后,发现错误 无法找到config.m4 ,config0.m4就是config.m4。直接重命名 mv config0.m4 config.m4 /var/www/php5/bin/phpize ./configure --with-openssl --with-php-config=/var/www/php5/bin/php-config make make install # 安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =),我这里的目录是 var/www/php5/lib/php/extensions # 编辑php.ini文件,在文件最后添加 extension=openssl.so # 重启Apache即可 /usr/local/apache2/bin/apachectl restart本段代码来自 http://www.yiwuku.com/a/20002.html
    

    至此,已成功添加openssl支持。

    当然,如果没有空间配置权限,则需要联系空间商处理,该模块开启是非常有必要和比较常见的配置。

    后台-系统设置-扩展变量-手机广告位-内容页头部广告位
    留言与评论(共有 0 条评论)
       
    验证码: