Commit Graph

239 Commits

Author SHA1 Message Date
Sascha Schumann
c95a8f39b9 Merge with php_4_0_4 2000-12-03 08:37:43 +00:00
Sascha Schumann
6c1af20310 Set the exit status from the return value of php_execute_script() 2000-11-22 04:24:04 +00:00
Zeev Suraski
030b707296 Update SAPI modules to interface with the new TSRM.
Enable thread-safety memory debugging in ISAPI when in debug mode
2000-11-18 02:44:04 +00:00
Zeev Suraski
0f7f5c2c0e - Import Jade Nicoletti's transparent gzip encoding support as an output
handler.  Works quite nicely!
- Fix buglets in output buffering
- Add output_handler INI directive
2000-11-13 18:54:37 +00:00
Zeev Suraski
9e40204f00 @- In CGI mode, $HTTP_SERVER_VARS now includes all of the environment variables
@  as well (Zeev)
2000-11-07 18:25:29 +00:00
Zeev Suraski
efd8117fd4 Fixed a bug in $argv and $argc not being properly defined in command-line mode
@- Fixed a bug that prevented $argv and $argc from being defined in the command
@  line version of PHP (Stas)
2000-11-06 09:55:53 +00:00
Stanislav Malyshev
24035faa29 I guess SG(request_info).argv0 and not !SG(request_info).argv0 was an intent, otherwise it doesn't make much sense. 2000-11-06 09:31:48 +00:00
Daniel Beulshausen
5e48df787a use argv[1] if it's given, thanks to Bob Denny <rdenny@dc3.com> 2000-11-03 09:55:54 +00:00
Stanislav Malyshev
3bc3677439 Fix -d functionality 2000-10-31 16:16:57 +00:00
Sascha Schumann
bed7034f92 Unify aborted connection handling 2000-10-29 16:02:40 +00:00
Zeev Suraski
1fd09132c2 Initial steps to move the INI mechanism to the Zend engine 2000-10-29 11:38:26 +00:00
Thies C. Arntzen
825457ae64 update my email. 2000-10-29 09:14:55 +00:00
Sascha Schumann
6ff371d9f7 Leave initializing of auth_(user|password) to php_handle_auth_data(). 2000-10-27 10:31:10 +00:00
Sascha Schumann
b725c6eef3 The CGI RFC allows servers to pass Authorization data to the script,
if the server did not use the information contained therein.

