最近项目需求做一个这样的项目要求,之前写php从未涉及过,求教各位:
是否可以将php打包成一个安装包来一键安装(windows环境)
代码加密推荐
授权怎么做?
说白了其实就是想给某机构做一个商用的软件,但是又不希望他复制到其他分部就能用的。
走同样的路,发现不同的人生
1.关于PHP打包
把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代码加密服务.
opcache.file_cache
3.授权
比如可以在加密过的PHP代码里判断$_SERVER['SERVER_NAME'],如果不是授权时绑定的域名,就直接拒绝服务.
$_SERVER['SERVER_NAME']
代码级的加密好像没有很好的,zend guard 这个可以加密代码。。还有就是使用扩展来实现,就是必须要有你这个扩展才能运行,wdlinux的管理系统就是采用这种方式
雷雷
关于加密可以试试这个 :EnPHP加密混淆
关于打包 直接把php的exe和脚本压缩到一个目录 做个bat脚本调用即可
关于限制使用的话,一般可以根据HTTP_HOST ENV 来判断
可以想截图中的对php源码加密, 有需要可以+ 2795934612
1.关于PHP打包
把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']
,如果不是授权时绑定的域名,就直接拒绝服务.代码级的加密好像没有很好的,zend guard 这个可以加密代码。。
还有就是使用扩展来实现,就是必须要有你这个扩展才能运行,wdlinux的管理系统就是采用这种方式
雷雷
关于加密可以试试这个 :EnPHP加密混淆
关于打包 直接把php的exe和脚本压缩到一个目录 做个bat脚本调用即可
关于限制使用的话,一般可以根据HTTP_HOST ENV 来判断
可以想截图中的对php源码加密, 有需要可以+ 2795934612