Patch inipath_patch53 for *Configuration Issues Bug #51536
Patch version 2010-05-01 18:33 UTC
Return to Bug #51536 |
Download this patch
Patch Revisions:
Developer: ksingla@php.net
Index: php_ini.c
===================================================================
--- php_ini.c (revision 298105)
+++ php_ini.c (working copy)
@@ -395,6 +395,7 @@
char *binary_location;
static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 };
#ifdef PHP_WIN32
+ HMODULE hmodule;
char *reg_location;
#endif
@@ -443,7 +444,24 @@
/* Add binary directory */
#ifdef PHP_WIN32
+ /* Add location where php is installed */
binary_location = (char *) emalloc(MAXPATHLEN);
+
+ hmodule = GetModuleHandle(PHP_DLLNAME);
+ if (hmodule != NULL) {
+ if(GetModuleFileName(hmodule, binary_location, MAXPATHLEN) != 0) {
+ char *separator_location = strrchr(binary_location, DEFAULT_SLASH);
+
+ if (separator_location && separator_location != binary_location) {
+ *(separator_location) = 0;
+ }
+ if (*php_ini_search_path) {
+ strlcat(php_ini_search_path, paths_separator, search_path_size);
+ }
+ strlcat(php_ini_search_path, binary_location, search_path_size);
+ }
+ }
+
if (GetModuleFileName(0, binary_location, MAXPATHLEN) == 0) {
efree(binary_location);
binary_location = NULL;
|