diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /sapi/apache2handler/README | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'sapi/apache2handler/README')
-rw-r--r-- | sapi/apache2handler/README | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/sapi/apache2handler/README b/sapi/apache2handler/README new file mode 100644 index 0000000..5cbd1b9 --- /dev/null +++ b/sapi/apache2handler/README @@ -0,0 +1,76 @@ +WHAT IS THIS? + + This module exploits the layered I/O support in Apache 2.0. + +HOW DOES IT WORK? + + In Apache 2.0, you have handlers which generate content (like + reading a script from disk). The content goes then through + a chain of filters. PHP can be such a filter, so that it processes + your script and hands the output to the next filter (which will + usually cause a write to the network). + +DOES IT WORK? + + Currently the issues with the module are: + * Thread safety of external PHP modules + * The lack of re-entrancy of PHP. due to this I have disabled the 'virtual' + function, and tried to stop any method where a php script can run another php + script while it is being run. + + +HOW TO INSTALL + + This SAPI module is known to work with Apache 2.0.44. + + $ cd apache-2.x + $ cd src + $ ./configure --enable-so + $ make install + + For testing purposes, you might want to use --with-mpm=prefork. + (Albeit PHP also works with threaded MPMs. See Thread Safety note above) + + Configure PHP 4: + + $ cd php-4.x + $ ./configure --with-apxs2=/path/to/apache-2.0/bin/apxs + $ make install + + At the end of conf/httpd.conf, add: + + AddType application/x-httpd-php .php + + If you would like to enable source code highlighting functionality add: + + AddType application/x-httpd-php-source .phps + + That's it. Now start bin/httpd. + +HOW TO CONFIGURE + + The Apache 2.0 PHP module supports a new configuration directive that + allows an admin to override the php.ini search path. For example, + place your php.ini file in Apache's ServerRoot/conf directory and + add this to your httpd.conf file: + + PHPINIDir "conf" + +DEBUGGING APACHE AND PHP + + To debug Apache, we recommened: + + 1. Use the Prefork MPM (Apache 1.3-like process model) by + configuring Apache with '--with-mpm=prefork'. + 2. Start httpd using -DONE_PROCESS (e.g. (gdb) r -DONE_PROCESS). + + If you want to debug a part of the PHP startup procedure, set a + breakpoint on 'load_module'. Step through it until apr_dso_load() is + done. Then you can set a breakpoint on any PHP-related symbol. + +TODO + + PHP functions like apache_sub_req (see php_functions.c) + Source Code Highlighting + Protocol handlers + |