1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 00:18:23 +02:00

- Don't pick up php.ini from cwd on BSDs

- "Resolve" (with the help of $PATH) to /path/to/php and pick up
	the php.ini from there
This commit is contained in:
Hannes Magnusson
2007-04-25 10:02:23 +00:00
parent 02af1b4a65
commit f1e35024fb
+20 -1
View File
@@ -351,7 +351,26 @@ int php_init_config(TSRMLS_D)
#else
if (sapi_module.executable_location) {
binary_location = (char *)emalloc(PATH_MAX);
if (!realpath(sapi_module.executable_location, binary_location)) {
if (!strchr(sapi_module.executable_location, '/')) {
char *path;
int found = 0;
if ((path = getenv("PATH")) != NULL) {
char *search_dir, search_path[MAXPATHLEN];
while ((search_dir = strsep(&path, ":")) != NULL) {
snprintf(search_path, MAXPATHLEN, "%s/%s", search_dir, sapi_module.executable_location);
if (VCWD_REALPATH(search_path, binary_location) && !VCWD_ACCESS(binary_location, X_OK)) {
found = 1;
break;
}
}
}
if (!found) {
efree(binary_location);
binary_location = NULL;
}
} else if (!VCWD_REALPATH(sapi_module.executable_location, binary_location) || VCWD_ACCESS(binary_location, X_OK)) {
efree(binary_location);
binary_location = NULL;
}