See 6.1.5 and 11.2 of the proposed spec.
2000-10-27 10:26:57 +00:00
Andi Gutmans
2946f87f00 - Fix new -m on Windows 2000-10-26 23:50:17 +00:00
Mathieu Kooiman
717e934a88 Added -m (Shows list of modules) to commandline.. 2000-10-26 22:31:06 +00:00
Frank M. Kromann
878e348ff9 Adding type cast to remove compiler warning 2000-10-20 19:08:59 +00:00
Andi Gutmans
f3232e99c3 - Commit Kristian's PHP 3 patch to PHP 4. Kristian I hope it's also the
same here.
2000-10-11 17:48:44 +00:00
Andi Gutmans
38423a895b - Fix request_uri to take it's value from SCRIPT_NAME if PATH_INFO is not
defined
2000-10-03 13:02:30 +00:00
Andi Gutmans
2622eba31d - Cleanup some output functions 2000-09-30 16:13:48 +00:00
Zeev Suraski
91c808ecc4 Restore the headers_only test to the centralized SAPI startup. If necessary, it can
be overriden in the activate() callback.
2000-09-08 14:43:57 +00:00
Stig Bakken
315f4f5658 @PHP 3 regression testing framework re-born (Stig)
Took the old PHP 3 regression testing framework and rewrote it in PHP.
Should work on both Windows and UNIX, however I have not tested it on
Windows.  See tests/README for how to write tests.  Added the PHP 3
tests and converted most of them.
2000-08-27 19:46:06 +00:00
Stanislav Malyshev
5090b1e8d5 Fix zend_fiel_handle handling. Should fix URL include
and various opened_path inconsistencies.
2000-08-13 18:00:50 +00:00
Stanislav Malyshev
db0872123b Fix crash on broken setups (#5979) 2000-08-05 11:28:32 +00:00
Rasmus Lerdorf
76a2d2538c Heads up! I have moved the headers_only and response_code checks out of
SAPI and down into the individual SAPI modules.  I have made the
appropriate changes in all the SAPI modules, but please verify these.
The reason for this change is that Apache sometimes will feed PHP
a request_method of GET but have r->header_only set to true.  This happens
in an ErrorDocument redirect.  In this same scenario we want to preserve
the status code as well instead of just overwriting it with a 200 and
losing this information.  For now the other sapi modules act exactly as
before since they probably do not make this distinction, and they may
not even have a valid response code this early in the request.
@ Fix HEAD request bug on an Apache ErrorDocument redirect and preserve
@ the status code across the redirect as well.  (Rasmus)
2000-08-02 22:48:45 +00:00
Zeev Suraski
52ff887db5 Made ob_start() and friends reentrant. It's now possible to implement this
long-requested functionality, now that output buffering is re-entrant:

function eval_ret($code)
{
	ob_start();
	eval($code);
	$retval = ob_get_contents();
	ob_end_clean();
	return $retval;
}
2000-07-29 14:46:09 +00:00
Hartmut Holzgraefe
1a7f851985 added '-l' option to command line / CGI version for 'syntax check only'
plus a little cleanup and rearranging in command line option parsing

@ CGI aka. command line version has now an option '-l' for syntax check
@   without execution (Hartmut)
2000-07-28 15:21:20 +00:00
Stanislav Malyshev
4c6ffdb1c2 make -c in stand-alone mode work again.
Setting ini_path after php_module_startup doesn't do much good -
since php_module_startup reads .ini.
# This fix is very ugly. Everyone is welcome to make better fix
# that won't report errors twice and won't scan argument 3 times
2000-07-13 09:17:39 +00:00
Andi Gutmans
85422c3c60 - Extra newline crept in somehow 2000-06-29 13:34:58 +00:00
Andi Gutmans
1f828a6e88 - Fix problem with DICARD_PATH being defined in windows 2000-06-29 13:31:52 +00:00
Andrei Zmievski
4010b422dd Separate plain name returned by php_sapi_module() and pretty name
used for output.
2000-06-26 18:05:55 +00:00
Andi Gutmans
fd11a7e13e - Pray this is an OK fix for the DISCARD_PATH junk 2000-06-26 17:57:03 +00:00
Stanislav Malyshev
378440f7cf Right name for the function persist_alloc 2000-06-26 16:26:20 +00:00
Andi Gutmans
91ed009ae2 - Try two in fixing the problem with memory leaks reporting path_translated 2000-06-26 16:17:58 +00:00
Zeev Suraski
effa42696e - Fix problem with filename being freed before possible memory leaks are
- reported by the memory manager
2000-06-26 15:55:59 +00:00
Stanislav Malyshev
5be54abf24 If we freed it, we might not touch it
# BTW, this is not a real fix - we still might use it
# when reporting memory leaks, but at least we won't reference
# unitialized memory
2000-06-26 12:26:40 +00:00
Andi Gutmans
17ce56825d - Beautify a bit 2000-06-15 22:46:17 +00:00
Andi Gutmans
fcefeee914 - Try and fix crash with CGI.
- Please check out the comment I wrote in init_request_info(). There was a
- lot of code there which was running for no apparent reason. Should it be
- removed or should it actually run?
2000-06-15 22:40:52 +00:00
Andi Gutmans
4c99114a25 - Unncessary SLS_FETCH(); 2000-06-15 21:34:00 +00:00
Sascha Schumann
6caf633cf7 Proper casts 2000-06-13 09:17:06 +00:00
Andi Gutmans
77f4e1c8c7 - This seems to be a bug. Anyone know who wrote this code? Should it stay
- in?
2000-06-10 09:05:22 +00:00
Sascha Schumann
102c6ce4b8 Move main.h to php_main.h. 2000-06-05 23:24:42 +00:00
Andi Gutmans
8c82566b48 - Fix problem in sessions module under Win32. Need to use ; as an options
- delimiter in save_path instead of :.
2000-05-27 16:38:49 +00:00
Zeev Suraski
1895a09749 Only fetch globals if it's necessary (which it usually won't be) 2000-05-25 14:43:30 +00:00
Thies C. Arntzen
e319b5f6a5 @- ignore_user_abort() & friends should now work in CGI mode as well.
@  (Patch by daniel.braun@ercom.fr)
2000-05-25 07:01:34 +00:00
Hartmut Holzgraefe
22bfb799a7 -i, -v, -h and -? execution pathes didn't flush the output buffer
on exit, resultiong in no output at all when "output-buffering=On"
( BUG id#3420 )
2000-05-22 22:49:18 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Andi Gutmans
0d194ec80b - Fix problem with sapi_globals being used before it is initialized. 2000-05-05 07:21:48 +00:00
Andi Gutmans
198537b70f - Make Windows compile again. 2000-05-05 07:18:50 +00:00
Zeev Suraski
0b33ac7627 - Add -z and -g switches to the CGI 2000-05-04 13:42:21 +00:00
Andi Gutmans
9aba6a94d3 - Another PHP_WIN32 patch 2000-04-20 13:43:48 +00:00
Andi Gutmans
f9e9cab7ac - Change to PHP_WIN32 2000-04-20 13:23:19 +00:00
Thies C. Arntzen
0540bbe5af improve fix 2000-04-20 07:35:22 +00:00
Frank M. Kromann
429cf808e6 SIGPIPE is unknown on WIN32 platforms 2000-04-19 17:28:23 +00:00
Thies C. Arntzen
19a9577901 ignore SIGPIPE in standalone-mode so that one can actually use fsockopen() *and* have the remote side close the socket whithout PHP dying! 2000-04-19 15:37:43 +00:00
Sascha Schumann
bb09ee9505 Use sprintf everywhere and define sprintf to php_sprintf, if sprintf is broken. 2000-03-12 17:18:21 +00:00
Sascha Schumann
caeaaf4d98 Fix build on systems which lack snprintf or vsnprintf.
PR: #3786
2000-03-12 15:47:34 +00:00
Zeev Suraski
1261271839 Allow the INI callbacks to know at what stage PHP is 2000-02-26 15:36:23 +00:00
Thies C. Arntzen
b7e53b12f6 compile-fix 2000-02-21 14:01:19 +00:00
Zeev Suraski
86fa2aade2 the pipe is breaking all the time 2000-02-19 23:41:32 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Andi Gutmans
f9e0d94a65 - Baby steps with PHP_WIN32 :) 2000-02-11 12:56:54 +00:00
Zeev Suraski
6723bdd920 request_info.c is giving up 2000-02-10 20:03:17 +00:00
Zeev Suraski
6d0ab6166c SAPIfication, Episode VI: Return of the SAPI
Remove mostly all references to APACHE and CGI_BINARY from the code.

