记一次SourceGuardian加密的PHP扩展安装过程 - Go语言中文社区

记一次SourceGuardian加密的PHP扩展安装过程


一、问题描述

 从网上下载了一套PHP聊天室源码,部署在Winserver中的Apache服务器,运行报错如下:

 

打开文件 common.inc.php,发现一串不知所云的代码:

 

报错信息说的是 sg_load 函数没有找到,查找一番资料后,发现 sg_load 是 SourceGuardian 扩展提供的全局函数,运行环境需要这个扩展才能执行这段代码。SourceGuardian 提供 php 源码文件的加密,而运行这些加密 php 文件则需要安装扩展:SourceGuardian loader。

二、SourceGuardian loader 安装过程

浏览器中打开 https://www.sourceguardian.com/loaders/download.php,输入服务器上打印了 phpinfo 信息的 php 文件地址:

 

在线的检查脚本会根据 phpinfo 的信息,提取到 php 版本信息和扩展路径,然后提示你需要的操作。例如它提示我 extension_dir 应设置为绝对路径而非相对路径:

 

那就改呗,在 php.ini 中找到 extension_dir,将原来的相对路径 ./ext 改为绝对路径。重启 Apache 然后重新执行检测:

 

 

到这一步它提示我需要:

  1. 下载 ixed.5.4.win
  2. 安装到 php 扩展的 ext 目录
  3. 在 php.ini 中加载它:extension=ixed.5.4.win
  4. 重启 Apache

全部修改完成后,在 phpinfo 看到了 SourceGuardian 的相关信息,说明扩展已经生效了:

 

满怀期待的再次访问网站。依旧报错,不过这一次不是找不到 sg_load 函数了,而是该扩展不支持 php5.4.45 版本 -_-||

没办法,只好切换 php 版本到5.6,然后重新执行上述步骤,再次访问就一切OK~~

参考:

最后附一个补充文章,如何写一个PHP扩展:https://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend

转载于:https://www.cnblogs.com/tangxuliang/p/9401122.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ddkvo44242/article/details/102299514
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-20 18:38:15
  • 阅读 ( 734 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