Commit Graph
133 Commits
Author SHA1 Message Date
George Schlossnagle ef4573eaf2 white space changes (s/ /\t/g) 2002-10-23 07:12:13 +00:00
George Schlossnagle c382dbbac6 fixed directory merging 2002-10-23 06:07:07 +00:00
George Schlossnagle d9647606fb fixed return values for php_response_handler 2002-10-09 02:57:33 +00:00
George Schlossnagle b85162590d sync with head. add optional content type param to send_http_header 2002-10-08 02:17:02 +00:00
George Schlossnagle 2306fe934d Cleaned up a bunch of code, fully integrated the class::method handler
code into a single stack per handlers (for correct interleaving).

Changed the syntax so that now they are of the form

phpUriHandler /filename
phpUriHandlerMethod Class::Method

This now works for all handlers including response handlers.
2002-08-30 19:12:28 +00:00
George Schlossnagle b0e2b8604f added the ability to set handlers as class methods (classes will need to be
declared in a phpRequire statemenet, of course, or be otherwise available
at the hook run-time (builtins)).  This is currently only implemented
for the uri trans handler  it is usable as:

phpUriHandlerCodeRef MyClass::MyMethod

This can be greatly robustified from whre it stands now, but is a good proof
of concept (hopefully!)
2002-08-29 20:23:07 +00:00
George Schlossnagle 2bc1d055cb Added wrapper functions for the majority of the apache API_EXPORT functions
as class methods for the ApacheRequest objects.  broke sapi_activate
into two functions to allow for reading of headers/cookies separately
from request bodies (POST stuff).  Altered some of the send_headers code
in mod_php4.c to prevent sending headers twice (since a phpResponseHandler
needs to be able to have full freedom for setting headers using the
ap_*_header* functions.
2002-08-28 18:56:51 +00:00
George Schlossnagle 0a105b4130 added wrapper for ap_send_http_header so that phpResponseHandler is now
working.  Added protections to mod_php4's internal call to the same so
that headers cannot be accidentally sent twice.
2002-08-28 04:37:37 +00:00
George Schlossnagle 22528c9e59 This handler works much better when not commented out. :) 2002-08-28 03:55:42 +00:00
George Schlossnagle 4030dc1224 All handlers are now 'stacked' allowing for multiple handlers to be called in the
order they are listed in the httpd.conf for a section.  phpRequire is now supported (called out of the post-read request handler), and a first attempt at phpResponseHandler, a response-time type handler which is set by a

<Location blah>
SetHandler php-script
phpResponseHandler /tmp/foo.php
</Location>

To allow for the stacked handlers, the entirety of zend_stack.c was imported into mod_php4.c.  There is a patch pending to zend_stack.c to add the functionality so that all the redundant code can be removed.
2002-08-27 20:57:09 +00:00
George Schlossnagle b185cac59d Replaced handler loading commands such that what was
php_value uri_handler /tmp/foo.php

is now

phpUriHandler	/tmp/foo.php

This fixes some bugs that caused handlers to be skipped or mysteriously 'unloaded',
reduces the number of calls to zend_alter_ini_entries that are necessary, as well
as allows for easier implementation of stacked handlers (which comes next).

Added 2 new hooks, phpPostReadHandler and phpHeaderHandler (going to the obvious places).
2002-08-27 14:41:53 +00:00
George Schlossnagle f05126e2cf Import of Lukas Schroeder's work to give php a full interface to apache 1.3.x's hook interface, and full class wrappers around the apache request object and it's interfaces. 2002-08-26 20:06:31 +00:00
Rasmus Lerdorf 2797cf1323 Apache request handler hook framework. So far only the uri hook is
implemented, but the others will be easy once I finish the uri translation
example.  The big things left to do is to create a proper $r request
object to be manipulated in user-space and also to verify that the hooks
don't steal the POST data such that it isn't available to the content
handler once it is finally called.  Or if we do steal it, make sure it
is somehow available to the content handler later on.