- Apache include files are no longer included by any PHP code, except for the Apache SAPI module.
- No server specific code is in any of the base PHP code.

Still left to be done:
- Eliminate any references to APACHE from the few remaining modules.
- Move request_info.c's logic to SAPI
- Modify the regex function names, and globals, so that we can always
  include them, without having to fear any interference with Apache;
  Always use the bundled regex library
2000-02-10 19:41:21 +00:00
Zeev Suraski
5bdd18caf1 Yes, you guessed it... More cleanup 2000-02-10 18:44:33 +00:00
Zeev Suraski
0fd89aa20d More cleanup - move getenv() to SAPI 2000-02-10 17:55:01 +00:00
Zeev Suraski
7d926a0e0c More cleanup... 2000-02-10 17:26:57 +00:00
Andrei Zmievski
681f352a9d Should be 'deactivate' rather than the opposite. 2000-02-10 16:48:22 +00:00
Zeev Suraski
073b148167 More abstraction 2000-02-10 16:44:59 +00:00
Zeev Suraski
59b53ea2c8 Always use getopt with CGI, never use it for anything else 2000-02-10 16:27:28 +00:00
Zeev Suraski
404bbe1f26 Move the logging mechanism to SAPI 2000-02-10 15:55:10 +00:00
Zeev Suraski
b2449f929c - Change the argument order of php_register_variable() to something more
intuitive.
- Make the authentication variables be a part of the HTTP_SERVER_VARS[] array
2000-01-29 11:55:44 +00:00
Zeev Suraski
99f079a349 - A few fixes
- Added register_argv_argc directive to allow disabling of argv/argc
2000-01-28 18:29:37 +00:00
Zeev Suraski
9ab35ae393 Tried to centralize global variable registration as much as possible:
- Added $HTTP_ENV_VARS[] and $HTTP_SERVER_VARS[] support, which similarly
  to $HTTP_GET_VARS[], contain environment and server variables.  Setting
  register_globals to Off will now also prevent registration of the
  environment and server variables into the global scope (Zeev)
