summaryrefslogtreecommitdiff
path: root/README.EXTENSIONS
diff options
context:
space:
mode:
authorStig Bakken <ssb@php.net>2001-10-11 23:33:59 +0000
committerStig Bakken <ssb@php.net>2001-10-11 23:33:59 +0000
commit689252082c2660e2b6fddc674047922d8b2c7845 (patch)
treea6d3a9bff0ae6f205098017ecb84ebb1b1f74460 /README.EXTENSIONS
parent405142087ca9f49f6f480e29541bb3fe05847fe8 (diff)
downloadphp-git-689252082c2660e2b6fddc674047922d8b2c7845.tar.gz
* zend_module_entry change: apino, debug and zts are moved first,
see README.EXTENSIONS file for upgrade help. @Introduced extension version numbers (Stig)
Diffstat (limited to 'README.EXTENSIONS')
-rw-r--r--README.EXTENSIONS39
1 files changed, 39 insertions, 0 deletions
diff --git a/README.EXTENSIONS b/README.EXTENSIONS
new file mode 100644
index 0000000000..51e3b730e7
--- /dev/null
+++ b/README.EXTENSIONS
@@ -0,0 +1,39 @@
+Between PHP 4.0.6 and 4.1.0, the Zend module struct changed in a way
+that broke both source and binary compatibility. If you are
+maintaining a third party extension, here's how to update it:
+
+If this was your old module entry:
+
+zend_module_entry foo_module_entry = {
+ "foo", /* extension name */
+ foo_functions, /* extension function list */
+ NULL, /* extension-wide startup function */
+ NULL, /* extension-wide shutdown function */
+ PHP_RINIT(foo), /* per-request startup function */
+ PHP_RSHUTDOWN(foo), /* per-request shutdown function */
+ PHP_MINFO(foo), /* information function */
+ STANDARD_MODULE_PROPERTIES
+};
+
+Here's how it should look if you want your code to build with PHP
+4.1.0 and up:
+
+zend_module_entry foo_module_entry = {
+#if ZEND_MODULE_API_NO >= 20010901
+ STANDARD_MODULE_HEADER,
+#endif
+ "foo", /* extension name */
+ foo_functions, /* extension function list */
+ NULL, /* extension-wide startup function */
+ NULL, /* extension-wide shutdown function */
+ PHP_RINIT(foo), /* per-request startup function */
+ PHP_RSHUTDOWN(foo), /* per-request shutdown function */
+ PHP_MINFO(foo), /* information function */
+#if ZEND_MODULE_API_NO >= 20010901
+ FOO_VERSION, /* extension version number (string) */
+#endif
+ STANDARD_MODULE_PROPERTIES
+};
+
+If you don't care about source compatibility with earlier PHP releases
+than 4.1.0, you can drop the #if/#endif lines.