summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-08-28 23:06:07 +0000
committerZeev Suraski <zeev@php.net>1999-08-28 23:06:07 +0000
commita27ed294dfdf65a08bffc9b41ab10f6c7bcc72ec (patch)
tree87366aad4df476a7cbebd6a334b333929668fa30
parent3a52ee44f527222255475ec8b6d18c84c0625591 (diff)
downloadphp-git-a27ed294dfdf65a08bffc9b41ab10f6c7bcc72ec.tar.gz
Add -d switch
-rw-r--r--ChangeLog4
-rw-r--r--cgi_main.c40
2 files changed, 33 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d9746bc5c..4b33c61fb7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@ PHP 4.0 CHANGE LOG ChangeLog
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ?? 1999, Version 4.0 Beta 3
+- Added -d switch to the CGI binary that allows overriding php.ini values
+ from the command line (Zeev)
- Fixed a crash that would occur if wddx_deserialize did not receive
a valid packet (Andrey)
- Fixed a bugglet when redefining a class at run-time (Andi, Zend library)
@@ -11,7 +13,7 @@ PHP 4.0 CHANGE LOG ChangeLog
- Fixed bug in ISAPI header sending function (Charles)
- Fixed memory leak when using undefined values (Andi & Zeev, Zend library)
- Added output_buffering directive to php.ini, to enable output buffering
- for all PHP scripts (default is off).
+ for all PHP scripts - default is off (Zeev).
- Fixed some more class inheritance issues (Zeev, Zend library)
- Fixed Apache build wrt to shared modules on FreeBSD/Linux (Sascha)
- Added session.extern_referer_chk which checks whether session ids were
diff --git a/cgi_main.c b/cgi_main.c
index 96caa39f16..57735f396f 100644
--- a/cgi_main.c
+++ b/cgi_main.c
@@ -162,17 +162,18 @@ static void php_cgi_usage(char *argv0)
" [-s]"
" [-v] [-i] [-f <file>] | "
"{<file> [args...]}\n"
- " -q Quiet-mode. Suppress HTTP Header output.\n"
- " -s Display colour syntax highlighted source.\n"
- " -f<file> Parse <file>. Implies `-q'\n"
- " -v Version number\n"
- " -c<path> Look for php.ini file in this directory\n"
+ " -q Quiet-mode. Suppress HTTP Header output.\n"
+ " -s Display colour syntax highlighted source.\n"
+ " -f<file> Parse <file>. Implies `-q'\n"
+ " -v Version number\n"
+ " -c<path> Look for php.ini file in this directory\n"
#if SUPPORT_INTERACTIVE
- " -a Run interactively\n"
+ " -a Run interactively\n"
#endif
- " -e Generate extended information for debugger/profiler\n"
- " -i PHP information\n"
- " -h This help\n", prog);
+ " -d foo[=bar] Define INI entry foo with value 'bar'\n"
+ " -e Generate extended information for debugger/profiler\n"
+ " -i PHP information\n"
+ " -h This help\n", prog);
}
@@ -193,6 +194,22 @@ static void init_request_info(SLS_D)
}
+void define_command_line_ini_entry(char *arg)
+{
+ char *name, *value;
+
+ name = arg;
+ value = strchr(arg, '=');
+ if (value) {
+ *value = 0;
+ value++;
+ } else {
+ value = "1";
+ }
+ php_alter_ini_entry(name, strlen(name), value, strlen(value), PHP_INI_SYSTEM);
+}
+
+
int main(int argc, char *argv[])
{
int cgi = 0, c, i, len;
@@ -288,7 +305,7 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
if (!cgi) { /* never execute the arguments if you are a CGI */
request_info.php_argv0 = NULL;
- while ((c = getopt(argc, argv, "c:qvisnaeh?vf:")) != -1) {
+ while ((c = getopt(argc, argv, "cd:qvisnaeh?vf:")) != -1) {
switch (c) {
case 'f':
if (!cgi_started){
@@ -361,6 +378,9 @@ any .htaccess restrictions anywhere on your site you can leave doc_root undefine
php_cgi_usage(argv[0]);
exit(1);
break;
+ case 'd':
+ define_command_line_ini_entry(optarg);
+ break;
default:
break;
}