- Renamed gpc_globals to register_globals (Zeev)
- Introduced variables_order that deprecates gpc_order, and allows control
  over the server and environment variables, in addition to GET/POST/Cookies
  (Zeev)
2000-01-28 17:24:53 +00:00
Zeev Suraski
972631be71 - Added flush() support to SAPI
- Got rid of the old flush() implemenetation in favour of the new one
- Added implicit_flush() support to the output buffering layer.
@- Added implicit_flush() to control whether flush() should be called
@  implicitly after any output (Zeev)
2000-01-13 17:37:25 +00:00
Sascha Schumann
43ae2bffbb Happy Y2K patch! Happy new year (or the new millennium, depending on whether
you start counting at 0 or 1).
2000-01-01 01:32:05 +00:00
Zeev Suraski
b640c27a08 @- Fixed -c support in the standalone CGI binary (Zeev)
Fixed -c support in the standalone CGI binary (Zeev)
1999-12-27 21:21:26 +00:00
Sascha Schumann
ed0a307ccd Use sapi_module_struct to contain SAPI module name 1999-12-20 23:09:54 +00:00
Zeev Suraski
a3c6514332 More php3_ annihilation 1999-12-17 19:51:39 +00:00
Zeev Suraski
02d3b39420 More php3_ annihilation 1999-12-17 19:16:50 +00:00
Sascha Schumann
4a60eed469 Fix some warnings 1999-12-05 16:25:32 +00:00
Sascha Schumann
5b983c944f Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.
1999-12-04 19:19:57 +00:00
Sascha Schumann
8713ce5d38 Remove code references to serverapi 1999-12-04 18:06:15 +00:00
Zeev Suraski
da5464b145 - zend_file_handles must now flag whether their .filename property should be
free by Zend or not (uses e*() functions)
1999-12-04 13:25:41 +00:00
Andrei Zmievski
9781bf59cb (main) In this special case, free path_translated. Fix for #2795. 1999-11-23 20:25:55 +00:00
Sascha Schumann
2681a6b169 (main) Remove redundant statement, this is part of the initialization
function.
1999-11-23 15:39:09 +00:00
Andi Gutmans
133c95cf8c - It's OK if we link dynamically. 1999-10-16 11:57:52 +00:00
Andi Gutmans
ad84f02efb - Get windows version to compile again. No biggy if array_map is not #if 0'd
out even if it doesn't work.
1999-10-16 10:14:47 +00:00
Stig Bakken
2a854ca8b9 Generalized server-API build process on UNIX. Each SAPI
implementation now has its own directory under sapi/, just like
extensions have theirs under ext/.  To make the final targets appear
in the main dir, the top-level Makefile includes sapi/NN/Makefile.inc
from the selected sapi backend.  This is a plan Makefile stub without
any autoconf substitutions.  Each SAPI backend also has its own
config.m4 like extensions (read at the end of diversion 2) and
config.h.stub files.

Each SAPI backend has to contain:

config.m4: just like for extensions, this file contains
autoconf/automake directives that end up in the configure script.  The
only difference is that the sapi config.m4 files are read in diversion
(output block) 2 instead of 3.  The sapi config.m4 files should set
two variables: PHP_SAPI (which sapi backend to choose) and SAPI_TARGET
(the name of the resulting library or program, previously BINNAME).
If they are not specified, they will default to "cgi" and "php",
respectively.

Makefile.inc: has to exist, has to define "INSTALL_IT" to the command
used to install the final target (or ":" for no operation).  It also
has to define a plain Makefile rule (without autoconf substitutions)
to build $(SAPI_TARGET)

Makefile.am: just what you think.  Make sure your target is called
"libphpsapi_NNN.a", where NNN is the value of PHP_SAPI.

Some testing and fixing probably remains.  To make everything hang
together, I've done some ugly tricks that I can imagine causing some
problems.  I've built and run the CGI version and built the Apache
DSO.
1999-09-27 16:34:28 +00:00