summaryrefslogtreecommitdiff
path: root/Zend/zend_extensions.c
diff options
context:
space:
mode:
authorFrancois Laupretre <francois@php.net>2017-07-13 14:27:19 +0200
committerAnatol Belski <ab@php.net>2017-07-13 14:27:19 +0200
commit0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7 (patch)
tree8c054f98a3d9db3d728bcfd33ff8a00b70b28efb /Zend/zend_extensions.c
parent613102bd678ab72fca412ce089e942bc33eb4046 (diff)
downloadphp-git-0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7.tar.gz
Fixed bug #74866 extension_dir = "./ext" now use current directory for base
Diffstat (limited to 'Zend/zend_extensions.c')
-rw-r--r--Zend/zend_extensions.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c
index ceda2a3e8d..e556eb07bc 100644
--- a/Zend/zend_extensions.c
+++ b/Zend/zend_extensions.c
@@ -29,8 +29,6 @@ int zend_load_extension(const char *path)
{
#if ZEND_EXTENSIONS_SUPPORT
DL_HANDLE handle;
- zend_extension *new_extension;
- zend_extension_version_info *extension_version_info;
handle = DL_LOAD(path);
if (!handle) {
@@ -43,6 +41,22 @@ int zend_load_extension(const char *path)
#endif
return FAILURE;
}
+ return zend_load_extension_handle(handle, path);
+#else
+ fprintf(stderr, "Extensions are not supported on this platform.\n");
+/* See http://support.microsoft.com/kb/190351 */
+#ifdef ZEND_WIN32
+ fflush(stderr);
+#endif
+ return FAILURE;
+#endif
+}
+
+int zend_load_extension_handle(DL_HANDLE handle, const char *path)
+{
+#if ZEND_EXTENSIONS_SUPPORT
+ zend_extension *new_extension;
+ zend_extension_version_info *extension_version_info;
extension_version_info = (zend_extension_version_info *) DL_FETCH_SYMBOL(handle, "extension_version_info");
if (!extension_version_info) {
@@ -62,7 +76,6 @@ int zend_load_extension(const char *path)
return FAILURE;
}
-
/* allow extension to proclaim compatibility with any Zend version */
if (extension_version_info->zend_extension_api_no != ZEND_EXTENSION_API_NO &&(!new_extension->api_no_check || new_extension->api_no_check(ZEND_EXTENSION_API_NO) != SUCCESS)) {
if (extension_version_info->zend_extension_api_no > ZEND_EXTENSION_API_NO) {