helly Tue Nov 12 15:56:47 2002 EDT
Modified files:
/php4/sapi/cgi cgi_main.c
/php4/sapi/cli php_cli.c
/php4/main php_ini.c SAPI.h
Log:
Implemented -n switch to skip parsing ini at startup as suggested by Wez.
#The switch 'n' was planned to be used for beautifying....delete n to make
#clear these functions do not have a switch yet.
Index: php4/sapi/cgi/cgi_main.c
diff -u php4/sapi/cgi/cgi_main.c:1.189 php4/sapi/cgi/cgi_main.c:1.190
--- php4/sapi/cgi/cgi_main.c:1.189 Tue Nov 12 11:41:14 2002
+++ php4/sapi/cgi/cgi_main.c Tue Nov 12 15:56:46 2002
@@ -406,6 +406,7 @@
#endif
" -C Do not chdir to the script's
directory\n"
" -c <path>|<file> Look for php.ini file in this
directory\n"
+ " -n No php.ini file will be used\n"
" -d foo[=bar] Define INI entry foo with value 'bar'\n"
" -e Generate extended information for
debugger/profiler\n"
" -f <file> Parse <file>. Implies `-q'\n"
@@ -617,6 +618,9 @@
case 'c':
cgi_sapi_module.php_ini_path_override =
strdup(ap_php_optarg);
break;
+ case 'n':
+ cgi_sapi_module.php_ini_ignore = 1;
+ break;
}
}
@@ -884,6 +888,17 @@
free(SG(request_info).argv0);
SG(request_info).argv0 = NULL;
}
+
+ if (cgi_sapi_module.php_ini_path_override &&
+cgi_sapi_module.php_ini_ignore) {
+ no_headers = 1;
+ php_output_startup();
+ php_output_activate(TSRMLS_C);
+ SG(headers_sent) = 1;
+ php_printf("You cannot use both -n and -c switch. Use
+-h for help.\n");
+ php_end_ob_buffers(1 TSRMLS_CC);
+ exit(1);
+ }
+
while ((c = ap_php_getopt(argc, argv, OPTSTRING)) != -1) {
switch (c) {
@@ -960,7 +975,7 @@
break;
#if 0 /* not yet operational, see also below ... */
- case 'n': /* generate indented source mode*/
+ case '': /* generate indented source mode*/
behavior=PHP_MODE_INDENT;
break;
#endif
Index: php4/sapi/cli/php_cli.c
diff -u php4/sapi/cli/php_cli.c:1.49 php4/sapi/cli/php_cli.c:1.50
--- php4/sapi/cli/php_cli.c:1.49 Tue Nov 5 17:04:12 2002
+++ php4/sapi/cli/php_cli.c Tue Nov 12 15:56:46 2002
@@ -264,6 +264,7 @@
" %s [options] [-- args...]\n"
" -a Run interactively\n"
" -c <path>|<file> Look for php.ini file in this
directory\n"
+ " -n No php.ini file will be used\n"
" -d foo[=bar] Define INI entry foo with value
'bar'\n"
" -e Generate extended information for
debugger/profiler\n"
" -f <file> Parse <file>.\n"
@@ -423,8 +424,10 @@
case 'c':
cli_sapi_module.php_ini_path_override = strdup(ap_php_optarg);
break;
+ case 'n':
+ cli_sapi_module.php_ini_ignore = 1;
+ break;
}
-
}
ap_php_optind = orig_optind;
ap_php_optarg = orig_optarg;
@@ -479,6 +482,13 @@
zend_uv.html_errors = 0; /* tell the engine we're in non-html mode */
+ if (cli_sapi_module.php_ini_path_override &&
+cli_sapi_module.php_ini_ignore) {
+ SG(headers_sent) = 1;
+ SG(request_info).no_headers = 1;
+ PUTS("You cannot use both -n and -c switch. Use -h for
+help.\n");
+ exit(1);
+ }
+
while ((c = ap_php_getopt(argc, argv, OPTSTRING)) != -1) {
switch (c) {
@@ -561,7 +571,7 @@
break;
#if 0 /* not yet operational, see also below ... */
- case 'n': /* generate indented source mode*/
+ case '': /* generate indented source mode*/
if (behavior == PHP_MODE_CLI_DIRECT) {
param_error = "Source indenting only works for
files.\n";
break;
Index: php4/main/php_ini.c
diff -u php4/main/php_ini.c:1.105 php4/main/php_ini.c:1.106
--- php4/main/php_ini.c:1.105 Thu Oct 24 09:14:45 2002
+++ php4/main/php_ini.c Tue Nov 12 15:56:47 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_ini.c,v 1.105 2002/10/24 13:14:45 sas Exp $ */
+/* $Id: php_ini.c,v 1.106 2002/11/12 20:56:47 helly Exp $ */
/* Check CWD for php.ini */
#define INI_CHECK_CWD
@@ -340,32 +340,34 @@
fh.handle.fp = NULL;
/* Check if php_ini_path_override is a file */
- if (sapi_module.php_ini_path_override && sapi_module.php_ini_path_override[0])
{
- struct stat statbuf;
-
- if (!VCWD_STAT(sapi_module.php_ini_path_override, &statbuf)) {
- if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) {
- fh.handle.fp =
VCWD_FOPEN(sapi_module.php_ini_path_override, "r");
- fh.filename = sapi_module.php_ini_path_override;
+ if (!sapi_module.php_ini_ignore) {
+ if (sapi_module.php_ini_path_override &&
+sapi_module.php_ini_path_override[0]) {
+ struct stat statbuf;
+
+ if (!VCWD_STAT(sapi_module.php_ini_path_override, &statbuf)) {
+ if (!((statbuf.st_mode & S_IFMT) == S_IFDIR)) {
+ fh.handle.fp =
+VCWD_FOPEN(sapi_module.php_ini_path_override, "r");
+ fh.filename =
+sapi_module.php_ini_path_override;
+ }
}
}
- }
- /* Search php-%sapi-module-name%.ini file in search path */
- if (!fh.handle.fp) {
- const char *fmt = "php-%s.ini";
- char *ini_fname=emalloc(strlen(fmt)+strlen(sapi_module.name));
- sprintf(ini_fname, fmt, sapi_module.name);
- fh.handle.fp = php_fopen_with_path(ini_fname, "r",
php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
- efree(ini_fname);
- if (fh.handle.fp) {
- fh.filename = php_ini_opened_path;
+ /* Search php-%sapi-module-name%.ini file in search path */
+ if (!fh.handle.fp) {
+ const char *fmt = "php-%s.ini";
+ char *ini_fname=emalloc(strlen(fmt)+strlen(sapi_module.name));
+ sprintf(ini_fname, fmt, sapi_module.name);
+ fh.handle.fp = php_fopen_with_path(ini_fname, "r",
+php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
+ efree(ini_fname);
+ if (fh.handle.fp) {
+ fh.filename = php_ini_opened_path;
+ }
}
- }
- /* Search php.ini file in search path */
- if (!fh.handle.fp) {
- fh.handle.fp = php_fopen_with_path("php.ini", "r",
php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
- if (fh.handle.fp) {
- fh.filename = php_ini_opened_path;
+ /* Search php.ini file in search path */
+ if (!fh.handle.fp) {
+ fh.handle.fp = php_fopen_with_path("php.ini", "r",
+php_ini_search_path, &php_ini_opened_path TSRMLS_CC);
+ if (fh.handle.fp) {
+ fh.filename = php_ini_opened_path;
+ }
}
}
if (free_ini_search_path) {
@@ -390,7 +392,7 @@
efree(php_ini_opened_path);
php_ini_opened_path = zend_strndup(Z_STRVAL(tmp),
Z_STRLEN(tmp));
}
- }
+ }
/* If the config_file_scan_dir is set at compile-time, go and scan this
directory and
* parse any .ini files found in this directory. */
Index: php4/main/SAPI.h
diff -u php4/main/SAPI.h:1.86 php4/main/SAPI.h:1.87
--- php4/main/SAPI.h:1.86 Tue Nov 12 13:29:11 2002
+++ php4/main/SAPI.h Tue Nov 12 15:56:47 2002
@@ -218,6 +218,8 @@
void (*default_post_reader)(TSRMLS_D);
void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC);
char *executable_location;
+
+ int php_ini_ignore;
};
@@ -251,7 +253,7 @@
SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader);
SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data);
-#define STANDARD_SAPI_MODULE_PROPERTIES NULL, NULL
+#define STANDARD_SAPI_MODULE_PROPERTIES NULL, NULL, 0
#endif /* SAPI_H */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php