xref: /PHP-5.3/README.EXTENSIONS (revision 68925208)
1Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
2that broke both source and binary compatibility.  If you are
3maintaining a third party extension, here's how to update it:
4
5If this was your old module entry:
6
7zend_module_entry foo_module_entry = {
8    "foo",                /* extension name */
9    foo_functions,        /* extension function list */
10    NULL,                 /* extension-wide startup function */
11    NULL,                 /* extension-wide shutdown function */
12    PHP_RINIT(foo),       /* per-request startup function */
13    PHP_RSHUTDOWN(foo),   /* per-request shutdown function */
14    PHP_MINFO(foo),       /* information function */
15    STANDARD_MODULE_PROPERTIES
16};
17
18Here's how it should look if you want your code to build with PHP
194.1.0 and up:
20
21zend_module_entry foo_module_entry = {
22#if ZEND_MODULE_API_NO >= 20010901
23    STANDARD_MODULE_HEADER,
24#endif
25    "foo",                /* extension name */
26    foo_functions,        /* extension function list */
27    NULL,                 /* extension-wide startup function */
28    NULL,                 /* extension-wide shutdown function */
29    PHP_RINIT(foo),       /* per-request startup function */
30    PHP_RSHUTDOWN(foo),   /* per-request shutdown function */
31    PHP_MINFO(foo),       /* information function */
32#if ZEND_MODULE_API_NO >= 20010901
33    FOO_VERSION,          /* extension version number (string) */
34#endif
35    STANDARD_MODULE_PROPERTIES
36};
37
38If you don't care about source compatibility with earlier PHP releases
39than 4.1.0, you can drop the #if/#endif lines.
40