欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

加密的sqlite3扩展DLL文件

程序员文章站 2022-05-11 22:36:52
...
扩展 加密 SQLite3 PHP 源代码 从网上下了很多说是已经实现了加密的sqlite3源码,也下了wxsqlite3里sqlite3的源码,自己的编译方式是用vc8的命令行把源码放在php源码里编译生成DLL,(还有一个小问题,VC编译出来的DLL PHP用不了,看来DLL文件也是给谁用就得用谁生成吗)由于不会C的原因所以报错的代码直接淘汰了,而生成成功的DLL文件却一直没有发现有加密功能(调用函数查看了里面所有的方法)。感觉似乎不应该是源码的问题,可能还有哪些地方没有修改到?或者说因为是编译成为php使用的DLL,所以相应的要添加一些PHP有关的内容?本人小白,如果有大神会从编译的就最好不过了,已经实现了加密的php的sqlite3扩展也感激不尽~

回复讨论(解决方案)

“ 还有一个小问题,VC编译出来的DLL PHP用不了”
用不了?PHP很少可以说基本上不会直接用DLL。说实话不是很清楚楼主描述

“ 还有一个小问题,VC编译出来的DLL PHP用不了”
用不了?PHP很少可以说基本上不会直接用DLL。说实话不是很清楚楼主描述

http://blog.sina.com.cn/s/blog_6b36735b0100rroh.html 这里是我命令行编译参考的东西。。。
和就是说同样的代码上面的网址的方法编译出来PHP能调用,但VC编译出来就运行的时候就提示可能不是一个PHP扩展文件。

在 window 中编译 php 扩展,是需要下载支撑包的(不是什么都开源的)
并且需要注意 VC 的版本
php5.2 VC6
php5.3、php5.4 VC9
php5.5 VC11
版本不同,动态链接库的入口地址也不同
如果需要修改源码,那么必须遵守 php 扩展的规范

在 window 中编译 php 扩展,是需要下载支撑包的(不是什么都开源的)
并且需要注意 VC 的版本
php5.2 VC6
php5.3、php5.4 VC9
php5.5 VC11
版本不同,动态链接库的入口地址也不同
如果需要修改源码,那么必须遵守 php 扩展的规范

动态链接库的入口地址是指我编译不同版本的PHP的扩展的时候,都要修改扩展里相应的动态链接库入口地址是吗? 那这样的话不会C就不可能自己编译出扩展了啊。。。我完全不会C

完全不会C,自然就不能自己写或修改源码了
但环境配置正确,编译现成的代码也还是可以的

由于 php for window 不是全部开源的,其核心库是预编译的
所以如果 VC 编译器不配套的话,就无法运行成功

由于 php for window 不是全部开源的,其核心库是预编译的
所以如果 VC 编译器不配套的话,就无法运行成功

我从源码编译也要看VC版本吗,运行不成功是指什么呢?PHP源码我已经编译过了配置在apache上能够用啊。我看到PHP源码里的扩展的文件夹里除了多出几个PHP开头的C文件,还有很多C之外的东西,感觉用VC编译出来的DLL(版本没有错误的前提)是因为少了这些文件所以才会弹提示说这不是一个PHP扩展。

另外我看到很多人说wxsqlite3的实现不错,大哥你用过吗

1、你编译的源码需要是 php 扩展的 c 源码,而非供 window 用的 c 源码
2、不清楚你说“PHP源码我已经编译过了配置在apache上能够用啊”的含义

1、你编译的源码需要是 php 扩展的 c 源码,而非供 window 用的 c 源码
2、不清楚你说“PHP源码我已经编译过了配置在apache上能够用啊”的含义

http://www.boilingbit.com/blog/windows%E4%B8%8B%E7%BC%96%E8%AF%91php/
我说的编译大概是上面那的网址的那么回事,就是说编译好后配置上apache然后能够解析我写的PHP文件。

第一条我懂了,就是说下下来的源码是windows用的,而要编译出PHP用的DLL的话,这些源码还需要进一步修改,是吗

对!c 的源码需配上 php 接口
你能给出你的 c 源码的地址吗

对!c 的源码需配上 php 接口
你能给出你的 c 源码的地址吗

http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/

说实话源码下了很多,但看到大家用的开源的加密的C源码的话大多是这里的,我觉得把这个搞出来靠谱一点。。。