#include "zend_operators.h"
#include <sys/stat.h>
+#define SAPI_OPTION_NO_CHDIR 1
+
#define SAPI_POST_BLOCK_SIZE 4000
#ifdef PHP_WIN32
char *default_charset;
HashTable *rfc1867_uploaded_files;
long post_max_size;
+ int options;
} sapi_globals_struct;
STR_FREE(SG(request_info).path_translated); /* for same reason as above */
return NULL;
}
- V_CHDIR_FILE(filename);
+ if (!(SG(options) & SAPI_OPTION_NO_CHDIR)) {
+ V_CHDIR_FILE(filename);
+ }
SG(request_info).path_translated = filename;
return fp;
extern char *ap_php_optarg;
extern int ap_php_optind;
-#define OPTSTRING "ac:d:ef:g:hilmnqs?vz:"
+#define OPTSTRING "aCc:d:ef:g:hilmnqs?vz:"
static int _print_module_info ( zend_module_entry *module, void *arg ) {
php_printf("%s\n", module->name);
" -s Display colour syntax highlighted source.\n"
" -f <file> Parse <file>. Implies `-q'\n"
" -v Version number\n"
+ " -C Do not chdir to the script's directory\n"
" -c <path> Look for php.ini file in this directory\n"
#if SUPPORT_INTERACTIVE
" -a Run interactively\n"
#endif
break;
- case 'd': /* define ini entries on command line */
+ case 'C': /* don't chdir to the script directory */
+ SG(options) |= SAPI_OPTION_NO_CHDIR;
+ break;
+ case 'd': /* define ini entries on command line */
define_command_line_ini_entry(ap_php_optarg);
break;