hi I get interested about the PHP module architecture cos
I get these errors ,

Module compiled with module API=20050922, debug=0, thread-safety=1
PHP    compiled with module API=20060613, debug=0, thread-safety=1

when I trying to load the php_ffi.dll inside the windows. How to
fix this error ? more than that it says that the API number 20050922 and 20060613 are not matching . Can I go to the dll file and open the
dll file using HexEdit and make a surgary if it works ?

Please give me some ideas ?

and a starting point to dig into the php architecture.
and I dig a lot of threads about this problem , never get an answer.. Unanswered. How can I know more details , I really want
to contribute to the PHP project.

Well I have the same annoying error under my php-gtk compilation and as far as I am aware the only way around it is to uninstall the library and recompile the library via command line. But for me since I have about 7 modules with that error it would be just too difficult to recompile them via command line so I simply just ignore those errors unless you are trying to compile a new library.

can I make a surgary into that dll file and change that API date ?
20050922 to 20060613 ? But I think it will break the checksum
of the dll file.

Well I guess you could try updating the module via command line but I don't think it's possible to just edit the dll because what is actually happening is that php has been compiled with the dll as lets say version 2.0. Then what usually happens is that the module or php compilation get updated to another version such as 2.1 for example while the other is the previous version. So in your case as an example, php may be trying to read version 2.1 while your dll is version 2.0. The best way to fix that is to make them match the same version and the best way to make them match is by recompiling the library.