Comments and help with this stuff is more than welcome.  Check out these
files from the 'apache_hooks' branch to play along.
2001-09-06 09:53:34 +00:00
Zeev Suraski 6bba521dd3 API update 2001-08-31 14:34:40 +00:00
Thies C. Arntzen e8e401bc2d ypo;-) 2001-08-14 08:33:21 +00:00
Zeev Suraski 6ecae422c4 Use zend_first_try 2001-08-08 14:01:22 +00:00
Sascha Schumann 8aef193056 more tsrm cleanup 2001-08-05 15:29:47 +00:00
Zeev Suraski 1159c84ab7 - TSRMLS_FETCH work
- whitespace fixes
2001-08-05 01:43:02 +00:00
Sebastian Bergmann b5763a70a6 Remove duplicate TSRMLS_FETCH() call. 2001-08-04 17:02:43 +00:00
Zeev Suraski 12318a2068 Fix Apache/ZTS build 2001-08-01 22:53:26 +00:00
Zeev Suraski d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +00:00
Thies C. Arntzen 5f6e3db13f compile fix 2001-07-30 14:25:29 +00:00
Zeev Suraski 1c25b8dd53 Avoid TSRMLS_FETCH()'s, and clean up a bit of stale extern's and layout on the way 2001-07-30 01:56:43 +00:00
Zeev Suraski d87cc976e1 Redesigned thread safety mechanism - nua nua 2001-07-28 11:36:37 +00:00
Zeev Suraski fe6f8712a4 - Get rid of ELS_*(), and use TSRMLS_*() instead.
- Move to the new ts_allocate_id() API
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:16:41 +00:00
Zeev Suraski 536a53356d Get rid of the redundant global startup code 2001-07-24 20:30:37 +00:00
Sascha Schumann 36be1040eb Use synchronous php_request_shutdown in the standard case and
let the pool cleanup function only become effective, when an
error has occured.

This fixes the problem that the request_conn was already dead
when the request_shutdown was reached.
2001-07-23 01:03:22 +00:00
Zeev Suraski 336004f4bc Improved bailout mechanism, supports nested bailouts a-la try..catch
Note:  You may *not* return directly from a catch block
2001-07-21 14:27:56 +00:00
Rasmus Lerdorf 81e2cf03ac Fix folding and clean up some extensions 2001-06-06 13:06:12 +00:00
Martin Kraemer f2002d3e41 Oops, sorry. I should not have committed this ebcdic fix (which was none) 2001-06-01 12:58:41 +00:00
Martin Kraemer c96d652843 Fix Basic auth (when under PHP control) for EBCDIC platforms 2001-05-23 15:24:53 +00:00
Sterling Hughes 0492f086e7 # Revert the SLS_FETCH() ;) 2001-05-16 18:28:18 +00:00
Sterling Hughes 2d84ecbba8 Remove redundancy
# And further fix problem ;)
2001-05-16 18:15:49 +00:00
Sterling Hughes 4565812470 fix windows build.
#untested
2001-05-16 18:10:06 +00:00
Zeev Suraski 260b4d0dbf Merge memory usage into memory limit 2001-05-16 15:02:30 +00:00
Daniel Beulshausen e1a9871337 add missing apls_fetch 2001-05-16 09:01:20 +00:00
Zeev Suraski d1845fb138 Move the initialization to a safer place (earlier, it could end up
not being reset to 0 under certain circumstances)
2001-05-15 14:55:42 +00:00
Zeev Suraski 0113263991 Safer detection of recursive PHP invocations 2001-05-13 09:03:46 +00:00
Thies C. Arntzen 169febcdf0 @- Added --enable-memory-usage-info. This creates a new Apache 1.x logging
@  directive "{mod_php_memory_usage}n" which will log the peak amount of
@  memory used by the script. (Thies)
2001-05-11 18:17:08 +00:00
Zeev Suraski 910e9d068c whitespace 2001-05-07 22:02:44 +00:00
Zeev Suraski d229f82a46 Allow virtual() of PHP files. We may have to improve the detection code a
bit, but it worked well on everything I tried.
2001-05-07 11:07:22 +00:00
Stanislav Malyshev 5c1f7a2f60 Fix off-by-one on config values set from Apache config
# It didn't really hurt, since the extra character was always \0,
# but the phpinfo() display came out ugly.
2001-03-13 18:39:38 +00:00
Zeev Suraski 800950c5a7 Avoid using ret uninitialized 2001-03-06 15:10:53 +00:00
Zeev Suraski 559c254f8f Avoid writing to error_log in case of aborted connections. 2001-03-06 15:00:08 +00:00
Andi Gutmans eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Rasmus Lerdorf 0d0a8f55d6 Kill warning 2001-01-22 01:13:49 +00:00
Zeev Suraski 3793dc18f2 Sigh. Even less sleep than I thought :) Really fix it this time. 2001-01-22 01:10:21 +00:00
Zeev Suraski 9a02c9993d Too much work, not enough sleep... Fix hash lookup 2001-01-22 01:08:28 +00:00
Zeev Suraski 6255a24f1c Don't overwrite PATH_TRANSLATED if it exists 2001-01-22 00:06:52 +00:00
Zeev Suraski 43a7643453 Fix last couple of problematic execution paths that could corrupt the INI values 2001-01-03 22:45:11 +00:00