mirror of
https://github.com/php/php-src.git
synced 2026-04-12 10:33:11 +02:00
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)
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 INSTALL_IT (the actions performed when "make install" is executed). If they are not specified, they will default to "cgi" and "do nothing," respectively. Additionally, the following m4 macros can be used to influence what is created during "make": PHP_BUILD_SHARED -- build shared target libs/libphp4.so PHP_BUILD_STATIC -- build static target libs/libphp4.a PHP_BUILD_PROGRAM -- build executable php (paths relative to top build dir) Makefile.am: just what you think. Make sure your target is called "libphpsapi_NNN.la", where NNN is the value of PHP_SAPI.