把PHP解释器和PHP项目打包成一个安装包完全没有问题的,我甚至把PHP解释器打包到Android手机上跑都没问题.因为PHP官方提供了Windows版本的二进制包,所以连自己编译这一步都省了,为了精简PHP解释器,你可以把你不需要的扩展都删除掉,比如intl扩展及其依赖的ICU,精简后打包估计解释器能小于5个MB.因为PHP内置了HTTP服务器和SQLite数据库,所以客户端连Apache和MySQL也不依赖了,直接就能跑PHP项目,而且还省资源.
2.关于PHP代码保护
PHP7的opcache支持用opcache.file_cache导出PHP脚本对应的二进制opcode,这些opcode是跟操作系统和PHP解释器版本相关的,能起到一定的代码保护的作用.另外,Zend
Guard和ionCube也提供了付费的PHP代码加密服务.
3.授权
比如可以在加密过的PHP代码里判断$_SERVER['SERVER_NAME'],如果不是授权时绑定的域名,就直接拒绝服务.如果还有什么不懂不明白的,你可以和我在后盾人看看教材找找答案,时间久了,就都清楚了,希望能帮到你
1. 下载 Zend Guard Loader 压缩包。2. 解压并提取 ZendGuardLoader.so(Linux)或 ZendLoader.dll(Windows),对应你的PHP版本。
3. 在你的 php.ini 文件添加下面一行,用来加载 Zend Guard Loader:
Linux 和 Mac OS X: zend_extension = 完整路径/ZendGuardLoader.soWindows(非线程安全): zend_extension = 完整路径/ZendLoader.dll
4. 在 php.ini 额外新增一行,启用 Zend Guard Loader:
zend_loader.enable = 1
5. 可选:可以在 php.ini 文件添加以下行到 Zend Guard Loader 配置位置:
禁用许可证检查(为了性能的原因)zend_loader.disable_licensing = 0
让 Zend Guard Loader 支持混淆级别。级别在 Zend Guard 的官方详细文档。 0 - 不启用混淆zend_loader.obfuscation_level_support = 3
从这个路径寻找Zend产品授权的产品许可证。欲了解更多有关如何创建一个许可证文件的信息,请参阅 Zend Guard 用户指南.zend_loader.license_path =
6. 如果您使用 Zend debugger,请确保加载 Zend guard Loader。
7. 如果您使用 ioncube loader,请务必在它之前加载 Zend guard Loader。
8. 重新启动Web服务器。
总结一下,在php.ini中加的语句如下:【Linux 和 Mac OS X环境下】zend_extension="/usr/lib/php/modules/ZendGuardLoader.so" (替换成自己的ZendGuardLoader.so路径)zend_loader.enable=1zend_loader.disable_licensing=0zend_loader.obfuscation_level_support=3
【Windows环境下】zend_extension="c:/php/ZendLoader.dll" (替换成自己的ZendGuardLoader.so路径)zend_loader.enable=1zend_loader.disable_licensing=0zend_loader.obfuscation_level_support=3
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)