summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-07-21 08:43:36 +0000
committerDmitry Stogov <dmitry@php.net>2008-07-21 08:43:36 +0000
commitbaab204436f1e8dd92347468a79b6c0342eeea81 (patch)
tree91dd1ad9ed153e317c6dcfe9601a08171cbaa4ec
parent2b5e4d45537b3156b6ca318f588f21eaefa7f180 (diff)
downloadphp-git-baab204436f1e8dd92347468a79b6c0342eeea81.tar.gz
Fixed chdir() into requested file directory inconsistencies
-rw-r--r--main/fopen_wrappers.c3
-rw-r--r--main/main.c4
-rw-r--r--sapi/caudium/caudium.c9
3 files changed, 2 insertions, 14 deletions
diff --git a/main/fopen_wrappers.c b/main/fopen_wrappers.c
index 4acc47e4f2..21a6a59950 100644
--- a/main/fopen_wrappers.c
+++ b/main/fopen_wrappers.c
@@ -425,9 +425,6 @@ PHPAPI int php_fopen_primary_script(zend_file_handle *file_handle TSRMLS_DC)
file_handle->opened_path = expand_filepath(filename, NULL TSRMLS_CC);
- if (!(SG(options) & SAPI_OPTION_NO_CHDIR)) {
- VCWD_CHDIR_FILE(filename);
- }
SG(request_info).path_translated = filename;
file_handle->filename = SG(request_info).path_translated;
diff --git a/main/main.c b/main/main.c
index 2e083712a5..ea7ed5d837 100644
--- a/main/main.c
+++ b/main/main.c
@@ -2027,7 +2027,7 @@ PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC)
PG(during_request_startup) = 0;
- if ((primary_file->type == ZEND_HANDLE_FILENAME || primary_file->type == ZEND_HANDLE_STREAM) && primary_file->filename) {
+ if (primary_file->filename && !(SG(options) & SAPI_OPTION_NO_CHDIR)) {
#if HAVE_BROKEN_GETCWD
/* this looks nasty to me */
old_cwd_fd = open(".", 0);
@@ -2117,7 +2117,7 @@ PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret
PG(during_request_startup) = 0;
- if (primary_file->type == ZEND_HANDLE_FILENAME && primary_file->filename) {
+ if (primary_file->filename && !(SG(options) & SAPI_OPTION_NO_CHDIR)) {
VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1);
VCWD_CHDIR_FILE(primary_file->filename);
}
diff --git a/sapi/caudium/caudium.c b/sapi/caudium/caudium.c
index 9bbd419050..fb77c7d3dd 100644
--- a/sapi/caudium/caudium.c
+++ b/sapi/caudium/caudium.c
@@ -639,15 +639,6 @@ static void php_caudium_module_main(php_caudium_request *ureq)
THREADS_ALLOW();
#endif
-#ifdef VIRTUAL_DIR
- /* Change virtual directory, if the feature is enabled, which is
- * (almost) a requirement for PHP in Caudium. Might want to fail if it
- * isn't. Not a problem though, since it's on by default when using ZTS
- * which we require.
- */
- VCWD_CHDIR_FILE(THIS->filename->str);
-#endif
-
file_handle.type = ZEND_HANDLE_FILENAME;
file_handle.filename = THIS->filename->str;
file_handle.opened_path = NULL;