+++ /dev/null
-<!-- X-URL: http://www.php.net/FAQ.php3 -->
-<BASE HREF="http://www.php.net/FAQ.php3">
-
-<HTML>
-<HEAD>
-<TITLE>PHP3: Frequently Asked Questions</TITLE>
-
-
-<SCRIPT LANGUAGE="JavaScript">
-<!--
-var loaded = 0;
-var gotlayers = 0;
-var lastbutton='top';
-
-function popUp(menuName,on) {
-}
-function moveLayers() {
-}
-
-
-
-function change(Name,No) {
-}
-function changebullet(Name,No) {
-}
-function hide() {
-}
-
-
-//--->
-</SCRIPT>
-
-</HEAD>
-
-<BODY MARGINHEIGHT=3 MARGINWIDTH=3 TOPMARGIN=3 LEFTMARGIN=3 BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#5B69A6" VLINK="#5B69A6" ALINK="#00FF00"
-><A NAME="top">
-<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
- <TR valign=top>
- <TD ALIGN=left width=150 BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="150">
- <TR VALIGN=top>
- <TD ALIGN=left>
- <IMG SRC="/gifs/cap-ul.gif" WIDTH=9 HEIGHT=9 BORDER=0><BR>
- <IMG SRC='/gifs/spacer.gif' WIDTH=15 HEIGHT=67 BORDER=0 ALT=' '><A HREF="/index.php3"><IMG SRC="/gifs/logo.gif" ALT="PHP3 Home Page" WIDTH=130 HEIGHT=67 BORDER=0></A><BR>
- <IMG SRC='/gifs/spacer.gif' WIDTH=1 HEIGHT=10 BORDER=0 ALT=' '><BR>
- </TD>
- </TR>
- <TR VALIGN=top>
- <TD ALIGN=left>
- <A HREF="downloads.php3" onMouseover="change('down',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-downloads-p.gif"
- ALT="Downloads"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="down"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="docs.php3" onMouseover="change('docs',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-docs-p.gif"
- ALT="Documentation"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="docs"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="support.php3" onMouseover="change('dev',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-development-p.gif"
- ALT="Getting Help"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="dev"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="news.php3" onMouseover="change('news',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-news-p.gif"
- ALT="PHP News last updated: Jun 10, 1998"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="news"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="projects.php3" onMouseover="change('proj',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-projects-p.gif"
- ALT="Projects using PHP"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="proj"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="links.php3" onMouseover="change('link',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-links-p.gif"
- ALT="PHP Links"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="link"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="mirrors.php3" onMouseover="change('mirr',1); popUp('mirrorsKick',true);"
- ><IMG SRC="/gifs/b-mirror-p.gif"
- ALT="Mirror sites"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="mirr"
- HSPACE=10 VSPACE=0></A><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD align=left width="100%">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=middle BGCOLOR="#5B69A6">
- <TD ALIGN=left>
- <IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '><FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=4><B>Frequently Asked Questions</B></FONT><BR>
- </TD>
- <TD ALIGN=right>
- <IMG SRC="/gifs/b-close-p.gif"
- ALT=""
- WIDTH=1 HEIGHT=1 BORDER=0
- NAME="close"
- HSPACE=0 VSPACE=0><A HREF="/source.php3?page_url=/FAQ.php3" onMouseover="change('sour',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-source-p.gif"
- ALT="View the source code for this page"
- WIDTH=75 HEIGHT=30 BORDER=0
- NAME="sour"
- HSPACE=5 VSPACE=9></A><A HREF="/search.php3" onMouseover="change('sear',1); popUp('searchKick',true);"
- ><IMG SRC="/gifs/b-search-p.gif"
- ALT="Search the site"
- WIDTH=75 HEIGHT=30 BORDER=0
- NAME="sear"
- HSPACE=5 VSPACE=9></A><IMG SRC="/gifs/cap-right.gif" WIDTH=24 HEIGHT=48 BORDER=0><BR></TD>
- </TR>
- </TABLE>
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=top BGCOLOR="#FFFFFF">
- <TD ALIGN=left WIDTH="12">
- <IMG SRC="/gifs/corner-ul.gif" WIDTH=12 HEIGHT=12 BORDER=0><BR>
- </TD>
- <TD ALIGN=left WIDTH="100%">
- <FONT FACE="tahoma, verdana, arial, helvetica, sans-serif">
- <BR CLEAR=ALL>
- <!-- start body -->
-
-<P>This is a list of Frequently Asked Questions about PHP3 and
-their answers. If you have suggestions or additions, send them to
-<CODE>php3@lists.php.net</CODE>.
-
-<HR noshade>
-
-<H2>General Information</H2>
-
-<DL>
- <DT><B>
- What is PHP3?
- </B></DT>
- <DD>
- From the <A href="http://www.php.net/manual/">manual</A>:
-
- <BLOCKQUOTE>
- <P>PHP Version 3.0 is an HTML-embedded scripting
- language. Much of its syntax is borrowed from C, Java and Perl with a
- couple of unique PHP-specific features thrown in. The goal of the language
- is to allow web developers to write dynamically generated pages quickly.
- </BLOCKQUOTE>
- <P>
- </DD>
-
- <DT><B>
- What is its relation to PHP/FI?
- </B></DT>
- <DD>
- PHP3 is the successor to PHP/FI 2.0.
- <P>
- </DD>
- <DT><B>
- Can I run both PHP/FI 2.0 and PHP3 at the same time?
- </B></DT>
- <DD>
- Yes, PHP3 was written so as to not interfere with an existing PHP/FI 2 installation.
- Instructions for building Apache 1.3.0 with both PHP/FI 2 and PHP3 modules can be
- found <a href="php2.php3">HERE</a>.
- <P>
-
- <DT><B>
- What are the differences between PHP3 and PHP/FI 2.0?
- </B></DT>
- <DD>
- For a complete list of the changes, read the <A
- href="changes.php3">CHANGES</A> file included in the PHP3
- distribution. Some highlights:
-
- <UL>
- <LI>All-new parser.
- <LI>Persistent database connections.
- <LI>A native Windows95/NT port.
- <LI>IMAP, SNMP, and LDAP extensions.
- </UL>
- <P>
- </DD>
-
- <DT><B>
- I heard it's possible to access Microsoft SQL Server from PHP3. How?
- </B></DT>
- <DD>
- On Windows 95/NT machines, you can simply use the included ODBC support
- and the correct ODBC driver.
-
- <P>On Unix machines, you can use the Sybase-CT driver
- to access Microsoft SQL Servers because they are (at
- least mostly) protocol-compatible. Sybase has made a <A
- href="/extra/ctlib-linux-elf.tar.gz">free version of the necessary
- libraries for Linux systems</A>. For other Unix operating systems,
- you need to contact Sybase for the correct libraries (which cost
- money).
- <P>
- </DD>
-
- <DT><B>
- Can I access Microsoft Access databases?
- </B></DT>
- <DD>
- Yes. You already have all the tools you need if you are running
- entirely under Windows 95 or NT, where you can use ODBC and Microsoft's
- ODBC drivers for Microsoft Access databases. From other platforms, you
- would need to have a server running Windows NT (or possibly Windows 95)
- which you connected to using ODBC drivers from your other platform and
- <A href="http://www.openlinksw.com/">OpenLink Software's ODBC Agent</A>
- software, which runs US$4,000.
-
- <P>Some better alternatives are to use an SQL server that has
- Windows ODBC drivers and use that to store the data, which you can
- then access from Microsoft Access (using ODBC) and PHP3 (using the
- built-in drivers), or to use an intermediary file format that Access
- and PHP3 both understand, such as flat-files or dBase databases.
- <P>
- </DD>
-
- <DT><B>
- Is there a PHP3 mailing list?
- </B></DT>
- <DD>
- Of course! To subscribe, send mail to
- <CODE>php3-subscribe@lists.php.net</CODE>. You don't need to include
- anything special in the subject or body of the message.
-
- <P>To unsubscribe, send mail to <CODE>php3-unsubscribe@lists.php.net</CODE>.
- <P>
- </DD>
-
- <DT><B>
- Help! I can't seem to subscribe to the mailing list!
- </B></DT>
- <DT><B>
- Help! I can't seem to unsubscribe from the mailing list!
- </B></DT>
- <DD>
- If you have problems subscribing to or unsubscribing from the
- PHP3 mailng list, it may be because the mailing list software
- can't figure out the correct mailing address to use. If
- your email address was <CODE>joeblow@example.com</CODE>,
- you can send your subscription request to
- <CODE>php3-subscribe-joeblow=example.com@lists.php.net</CODE>,
- or your unsubscription request to
- <CODE>php3-unsubscribe-joeblow=example.com@lists.php.net</CODE>.
- <P>
- </DD>
-
- <DT><B>
- Is there an archive of the mailing list anywhere?
- </B></DT>
- <DD>
- Yes, it's located at <A
- href="http://www.tryc.on.ca/php3.html">http://www.tryc.on.ca/php3.html</A>.
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Obtaining PHP3</H2>
-
-<DL>
- <DT><B>
- Where can I obtain PHP3?
- </B></DT>
- <DD>
- You can download PHP3 from any of the members of the
- PHP3 network of sites. These can be found at <A
- href="http://www.php.net/">http://www.php.net/</A>.
- You can also use anonymous CVS to get the absolute latest
- version of the source. For more information, go to <A
- href="http://ca.php.net/cvsweb.cgi">http://ca.php.net/cvsweb.cgi</A>.
- <P>
- </DD>
-
- <DT><B>
- Are pre-compiled binary versions available?
- </B></DT>
- <DD>
- Yes, as long as you're looking for binaries for Windows 95 or NT.
- They're available in the same place as the source.
- <P>
- </DD>
-
- <DT><B>
- Where can I get libraries needed to compile some of the optional
- PHP3 extensions?
- </B></DT>
- <DD>
- <B>Note:</B> Those marked with * are not thread-safe libraries, and
- should not be used with PHP3 as a server module in the multi-threaded
- Windows web servers (IIS, Netscape). This does not matter in Unix
- environments, yet.
-
- <UL>
- <LI>LDAP* (unix): <A href="ftp://terminator.rs.itd.umich.edu/ldap/ldap-3.3.tar.Z">ftp://terminator.rs.itd.umich.edu/ldap/ldap-3.3.tar.Z</A>
- <LI>LDAP (unix/win): <A HREF="http://developer.netscape.com/tech/directory/downloads.html" TARGET="_top">Netscape Directory (LDAP) SDK 1.1</A>
- There is also a free LDAP server at: <A href="ftp://ftp.critical-angle.com/pub/cai/slapd/">ftp://ftp.critical-angle.com/pub/cai/slapd/</A>.
- <LI>Berkeley DB2 (Unix/Win): <A href="http://www.sleepycat.com/">http://www.sleepycat.com/</A>
- <LI>SNMP* (Unix): <A href="http://www.ece.ucdavis.edu/ucd-snmp/">http://www.ece.ucdavis.edu/ucd-snmp/</A> (Note: PHP3 uses the native SNMP interface in Windows.)
- <LI>GD* (Unix/Win): <A href="http://www.boutell.com/gd/#buildgd">http://www.boutell.com/gd/#buildgd</A>
- <LI>mSQL* (Unix): <A href="http://www.hughes.com.au/">http://www.hughes.com.au/</A>
- <LI>mSQL* (Win) : <A HREF="http://blnet.com/msqlpc/">MSQL PC Home Page</a>
- <LI>MySQL (Unix): <A href="http://www.tcx.se/">http://www.tcx.se/</A>
- <LI>IMAP* (Win/Unix): <A HREF="ftp://ftp.cac.washington.edu/imap/old/imap-4.tar.Z">ftp://ftp.cac.washington.edu/imap/old/imap-4.tar.Z</A>
- <LI>Sybase-CT* (Linux, libc5): <A href="/extra/ctlib-linux-elf.tar.gz">Available locally</A>
- <LI>FreeType: <A HREF="http://www.physiol.med.tu-muenchen.de/~robert/freetype.html">http://www.physiol.med.tu-muenchen.de/~robert/freetype.html</A>
- <LI>ZLib (Unix/Win32): <A HREF="http://www.cdrom.com/pub/infozip/zlib/">http://www.cdrom.com/pub/infozip/zlib/</a>
- </UL>
- <P>
- </DD>
-
- <DT><B>
- How do I get these libraries to work?
- </B></DT>
- <DD>
- You will need to follow instructions provided with the library. Some of
- these libraries are detected automatically when you run the 'configure'
- script of PHP3 (such as the GD library), and others you will have to
- enable using '--with-EXTENSION' options to 'configure'. Run 'configure
- --help' for a listing of these.
- <P>
- </DD>
-
- <DT><B>
- I got the latest version of the PHP3 source code from the CVS
- repository on my Windows 95/NT machine, what do I need to compile it?
- </B></DT>
- <DD>
- First, you will need Microsoft Visual C++ v5 (v4 may do
- it also, but we do it with v5), and you will need to <A
- href="http://www.php.net/win32/makeparser.zip">download Bison and
- Flex</A>. You will need to put Bison and Flex somewhere in your
- path, or add their location to your path. Then run the batch file
- 'makeparser' before compiling with MSVC. You also may need to edit
- some settings in the project settings. You should be familier enough
- with MSVC to know what to do ;).
- <P>
- </DD>
-</DL>
-
- <DT><B>
- Where do I find the Browser Capabilities File?
- </B></DT>
- <DD>
- You can find PHP's own browscap.ini file at <a href="http://php.netvision.net.il/browscap/">http://php.netvision.net.il/browscap/</a>.
- There is also another browscap.ini file at <a href="http://www.cyscape.com/asp/browscap/">http://www.cyscape.com/asp/browscap/</a>.
- <P>
- </DD>
-
-<HR noshade>
-
-<H2>Installation</H2>
-
-<P>To install PHP3, follow the instructions in the <A
-href="http://ca.php.net/cvsweb.cgi/INSTALL?rev=1.18">INSTALL</A>
-file located in the distribution. Windows
-95 and NT users should also read the <A
-href="http://ca.php.net/cvsweb.cgi/README.WIN32?rev=1.3">README.WIN32</A>
-file. There are also some helpful hints for Windows users here:
-<a href="http://leonard.staff.imaginet.fr/Doc/php/configuration_NT.html">
-http://leonard.staff.imaginet.fr/Doc/php/configuration_NT.html</a>.
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><B>
- I got the latest version of PHP3 using the anonymous CVS service,
- but there's no configure script!
- </B></DT>
- <DD>
- You have to have the GNU autoconf package installed so you can
- generate the configure script from configure.in. Just run
- <CODE>autoconf</CODE> in the top-level directory after getting
- the sources from the CVS server. (Also, unless you run configure
- with the <CODE>--enable-maintainer-mode</CODE> option, the
- configure script will not automatically get rebuilt when the
- configure.in file is updated, so you should make sure to do that
- manually when you notice configure.in has changed. One symptom
- of this is finding things like @VARIABLE@ in your Makefile after
- configure or config.status is run.
- <P>
- </DD>
- <DT><B>
- I'm having problems configuring PHP3 to work with Apache. It says
- it can't find httpd.h, but it's right where I said it is!
- </B></DT>
- <DD>
- You need to tell the configure/setup script the location of the
- <EM>top-level</EM> of your Apache source tree. This means that
- you want to specify '<CODE>--with-apache=/path/to/apache</CODE>'
- and <EM>not</EM> '<CODE>--with-apache=/path/to/apache/src</CODE>'.
- <P>
- </DD>
- <DT><B>
- When I run configure, it says that it can't find the include files or
- library for GD, gdbm, or some other package!
- </B></DT>
- <DD>
- You can make the configure script looks for header files and libraries
- in non-standard locations by specifying additional flags to pass to
- the C preprocessor and linker, such as:
-<FONT FACE="monospaced"><PRE>
- CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
-</PRE></FONT>
- If you're using a csh-variant for your login shell (why?), it would be:
-<FONT FACE="monospaced"><PRE>
- env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
-</PRE></FONT>
- <P>
- </DD>
-
- <DT><B>
- When it is compiling the file language-parser.tab.c, it gives me errors
- that say 'yytname undeclared'.
- </B></DT>
- <DD>
- You need to update your version of Bison. You can find the latest version
- at <A href="ftp://prep.ai.mit.edu/pub/gnu/">ftp://prep.ai.mit.edu/pub/gnu/</A>.
- <P>
- </DD>
-
- <DT><B>
- When I run 'make', it seems to run fine but then fails when it
- tries to link the final application complaining that it can't find
- some files.
- </B></DT>
- <DD>
- Some old versions of make that don't correctly put the compiled
- versions of the files in the functions directory into that same
- directory. Try running "<CODE>cp *.o functions</CODE>" and then
- re-running 'make' to see if that helps. If it does, you should really
- upgrade to a recent version of GNU make.
- <P>
- </DD>
-
- <DT><B>
- When linking PHP3, it complains about a number of undefined references.
- </B></DT>
- <DD>
- Take a look at the link line and make sure that all of the appropriate
- libraries are being included at the end. Common ones that you might have
- missed are '-ldl' and any libraries required for any database support
- you included.
- <P>
- If you're linking with Apache 1.2.x, did you remember to add the
- appropriate information to the EXTRA_LIBS line of the Configuration
- file and re-rerun Apache's Configure script? See the <A href="http://ca.php.net/cvsweb.cgi/INSTALL?rev=1.18">INSTALL</A> file that
- comes with the distribution for more information.
- <P>
- Some people have also reported that they had to add '-ldl' immediately
- following 'libphp3.a' when linking with Apache.
- <P>
- </DD>
-
- <DT><B>
- I can't figure out how to build PHP3 with Apache 1.3.
- </B></DT>
- <DD>
- <P>This is actually quite easy. Follow these steps carefully:
- <UL>
- <LI>Grab the latest Apache 1.3 distribution from <A href="http://www.apache.org/dist/">www.apache.org</A>.
- <LI>Ungzip and untar it somewhere, for example /usr/local/src/apache-1.3.
- <LI>Compile PHP3 by first running ./configure --with-apache=/<i><path></i>/apache-1.3 (substitute <i><path></i> for the actual path to your apache-1.3 directory.
- <LI>Type 'make' followed by 'make install' to build PHP3 and copy the
- necessary files to the Apache distribution tree.
- <LI>Change directories into to your /<i><path></i>/apache-1.3/src directory and edit the <i>Configuration</i> file. At the end of the file, add: <tt>AddModule modules/php3/libphp3.a</tt>.
- <LI>Type: './Configure' followed by 'make'.
- <LI>You should now have a PHP3-enabled httpd binary!
- </UL>
- <b>Note:</b> You can also use the new Apache ./configure script. See the instructions in the README.configure file
- which is part of your Apache distribution. Also have a look at the INSTALL file in the PHP distribution.
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Using PHP3</H2>
-
-<DL>
- <DT><B>
- I would like to write a generic PHP script that can handle data coming
- from any form. How do I know which POST method variables are available?
- </B></DT>
- <DD>
- You need to compile PHP with the "--enable-track-vars" configure switch.
- This creates three associative arrays. $HTTP_GET_VARS, $HTTP_POST_VARS
- and $HTTP_COOKIE_VARS. So, to write a generic script to handle POST
- method variables you would need something similar to the following:<PRE>
- while (list($var, $value) = each($HTTP_POST_VARS)) {
- echo "$var = $value<br>n";
- }</PRE>
- <P>
- </DD>
-
- <DT><B>
- I need to convert all single-quotes (') to a backslash followed by
- a single-quote. How can I do this with a regular expression?
- </B></DT>
- <DD>
- First off, take a look at the <A href="manual/function.addslashes.php3">addslashes()</A> function. It will do
- exactly what you want.
- <P>
- The ereg_replace magic you're looking for, however, is simply:<PRE>
- $escaped = ereg_replace("'", "\'", $input);</PRE>
- <P>
- </DD>
-
- <DT><B>
- When I do the following, the output is printed in the wrong order:<PRE>
- function myfunc($argument) {
- echo $myfunc + 10;
- }
- $variable = 10;
- echo "myfunc($variable) = " . myfunc($variable);
- </PRE>
- <P>What's going on?
- </B></DT>
- <DD>
- To be able to use the results of your function in an expression (such
- as concatenating it with other strings in the example above), you need
- to <B>return</B> the value, not echo it.
- <P>
- </DD>
-
- <DT><B>
- Hey, what happened to my newlines in:
-<PRE>
-<PRE>
- 1 <?echo $result[1];?>
- 2 <?echo $result[2];?>
-</PRE>
- </B></DT>
- <DD>
- In PHP, the ending for a block of code is either "?>" <B>or</B>
- "?>n" (where n means a newline). This means that you need to
- insert an extra newline after each block of PHP code in the above
- example.
- <P>
- Why does PHP do this? Because when formatting normal HTML, this
- usually makes your life easier because you don't want that newline,
- but you'd have to create extremely long lines or otherwise make the
- raw page source unreadable to achieve that effect.
- <P>
- </DD>
-
- <DT><B>
- I need to access information in the request header directly. How can
- I do this?
- </B></DT>
- <DD>
- The getallheaders() function will do this if you are running PHP as a
- module. So, the following bit of code will show you all the request
- headers:<PRE>
- $headers = getallheaders();
- for(reset($headers); $key = key($headers); next($headers)) {
- echo "headers[$key] = ".$headers[$key]."<br>n";
- }
-</PRE>
- <P>
- </DD>
-
- <DT><B>
- When I try to use authentication with IIS I get 'No Input file specified'
- </B></DT>
- <DD>
- The security model of IIS is at fault here. This is a problem
- common to all CGI programs running under IIS. A workaround is
- to create a plain HTML file (not parsed by php) as the entry page
- into an authenticated directory. Then use a META tag to redirect
- to the PHP page, or have a link to the PHP page. PHP will
- then recognize the authentication correctly. When the ISAPI
- module is ready, this will no longer be a problem. This should
- not effect other NT web servers. For more information, see: <A
- href="http://support.microsoft.com/support/kb/articles/q160/4/22.asp"
- target="_new">http://support.microsoft.com/support/kb/articles/q160/4/22.asp</A>.
- <P>
- </DD>
-
- <DT><B>
- I've followed all the instructions, but still can't get PHP and IIS
- to work together!
- </B></DT>
- <DD>
- Make sure any user who needs to run a PHP script has the rights
- to run php.exe! IIS uses an anonymous user which is added at the
- time IIS is installed. This user needs rights to php.exe. Also,
- any authenticated user will also need rights to execute php.exe.
- <P>
- </DD>
-
-</DL>
-
-<H3>New Features</H3>
-
-<DL>
- <DT><B>
- I saw PHP3 offers persistent database connections. What does that mean?
- </B></DT>
- <DD>
- Persistent connections are SQL links that do not close when the
- execution of your script ends. When a persistent connection is
- requested, PHP checks if there's already an identical persistent
- connection (that remained open from earlier) - and if it exists, it
- uses it. If it does not exist, it creates the link. An 'identical'
- connection is a connection that was opened to the same host, with
- the same username and the same password (where applicable).
-
- <P>People who aren't thoroughly familiar with the way web servers
- work and distribute the load may mistake persistent connects for what
- they're not. In particular, they do <B>not</B> give you an ability
- to open 'user sessions' on the same SQL link, they do <B>not</B>
- give you an ability to build up a transaction efficently, and they
- don't do a whole lot of other things. In fact, to be extremely
- clear about the subject, persistent connections don't give you <B>any</B>
- functionality that wasn't possible with their non-persistent brothers.
-
- <P>Why?
-
- <P>This has to do with the way web servers work. There are three ways
- in which your web server can utilize PHP to generate web pages.
-
- <P>The first method is to use PHP as a CGI "wrapper". When run this
- way, an instance of the PHP interpreter is created and destroyed for
- every page request (for a PHP page) to your web server. Because it
- is destroyed after every request, any resources that it acquires (such
- as a link to an SQL database server) are closed when it is destroyed.
- In this case, you do not gain anything from trying to use persistent
- connections -- they simply don't persist.
-
- <P>The second, and most popular, method is to run PHP as a module
- in a <I>multiprocess</I> web server, which currently only includes
- Apache. A multiprocess server typically has one process (the parent)
- which coordinates a set of processes (its children) who actually do
- the work of serving up web pages. When each request comes in from a a
- client, it is handed off to one of the children that is not already
- serving another client. This means that when the same client makes
- a second request to the server, it may be serviced by a different
- child process than the first time. What a persistent connection does
- for you in this case it make it so each child process only needs
- to connect to your SQL server the first time that it serves a page
- that makes us of such a connection. When another page then requires
- a connection to the SQL server, it can reuse the connection that
- child established earlier.
-
- <P>The last method is to use PHP as a plug-in for a <I>multithreaded</I>
- web server. Currently this is only theoretical -- PHP does not
- yet work as a plug-in for any multithreaded web servers. Work is
- progressing on support for ISAPI, WSAPI, and NSAPI (on Windows),
- which will all allow PHP to be used as a plug-in on multithreaded
- servers like Netscape FastTrack, Microsoft's Internet Information
- Server (IIS), and O'Reilly's WebSite Pro. When this happens, the
- behavior will be essentially the same as for the multiprocess model
- described before.
-
- <P>If persistent connections don't have any added functionality,
- what are they good for?
-
- <P>The answer here is extremely simple -- efficiency. Persistent
- connections are good if the overhead to create a link to your SQL
- server is high. Whether or not this overhead is really high depends
- on many factors. Like, what kind of database it is, whether or
- not it sits on the same computer on which your web server sits,
- how loaded the machine the SQL server sits on is and so forth.
- The bottom line is that if that connection overhead is high,
- persistent connections help you considerably. They cause the child
- process to simply connect only once for its entire lifespan, instead
- of every time it processes a page that requires connecting to the
- SQL server. This means that for every child that opened a persistent
- connection will have its own open persistent connection to the server.
- For example, if you had 20 different child processes that ran a script
- that made a persistent connection to your SQL server, you'd have 20
- different connections to the SQL server, one from each child.
-
- <P>An important summary. Persistent connections were designed to
- have one-to-one mapping to regular connections. That means that you
- should <B>always</B> be able to replace persistent connections with
- non-persistent connections, and it won't change the way your script
- behaves. It <B>may</B> (and probably will) change the efficiency
- of the script, but not its behavior!
- <P>
- </DD>
-</DL>
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><b>
- I installed PHP3, but every time I load a document, I get the
- message 'Document Contains No Data'! What's going on here?
- </b></DT>
- <DD>
- This probably means that PHP3 is having some sort of problem
- and is core-dumping. Look in your server error log to see if
- this is the case, and then try to reproduce the problem with
- a small test case. If you know how to use 'gdb', it is very
- helpful when you can provide a backtrace with your bug report
- to help the developers pinpoint the problem.
- <P>
- If your script uses the regular expression functions (<CODE>ereg()</CODE>
- and friends), you should make sure that you compiled PHP3 and
- Apache with the same regular expression package. (This should
- happen automatically with PHP3 and Apache 1.3.)
- <P>
- </DD>
-
- <DT><B>
- I'm trying to access one of the standard CGI variables (such
- as $DOCUMENT_ROOT or $HTTP_REFERER) in a user-defined function,
- and it can't seem to find it. What's wrong?
- </B></DT>
- <DD>
- Environment variables are now normal global variables, so you must
- either declare them as global variables in your function (by using
- "<CODE>global $DOCUMENT_ROOT;</CODE>", for example) or by using
- the global variable array (ie, "<CODE>$GLOBALS["DOCUMENT_ROOT"]</CODE>".
- <P>
- </DD>
-
- <DT><B>
- I think I found a bug! Who should I tell?
- </B></DT>
- <DD>
- You should go to the PHP Bug Database and make sure the bug
- isn't a known bug. If you don't see it in the database, use
- the reporting form to report the bug. It is important to use
- the bug database instead of just sending an email to one of the
- mailing lists because the bug will have a tracking number assigned
- and it will then be possible for you to go back later and check
- on the status of the bug. The bug database can be found at <A
- href="http://ca.php.net/bugs.php3">http://ca.php.net/bugs.php3</A>.
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Migrating from PHP/FI 2.0</H2>
-
-<H3>Common Problems</H3>
-
-<DL>
- <DT><B>
- When I add two strings together and then echo it, it echoes zero instead
- of the concatenation of the two strings! What's going on? Wouldn't it
- be great if adding two strings just concatenated them together?
- </B></DT>
- <DD>
- PHP3 does not support the overloading of the addition operator for
- strings because values that arrive via the GET and POST methods and
- from databases are always stored as strings. This means that if the
- plus operator were overloaded to concatenate strings, you could add
- what you thought were two numbers and get the wrong result! (For
- example, "4" + "5" would be equal to "45".) One way around this would
- be to explicitly type-cast one or both of the operands, which is what
- PHP/FI 2 did.
-
- <P>This has been simplified in PHP3 by the addition of a real string
- concatenation operator. If you want to "add" two strings together,
- just write it like: <CODE>"this" . "that"</CODE> which will result in
- the string "thisthat".
-
- <P>The answer to the final part of the question is an emphatic no.
- Operator overloading can be a source of great confusion, especially
- when variables aren't very strongly typed to begin with, as they are
- in PHP3.
- <P>
- </DD>
-
- <DT><B>
- When I use the chmod(), umask(), or mkdir() functions, the permissions
- are wrong!
- </B></DT>
- <DD>
- Unlike PHP/FI 2, PHP3 does not interpret the numeric arguments for
- these functions any differently than for any other function, which
- means you need to pass in an octal value if you are specifying an
- octal number, such as:
-<PRE>
- chmod($myfile, 0600);
-</PRE>
- <B>not</B>
-<PRE>
- chmod($myfile, 600);
-</PRE>
- <P>
- </DD>
-
- <DT><B>
- I converted my script from PHP/FI 2.0 to PHP3 syntax, but now it just
- hangs! When I looked at the processes running on my server, there was
- one process that was chewing up all of the CPU cycles!
- </B></DT>
- <DD>
- You probably missed the semi-colon on a <CODE>while
- (condition);</CODE> statement. This will cause PHP3 to spin out of
- control because it is simply executing an empty body for your while
- loop! Change the semi-colon to a colon and it should work correctly.
- <P>
- </DD>
-
- <DT><B>
- My user-functions don't work any more! I get a "Parse error (expecting '('"
- on the first line of the function.
- </B></DT>
- <DD>
- PHP3's function declaration now resembles C function declarations, so
- your function should look like:
- <PRE>
- function printsum($a, $b) {
- echo $a + $b;
- }
- </PRE>
- <P>You can also use old-style function declarations by use the
- 'old_function' designation, like so:
- <PRE>
- old_function printsum $a, $b (
- echo $a + $b;
- );
- </PRE>
- <P>
- </DD>
-</DL>
-
-<HR noshade>
-
-<H2>Credits</H2>
-
-<P>This FAQ was originally written by Jim Winstead. It is currently
-maintained by the PHP Development Team.
-
-<P>
- <!-- end body -->
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- <TR valign=top BGCOLOR="#5B69A6">
- <TD ALIGN=left width="150">
- <IMG SRC='/gifs/spacer.gif' WIDTH=150 HEIGHT=1 BORDER=0 ALT=' '><BR>
- </TD>
- <TD ALIGN=left width="100%" BGCOLOR="#FFFFFF">
- <IMG SRC="/gifs/corner-bl.gif" WIDTH=12 HEIGHT=12 BORDER=0><BR>
- </TD>
- </TR>
- <TR valign=top>
- <TD ALIGN=left width="150" BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH="150">
- <TR VALIGN=bottom>
- <TD ALIGN=left>
- <IMG SRC='/gifs/spacer.gif' WIDTH=1 HEIGHT=3 BORDER=0 ALT=' '><BR>
-<A HREF="/credits.php3" onMouseover="change('cred',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-credits-p.gif"
- ALT="Who's responsible for this?"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="cred"
- HSPACE=10 VSPACE=0></A><BR>
-<A HREF="#top" onMouseover="change('top',1);"
- onMouseout="hide();"><IMG SRC="/gifs/b-top-p.gif"
- ALT="Top of this page"
- WIDTH=129 HEIGHT=30 BORDER=0
- NAME="top"
- HSPACE=10 VSPACE=0></A><BR>
- <IMG SRC="/gifs/cap-bl.gif" WIDTH=9 HEIGHT=9 BORDER=0><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD align=left width="100%">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 width="100%">
- <TR VALIGN=middle>
- <TD ALIGN=center BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
- <TR VALIGN=middle>
- <TD align=right>
- <FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=1>
- <I>Site<BR>Hosting:</I><BR>
- </TD>
- <TD>
- <IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '><BR>
- </TD>
- <TD>
- <A HREF="http://BestHost.net/"><IMG SRC="/gifs/logo-besthost.gif" WIDTH=190 HEIGHT=48 BORDER=0 vspace=12></A><BR>
- </TD>
- </TR>
- </TABLE>
- </TD>
- <TD ALIGN=right BGCOLOR="#5B69A6">
- <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
- <TR VALIGN=middle>
- <TD align=center>
-<FONT FACE="tahoma, verdana, arial, helvetica, sans-serif" SIZE=2>
-<FONT SIZE=1><I>Located in</I></FONT><BR>United States </TD>
- <TD><IMG SRC='/gifs/spacer.gif' WIDTH=5 HEIGHT=1 BORDER=0 ALT=' '></TD>
- <TD>
- <IMG SRC="/gifs/flag-us.gif" BORDER=0></TD>
- <TD>
- <IMG SRC="/gifs/cap-right2.gif" WIDTH=24 HEIGHT=72 BORDER=0></TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-</BODY>
-</HTML>
+++ /dev/null
-diff -urN php-4.1.1.orig/main/SAPI.c php-4.1.1/main/SAPI.c
---- php-4.1.1.orig/main/SAPI.c Mon Feb 4 13:07:01 2002
-+++ php-4.1.1/main/SAPI.c Mon Feb 4 13:29:44 2002
-@@ -25,9 +25,6 @@
- #include "SAPI.h"
- #include "ext/standard/php_string.h"
- #include "ext/standard/pageinfo.h"
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
--#include "ext/pcre/php_pcre.h"
--#endif
- #ifdef ZTS
- #include "TSRM.h"
- #endif
-@@ -448,64 +445,8 @@
- } else if (!STRCASECMP(header_line, "WWW-Authenticate")) { /* HTTP Authentication */
- int newlen;
- char *result, *newheader;
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
-- zval *repl_temp;
-- char *ptr = colon_offset+1;
-- int ptr_len=0, result_len = 0;
--#endif
-
- SG(sapi_headers).http_response_code = 401; /* authentication-required */
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
-- if(PG(safe_mode)) {
-- myuid = php_getuid();
--
-- ptr_len = strlen(ptr);
-- MAKE_STD_ZVAL(repl_temp);
-- Z_STRVAL_P(repl_temp) = emalloc(32);
-- Z_STRLEN_P(repl_temp) = sprintf(Z_STRVAL_P(repl_temp), "realm=\"\\1-%ld\"", myuid);
-- /* Modify quoted realm value */
-- result = php_pcre_replace("/realm=\"(.*?)\"/i", 16,
-- ptr, ptr_len,
-- repl_temp,
-- 0, &result_len, -1 TSRMLS_CC);
-- if(result_len==ptr_len) {
-- efree(result);
-- sprintf(Z_STRVAL_P(repl_temp), "realm=\\1-%ld\\2", myuid);
-- /* modify unquoted realm value */
-- result = php_pcre_replace("/realm=([^\\s]+)(.*)/i", 21,
-- ptr, ptr_len,
-- repl_temp,
-- 0, &result_len, -1 TSRMLS_CC);
-- if(result_len==ptr_len) {
-- char *lower_temp = estrdup(ptr);
-- char conv_temp[32];
-- int conv_len;
--
-- php_strtolower(lower_temp,strlen(lower_temp));
-- /* If there is no realm string at all, append one */
-- if(!strstr(lower_temp,"realm")) {
-- efree(result);
-- conv_len = sprintf(conv_temp," realm=\"%ld\"",myuid);
-- result = emalloc(ptr_len+conv_len+1);
-- result_len = ptr_len + conv_len;
-- memcpy(result, ptr, ptr_len);
-- memcpy(result+ptr_len, conv_temp, conv_len);
-- *(result+ptr_len+conv_len) = '\0';
-- }
-- efree(lower_temp);
-- }
-- }
-- newlen = sizeof("WWW-Authenticate: ") + result_len;
-- newheader = emalloc(newlen+1);
-- sprintf(newheader,"WWW-Authenticate: %s", result);
-- efree(header_line);
-- sapi_header.header = newheader;
-- sapi_header.header_len = newlen;
-- efree(result);
-- efree(Z_STRVAL_P(repl_temp));
-- efree(repl_temp);
-- }
--#else
- if(PG(safe_mode)) {
- myuid = php_getuid();
- result = emalloc(32);
-@@ -516,7 +457,6 @@
- sapi_header.header_len = newlen;
- efree(result);
- }
--#endif
- }
- if (sapi_header.header==header_line) {
- *colon_offset = ':';
+++ /dev/null
---- php-4.2.1/sapi/apache2filter/php_functions.c.wiget Fri Jun 21 11:12:06 2002
-+++ php-4.2.1/sapi/apache2filter/php_functions.c Fri Jun 21 11:12:38 2002
-@@ -90,7 +90,7 @@
- ADD_STRING(method);
- ADD_LONG(mtime);
- ADD_LONG(clength);
--#if !MODULE_MAGIC_AT_LEAST(20020506,0)
-+#if !AP_MODULE_MAGIC_AT_LEAST(20020506,0)
- ADD_STRING(boundary);
- #endif
- ADD_STRING(range);
+++ /dev/null
---- php-4.3.3RC3/ext/db/config.m4.orig 2002-11-15 17:37:51.000000000 +0100
-+++ php-4.3.3RC3/ext/db/config.m4 2003-08-16 16:08:12.152768432 +0200
-@@ -5,10 +5,10 @@
- # Checks for libraries.
- # Prefer gdbm, Berkeley DB and ndbm/dbm, in that order
- AC_DEFUN(AC_PREFERRED_DB_LIB,[
-- AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM,1, [Whether you have GDBM]) DBM_TYPE=gdbm; DBM_LIB=-lgdbm],
-+ AC_CHECK_LIB(gdbm, gdbm_open,[AC_DEFINE(GDBM,1, [Whether you have GDBM]) DBM_TYPE=gdbm; DBM_LIB=gdbm],
- [AC_CHECK_LIB(c, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=],
-- [AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=-ldbm],
-- [AC_CHECK_LIB(db, dbm_open,[AC_DEFINE(NDBM,1, [Whether you have NDBM]) DBM_TYPE=ndbm; DBM_LIB=-ldb],
-+ [AC_CHECK_LIB(dbm, dbm_open,[AC_DEFINE(NDBM,1,[ ]) DBM_TYPE=ndbm; DBM_LIB=dbm],
-+ [AC_CHECK_LIB(db, dbm_open,[AC_DEFINE(NDBM,1, [Whether you have NDBM]) DBM_TYPE=ndbm; DBM_LIB=db],
- [DBM_TYPE=""])
- ])
- ])
-@@ -32,7 +32,7 @@
-
- AC_PREFERRED_DB_LIB
-
-- if test "$DBM_LIB" = "-lgdbm"; then
-+ if test "$DBM_LIB" = "gdbm"; then
- AC_CHECK_HEADER(gdbm.h, [ GDBM_INCLUDE="" ], [
- AC_MSG_RESULT("Try /usr/local/include/gdbm.h");
- AC_CHECK_HEADER(/usr/local/include/gdbm.h, [ GDBM_INCLUDE=-I/usr/local/include ],[
-@@ -49,10 +49,11 @@
- ])
- fi
-
-+ PHP_NEW_EXTENSION(db, db.c, $ext_shared)
-+ PHP_SUBST(DB_SHARED_LIBADD)
- if test -n "$DBM_LIB"; then
-- INCLUDES="$INCLUDES $GDBM_INCLUDE"
-- EXTRA_LIBS="$EXTRA_LIBS $DBM_LIB"
-+ PHP_ADD_INCLUDE($GDBM_INCLUDE)
-+ PHP_ADD_LIBRARY_WITH_PATH($DBM_LIB, , DB_SHARED_LIBADD)
- fi
-
-- PHP_NEW_EXTENSION(db, db.c)
- fi
+++ /dev/null
---- php-4.3.4/ext/dba/config.m4.orig 2003-12-16 23:38:01.000000000 +0100
-+++ php-4.3.4/ext/dba/config.m4 2003-12-16 23:40:19.327674256 +0100
-@@ -221,7 +221,7 @@
- break
- fi
- done
-- PHP_DBA_DB_CHECK(4, db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
-+ PHP_DBA_DB_CHECK(4, db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
- fi
- ])
- AC_DBA_STD_RESULT(db4,Berkeley DB4)
+++ /dev/null
---- php-4.0.6/sapi/fastcgi/config.m4.wiget Tue Mar 27 22:34:45 2001
-+++ php-4.0.6/sapi/fastcgi/config.m4 Wed Jul 4 23:14:00 2001
-@@ -7,10 +7,15 @@
- FASTCGIPATH=$withval
- fi
- test -f "$FASTCGIPATH/lib/libfcgi.a" || AC_MSG_ERROR(Unable to find libfcgi.a in $FASTCGIPATH/lib)
-- test -f "$FASTCGIPATH/include/fastcgi.h" || AC_MSG_ERROR(Unable to find fastcgi.h in $FASTCGIPATH/include)
-+ if test -f "$FASTCGIPATH/include/fastcgi.h" ; then
-+ PHP_ADD_INCLUDE($FASTCGIPATH/include)
-+ elif test -f "$FASTCGIPATH/include/fastcgi/fastcgi.h" ; then
-+ PHP_ADD_INCLUDE($FASTCGIPATH/fastcgi/include)
-+ else
-+ AC_MSG_ERROR(Unable to find fastcgi.h in $FASTCGIPATH/include)
-+ fi
- PHP_SAPI=fastcgi
- PHP_LIBS=$FASTCGIPATH/lib/libfcgi.a
-- PHP_ADD_INCLUDE($FASTCGIPATH/include)
- EXT_PROGRAM_LDADD="$EXT_PROGRAM_LDADD $FASTCGIPATH/lib/libfcgi.a"
- INSTALL_IT="\$(INSTALL) -m 0755 $SAPI_PROGRAM \$(bindir)/$SAPI_FASTCGI"
- RESULT="yes"
-
+++ /dev/null
-diff -Nur php-4.2.0/ext/hyperwave.orig/Makefile.in php-4.2.0/ext/hyperwave/Makefile.in
---- php-4.2.0/ext/hyperwave.orig/Makefile.in Tue May 2 00:38:28 2000
-+++ php-4.2.0/ext/hyperwave/Makefile.in Wed May 1 22:50:03 2002
-@@ -1,5 +1,6 @@
-
- LTLIBRARY_NAME = libhyperwave.la
- LTLIBRARY_SOURCES = hw.c hg_comm.c
-+LTLIBRARY_SHARED_NAME = hyperwave.la
-
- include $(top_srcdir)/build/dynlib.mk
-diff -Nur php-4.2.0/ext/hyperwave.orig/config.m4 php-4.2.0/ext/hyperwave/config.m4
---- php-4.2.0/ext/hyperwave.orig/config.m4 Fri Nov 30 19:59:37 2001
-+++ php-4.2.0/ext/hyperwave/config.m4 Wed May 1 22:50:44 2002
-@@ -9,7 +9,7 @@
- if test "$withval" != "no"; then
- AC_DEFINE(HYPERWAVE,1,[ ])
- AC_MSG_RESULT(yes)
-- PHP_EXTENSION(hyperwave)
-+ PHP_EXTENSION(hyperwave, $ext_shared)
- else
- AC_DEFINE(HYPERWAVE,0,[ ])
- AC_MSG_RESULT(no)
+++ /dev/null
---- php-4.2.0/acinclude.m4.orig Thu May 2 01:33:20 2002
-+++ php-4.2.0/acinclude.m4 Thu May 2 03:16:05 2002
-@@ -1256,8 +1256,8 @@
- fi
-
- if test "$found_iconv" = "yes"; then
-+ AC_DEFINE(HAVE_ICONV, 1, [ ])
- if test -n "$ICONV_DIR"; then
-- AC_DEFINE(HAVE_ICONV, 1, [ ])
- PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/lib, $1)
- PHP_ADD_INCLUDE($ICONV_DIR/include)
- fi
+++ /dev/null
-diff -Nur php-4.2.0/ext/java.orig/Makefile.in php-4.2.0/ext/java/Makefile.in
---- php-4.2.0/ext/java.orig/Makefile.in Sun Apr 14 02:40:57 2002
-+++ php-4.2.0/ext/java/Makefile.in Thu May 2 00:35:25 2002
-@@ -4,7 +4,7 @@
- LTLIBRARY_DEPENDENCIES = php_java.jar
-
- LTLIBRARY_LDFLAGS = $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS)
--LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS)
-+LTLIBRARY_SHARED_LIBADD = $(LTLIBRARY_DEPENDENCIES) $(EXTRA_LIBS) $(JAVA_SHARED_LIBADD)
-
- EXTRA_CFLAGS = $(JAVA_CFLAGS)
- EXTRA_INCLUDES = $(JAVA_INCLUDE)
-diff -Nur php-4.2.0/ext/java.orig/config.m4 php-4.2.0/ext/java/config.m4
---- php-4.2.0/ext/java.orig/config.m4 Sun Apr 14 02:40:57 2002
-+++ php-4.2.0/ext/java/config.m4 Thu May 2 00:37:36 2002
-@@ -8,6 +8,7 @@
- This extension is always built as shared.],
- [
- if test "$withval" != "no"; then
-+ ext_shared=yes
- JAVA_SHARED=libphp_java.la
-
- pltform=`uname -s 2>/dev/null`
-@@ -111,7 +111,6 @@
- PHP_EXTENSION(java, shared)
-
-- if test "$PHP_SAPI" = "cgi"; then
-- PHP_ADD_LIBRARY($JAVA_LIB)
-+ PHP_SUBST(JAVA_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY($JAVA_LIB,, JAVA_SHARED_LIBADD)
-- fi
-
- INSTALL_IT="$INSTALL_IT; \$(srcdir)/build/shtool mkdir -p -f -m 0755 \$(INSTALL_ROOT)\$(libdir)"
+++ /dev/null
-diff -burN php-4.3.2/ext/java/config.m4 php-4.3.2-java-norpath/ext/java/config.m4
---- php-4.3.2/ext/java/config.m4 Fri Apr 4 19:43:13 2003
-+++ php-4.3.2-java-norpath/ext/java/config.m4 Wed Jun 11 09:38:23 2003
-@@ -58,7 +58,6 @@
- AC_DEFUN(JAVA_CHECK_LIB, [
- AC_MSG_CHECKING([Checking for libjava])
- if test -d $PHP_JAVA/lib/kaffe; then
-- PHP_ADD_LIBPATH($PHP_JAVA/lib)
- JAVA_CFLAGS=-DKAFFE
- JAVA_INCLUDE=-I$PHP_JAVA/include/kaffe
- JAVA_CLASSPATH=$PHP_JAVA/share/kaffe/Klasses.jar
-@@ -111,10 +110,6 @@
- JAVA_LIB=java
- JAVA_LIBPATH=$i
-
-- test -d $i/hotspot && PHP_ADD_LIBPATH($i/hotspot)
-- test -d $i/classic && PHP_ADD_LIBPATH($i/classic)
-- test -d $i/server && PHP_ADD_LIBPATH($i/server)
-- test -d $i/native_threads && PHP_ADD_LIBPATH($i/native_threads)
- fi
- done
-
-@@ -160,19 +155,12 @@
- AC_MSG_ERROR([unable to find Java VM libraries in $PHP_JAVA])
- fi
-
-- PHP_ADD_LIBPATH($JAVA_LIBPATH)
- JAVA_CFLAGS="$JAVA_CFLAGS '-DJAVALIB=\"$JAVA_LIBPATH/$java_libext\"'"
- fi
-
- if test "$PHP_SAPI" != "servlet"; then
- PHP_NEW_EXTENSION(java, java.c, shared,, $JAVA_CFLAGS $JAVA_INCLUDE)
-
-- if test "$PHP_SAPI" = "cgi"; then
-- if test "$platform" != "Darwin"; then
-- PHP_ADD_LIBRARY($JAVA_LIB)
-- fi
-- fi
--
- if test -n "$INSTALL_IT"; then
- INSTALL_IT="$INSTALL_IT ;"
- fi
+++ /dev/null
-diff -urN php-5.1.0RC1.org/ext/ming/config.m4 php-5.1.0RC1/ext/ming/config.m4
---- php-5.1.0RC1.org/ext/ming/config.m4 2005-07-18 01:58:39.000000000 +0200
-+++ php-5.1.0RC1/ext/ming/config.m4 2005-08-25 23:03:43.002336568 +0200
-@@ -9,7 +9,7 @@
- AC_CHECK_LIB(m, sin)
-
- for i in $PHP_MING /usr/local /usr; do
-- if test -f $i/lib/libming.$SHLIB_SUFFIX_NAME -o -f $i/lib/libming.a; then
-+ if test -f $i/$PHP_LIBDIR/libming.$SHLIB_SUFFIX_NAME -o -f $i/$PHP_LIBDIR/libming.a; then
- MING_DIR=$i
- break
- fi
-@@ -34,11 +34,11 @@
- ],[
- AC_MSG_ERROR([Ming library 0.2a or greater required.])
- ],[
-- -L$MING_DIR/lib
-+ -L$MING_DIR/$PHP_LIBDIR
- ])
-
- PHP_ADD_INCLUDE($MING_INC_DIR)
-- PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/lib, MING_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(ming, $MING_DIR/$PHP_LIBDIR, MING_SHARED_LIBADD)
-
- AC_MSG_CHECKING([for destroySWFBlock])
- AC_TRY_RUN([
-
-
-
+++ /dev/null
---- php-4.2.1/ext/mcal/config.m4.orig Thu Apr 4 01:04:44 2002
-+++ php-4.2.1/ext/mcal/config.m4 Tue May 14 00:26:25 2002
-@@ -20,7 +20,7 @@
- done
-
- for i in $MCAL_DIR $MCAL_DIR/mcal $MCAL_DIR/mcal/lib $MCAL_DIR/lib/mcal $MCAL_DIR/lib; do
-- if test -r "$i/libmcal.a"; then
-+ if test -r "$i/libmcal.so" -o -r "$i/libmcal.a"; then
- MCAL_LIBRARY=$i
- fi
- done
-@@ -37,12 +37,12 @@
- AC_MSG_ERROR(Unable to locate your libmcal header files - icalroutines.h should be in the directory you specify or in the include/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
- fi
-
-- if test ! -f "$MCAL_LIBRARY/libmcal.a"; then
-- AC_MSG_ERROR(Unable to locate your libmcal library files - libmcal.a should be in the directory you specify or in the lib/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
-+ if test -z "$MCAL_LIBRARY"; then
-+ AC_MSG_ERROR(Unable to locate your libmcal library files - libmcal.* should be in the directory you specify or in the lib/ subdirectory below it - default search location is $MCAL_DEFAULT_SEARCH)
- fi
-
- PHP_ADD_INCLUDE($MCAL_INCLUDE)
-- PHP_ADD_LIBRARY_DEFER_WITH_PATH(mcal, $MCAL_LIBRARY, MCAL_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(mcal, $MCAL_LIBRARY, MCAL_SHARED_LIBADD)
- PHP_SUBST(MCAL_SHARED_LIBADD)
- AC_DEFINE(HAVE_MCAL,1,[ ])
- PHP_EXTENSION(mcal,$ext_shared)
+++ /dev/null
-#!/bin/sh
-
-VERSION="$0 V 0.1 (C) 2001 Artur Frysiak"
-COMMAND=usage
-VERBOSE=""
-MODNAME=""
-INIFILE=""
-
-install ()
-{
-if [ -f ${INIFILE} ] && ! grep -q "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" ${INIFILE} ; then
- echo "activating module '${MODNAME}.so' in ${INIFILE}" 1>&2
- echo "extension=${MODNAME}.so" >> ${INIFILE}
-fi
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
-}
-
-deinstall()
-{
-if [ -f ${INIFILE} ] && grep -q "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" ${INIFILE} ; then
- TMPFILE=`mktemp -q /tmp/php-module-install.XXXXXX`
- if [ $? -ne 0 ]; then
- echo "$0: Can't create temp file, exiting..."
- exit 1
- fi
- echo "deactivating module '${MODNAME}.so' in ${INIFILE}" 1>&2
- grep -v "^extension[[:space:]]*=[[:space:]]*${MODNAME}.so" > ${TMPFILE} < ${INIFILE}
- mv ${TMPFILE} ${INIFILE}
- chmod 644 ${INIFILE}
-fi
-if [ -f /var/lock/subsys/httpd ]; then
- /etc/rc.d/init.d/httpd restart 1>&2
-fi
-}
-
-usage()
-{
- echo $VERSION
- echo "Usage:"
- echo " $0 install MODNAME INIFILE"
- echo " $0 remove MODNAME INIFILE"
-}
-
-if [ "$#" = 3 ]; then
- MODNAME="$2"
- INIFILE="$3"
-
- if [ "$1" = "install" ]; then
- install
- else
- if [ "$1" = "remove" ]; then
- deinstall
- else
- usage
- fi
- fi
-else
- usage
- exit 1
-fi
-
-exit 0
+++ /dev/null
-diff -urN php-4.2.1RC2.org/ext/mysql/config.m4 php-4.2.1RC2/ext/mysql/config.m4
---- php-4.2.1RC2.org/ext/mysql/config.m4 Sat May 11 20:49:23 2002
-+++ php-4.2.1RC2/ext/mysql/config.m4 Sat May 11 20:55:42 2002
-@@ -18,6 +18,14 @@
- ])
-
- AC_DEFUN(PHP_MYSQL_SOCK,[
-+
-+ AC_ARG_WITH(mysql_sock,
-+ [ --with-mysql-socket=PATH
-+ Specify location of MySQL UNIX socket,
-+ defaults search in know locations],[
-+ MYSQL_SOCK=$withval
-+ ],)
-+ if test "$MYSQL_SOCK" = "" -o "$MYSQL_SOCK" = "no" -o "MYSQL_SOCK" = "yes"; then
- AC_MSG_CHECKING(for MySQL UNIX socket)
- MYSQL_SOCK=/tmp/mysql.sock
- for i in \
-@@ -32,6 +40,7 @@
- MYSQL_SOCK=$i
- fi
- done
-+ fi
- AC_DEFINE_UNQUOTED(MYSQL_UNIX_ADDR, "$MYSQL_SOCK", [ ])
- AC_MSG_RESULT($MYSQL_SOCK)
- ])
+++ /dev/null
-diff -urN php-4.3.4RC2.orig/ext/ncurses/config.m4 php-4.3.4RC2/ext/ncurses/config.m4
---- php-4.3.4RC2.orig/ext/ncurses/config.m4 2003-10-22 11:15:33.000000000 +0200
-+++ php-4.3.4RC2/ext/ncurses/config.m4 2003-10-22 13:11:00.000000000 +0200
-@@ -11,24 +11,29 @@
-
- for i in $SEARCH_PATH ; do
- if test -d $i/include; then
-+ NCURSES_DIR=$i
- if test -r $i/include/ncurses.h; then
-- NCURSES_DIR=$i
-+ NCURSES_INC=$i/include
-+ AC_DEFINE(HAVE_NCURSES_H,1,[ ])
-+ break
-+ elif test -r $i/include/ncurses/ncurses.h; then
-+ NCURSES_INC=$i/include/ncurses;
- AC_DEFINE(HAVE_NCURSES_H,1,[ ])
- break
- elif test -r $i/include/curses.h; then
-- NCURSES_DIR=$i
-+ NCURSES_INC=$i/include
- break
- fi
- fi
- done
-
-- if test -z "$NCURSES_DIR"; then
-+ if test -z "$NCURSES_INC"; then
- AC_MSG_RESULT(not found)
- AC_MSG_ERROR(Please reinstall the ncurses distribution)
- fi
-
- # --with-ncurses -> add include path
-- PHP_ADD_INCLUDE($NCURSES_DIR/include)
-+ PHP_ADD_INCLUDE($NCURSES_INC)
-
- # --with-ncurses -> chech for lib and symbol presence
- LIBNAME=ncurses
-diff -urN php-4.3.4RC2.orig/ext/readline/config.m4 php-4.3.4RC2/ext/readline/config.m4
---- php-4.3.4RC2.orig/ext/readline/config.m4 2003-10-22 11:15:34.000000000 +0200
-+++ php-4.3.4RC2/ext/readline/config.m4 2003-10-22 13:12:04.000000000 +0200
-@@ -19,6 +19,10 @@
-
- PHP_ADD_INCLUDE($READLINE_DIR/include)
-
-+ AC_CHECK_LIB(tinfo, tgetent,
-+ [
-+ PHP_ADD_LIBRARY(tinfo,,READLINE_SHARED_LIBADD)
-+ ],[
- AC_CHECK_LIB(ncurses, tgetent,
- [
- PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
-@@ -28,6 +32,7 @@
- PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
- ])
- ])
-+ ])
-
- PHP_CHECK_LIBRARY(readline, readline,
- [
-@@ -63,6 +68,10 @@
-
- PHP_ADD_INCLUDE($LIBEDIT_DIR/include)
-
-+ AC_CHECK_LIB(tinfo, tgetent,
-+ [
-+ PHP_ADD_LIBRARY(tinfo,,READLINE_SHARED_LIBADD)
-+ ],[
- AC_CHECK_LIB(ncurses, tgetent,
- [
- PHP_ADD_LIBRARY(ncurses,,READLINE_SHARED_LIBADD)
-@@ -72,6 +81,7 @@
- PHP_ADD_LIBRARY(termcap,,READLINE_SHARED_LIBADD)
- ])
- ])
-+ ])
-
- PHP_CHECK_LIBRARY(edit, readline,
- [
+++ /dev/null
-diff -urN php-4_2_0RC3.org/main/SAPI.c php-4_2_0RC3/main/SAPI.c
---- php-4_2_0RC3.org/main/SAPI.c Sat Apr 13 01:18:30 2002
-+++ php-4_2_0RC3/main/SAPI.c Sat Apr 13 01:38:42 2002
-@@ -27,9 +27,6 @@
- #include "SAPI.h"
- #include "ext/standard/php_string.h"
- #include "ext/standard/pageinfo.h"
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
--#include "ext/pcre/php_pcre.h"
--#endif
- #ifdef ZTS
- #include "TSRM.h"
- #endif
-@@ -465,65 +462,8 @@
- } else if (!STRCASECMP(header_line, "WWW-Authenticate")) { /* HTTP Authentication */
- int newlen;
- char *result, *newheader;
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
-- zval *repl_temp;
-- char *ptr = colon_offset+1;
-- int ptr_len=0, result_len = 0;
--#endif
-
- SG(sapi_headers).http_response_code = 401; /* authentication-required */
--#if HAVE_PCRE || HAVE_BUNDLED_PCRE
-- if(PG(safe_mode)) {
-- myuid = php_getuid();
--
-- ptr_len = strlen(ptr);
-- MAKE_STD_ZVAL(repl_temp);
-- Z_TYPE_P(repl_temp) = IS_STRING;
-- Z_STRVAL_P(repl_temp) = emalloc(32);
-- Z_STRLEN_P(repl_temp) = sprintf(Z_STRVAL_P(repl_temp), "realm=\"\\1-%ld\"", myuid);
-- /* Modify quoted realm value */
-- result = php_pcre_replace("/realm=\"(.*?)\"/i", 16,
-- ptr, ptr_len,
-- repl_temp,
-- 0, &result_len, -1 TSRMLS_CC);
-- if(result_len==ptr_len) {
-- efree(result);
-- sprintf(Z_STRVAL_P(repl_temp), "realm=\\1-%ld\\2", myuid);
-- /* modify unquoted realm value */
-- result = php_pcre_replace("/realm=([^\\s]+)(.*)/i", 21,
-- ptr, ptr_len,
-- repl_temp,
-- 0, &result_len, -1 TSRMLS_CC);
-- if(result_len==ptr_len) {
-- char *lower_temp = estrdup(ptr);
-- char conv_temp[32];
-- int conv_len;
--
-- php_strtolower(lower_temp,strlen(lower_temp));
-- /* If there is no realm string at all, append one */
-- if(!strstr(lower_temp,"realm")) {
-- efree(result);
-- conv_len = sprintf(conv_temp," realm=\"%ld\"",myuid);
-- result = emalloc(ptr_len+conv_len+1);
-- result_len = ptr_len+conv_len;
-- memcpy(result, ptr, ptr_len);
-- memcpy(result+ptr_len, conv_temp, conv_len);
-- *(result+ptr_len+conv_len) = '\0';
-- }
-- efree(lower_temp);
-- }
-- }
-- newlen = sizeof("WWW-Authenticate: ") + result_len;
-- newheader = emalloc(newlen+1);
-- sprintf(newheader,"WWW-Authenticate: %s", result);
-- efree(header_line);
-- sapi_header.header = newheader;
-- sapi_header.header_len = newlen;
-- efree(result);
-- efree(Z_STRVAL_P(repl_temp));
-- efree(repl_temp);
-- }
--#else
- if(PG(safe_mode)) {
- myuid = php_getuid();
- result = emalloc(32);
-@@ -534,7 +474,6 @@
- sapi_header.header_len = newlen;
- efree(result);
- }
--#endif
- }
- if (sapi_header.header==header_line) {
- *colon_offset = ':';
+++ /dev/null
---- php-4.2.0/configure.in.orig Wed May 1 22:39:35 2002
-+++ php-4.2.0/configure.in Wed May 1 22:41:49 2002
-@@ -659,16 +659,6 @@
- AC_MSG_RESULT([/usr/local/php/bin])
- ])
-
--PHP_ARG_WITH(openssl,for OpenSSL support,
--[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.5) ])
--if test "$PHP_OPENSSL" = "yes"; then
-- PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
--fi
--
--if test "$PHP_OPENSSL" != "no"; then
-- PHP_SETUP_OPENSSL
--fi
--
- PHP_ARG_ENABLE(sigchild,whether to enable PHP's own SIGCHLD handler,
- [ --enable-sigchild Enable PHP's own SIGCHLD handler.],no)
-
-diff -Nur php-4.2.0/ext/openssl.orig/Makefile.in php-4.2.0/ext/openssl/Makefile.in
---- php-4.2.0/ext/openssl.orig/Makefile.in Mon Nov 13 20:47:19 2000
-+++ php-4.2.0/ext/openssl/Makefile.in Wed May 1 23:12:07 2002
-@@ -3,5 +3,6 @@
- LTLIBRARY_NAME = libopenssl.la
- LTLIBRARY_SOURCES = openssl.c
- LTLIBRARY_SHARED_NAME = openssl.la
-+LTLIBRARY_SHARED_LIBADD = $(OPENSSL_SHARED_LIBADD)
-
- include $(top_srcdir)/build/dynlib.mk
-diff -Nur php-4.2.0/ext/openssl.orig/config.m4 php-4.2.0/ext/openssl/config.m4
---- php-4.2.0/ext/openssl.orig/config.m4 Fri Nov 30 19:59:48 2001
-+++ php-4.2.0/ext/openssl/config.m4 Wed May 1 23:16:39 2002
-@@ -2,6 +2,16 @@
- dnl $Id$
- dnl
-
-+PHP_ARG_WITH(openssl,for OpenSSL support,
-+[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.5) ])
-+if test "$PHP_OPENSSL" = "yes"; then
-+ PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
-+fi
-+
-+if test "$PHP_OPENSSL" != "no"; then
-+ PHP_SETUP_OPENSSL
-+fi
-+
- if test "$OPENSSL_DIR"; then
- PHP_EXTENSION(openssl, $ext_shared)
- AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
---- php-4.2.0/acinclude.m4.orig Wed May 1 23:16:39 2002
-+++ php-4.2.0/acinclude.m4 Wed May 1 23:18:31 2002
-@@ -85,17 +85,18 @@
- PHP_ADD_LIBPATH($OPENSSL_DIR/lib)
-
- AC_CHECK_LIB(crypto, CRYPTO_free, [
-- PHP_ADD_LIBRARY(crypto)
-+ PHP_ADD_LIBRARY(crypto,, OPENSSL_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([libcrypto not found!])
- ])
-
- AC_CHECK_LIB(ssl, SSL_CTX_set_ssl_version, [
-- PHP_ADD_LIBRARY(ssl)
-+ PHP_ADD_LIBRARY(ssl,, OPENSSL_SHARED_LIBADD)
- ],[
- AC_MSG_ERROR([libssl not found!])
- ])
- PHP_ADD_INCLUDE($OPENSSL_INC)
-+ PHP_SUBST(OPENSSL_SHARED_LIBADD)
- ])
-
- dnl PHP_EVAL_LIBLINE(LINE, SHARED-LIBADD)
+++ /dev/null
---- php-5.0.0/scripts/phpize.m4~ 2003-09-03 08:08:12.000000000 +0000
-+++ php-5.0.0/scripts/phpize.m4 2004-08-07 19:08:40.369661968 +0000
-@@ -29,10 +29,10 @@
- AC_MSG_RESULT($EXTENSION_DIR)
- ])
- dnl
--AC_DEFUN(PHP_EXT_BUILDDIR,[.])dnl
--AC_DEFUN(PHP_EXT_DIR,[""])dnl
--AC_DEFUN(PHP_EXT_SRCDIR,[$abs_srcdir])dnl
--AC_DEFUN(PHP_ALWAYS_SHARED,[
-+AC_DEFUN([PHP_EXT_BUILDDIR],[.])dnl
-+AC_DEFUN([PHP_EXT_DIR],[""])dnl
-+AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir])dnl
-+AC_DEFUN([PHP_ALWAYS_SHARED],[
- ext_output="yes, shared"
- ext_shared=yes
- test "[$]$1" = "no" && $1=yes
+++ /dev/null
---- php-4.3.3RC3/ext/qtdom/config.m4~ 2002-11-18 06:06:37.000000000 +0100
-+++ php-4.3.3RC3/ext/qtdom/config.m4 2003-08-17 11:40:07.000000000 +0200
-@@ -11,6 +11,9 @@
- if test -f $QTDIR/include/qdom.h; then
- QTDOM_LIBDIR=$QTDIR/lib
- QTDOM_INCDIR=$QTDIR/include
-+ elif test -f /usr/include/qt/qdom.h; then
-+ QTDOM_LIBDIR=/usr/lib
-+ QTDOM_INCDIR=/usr/include/qt
- elif test -f /usr/lib/qt2/include/qdom.h; then
- QTDOM_LIBDIR=/usr/lib
- QTDOM_INCDIR=/usr/lib/qt2/include
-@@ -28,7 +31,7 @@
- AC_MSG_ERROR([qdom.h not found.])
- fi
-
-- PHP_ADD_LIBRARY_WITH_PATH(qt, $QTDOM_LIBDIR, QTDOM_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY_WITH_PATH(qt-mt, $QTDOM_LIBDIR, QTDOM_SHARED_LIBADD)
- PHP_ADD_INCLUDE($QTDOM_INCDIR)
- PHP_NEW_EXTENSION(qtdom, qtdom.c qtdom_qt.cpp, $ext_shared)
- PHP_SUBST(QTDOM_SHARED_LIBADD)
+++ /dev/null
---- php-4.2.0/ext/session/config.m4.orig Fri Nov 30 19:59:56 2001
-+++ php-4.2.0/ext/session/config.m4 Wed May 1 22:25:30 2002
-@@ -22,7 +22,9 @@
- PHP_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/lib, SESSION_SHARED_LIBADD)
- PHP_ADD_INCLUDE($MM_DIR/include)
- AC_DEFINE(HAVE_LIBMM, 1, [Whether you have libmm])
-+ if test "$ext_shared" = "no"; then
- PHP_MODULE_PTR(phpext_ps_mm_ptr)
-+ fi
- fi
-
- if test "$PHP_SESSION" != "no"; then
+++ /dev/null
---- php-4.3.0/ext/wddx/config.m4.orig Tue Mar 12 17:37:42 2002
-+++ php-4.3.0/ext/wddx/config.m4 Thu Jan 2 21:00:50 2003
-@@ -12,4 +12,6 @@
- fi
- AC_DEFINE(HAVE_WDDX, 1, [ ])
- PHP_NEW_EXTENSION(wddx, wddx.c, $ext_shared)
-+ WDDX_SHARED_LIBADD="-lexpat"
-+ PHP_SUBST(WDDX_SHARED_LIBADD)
- fi
+++ /dev/null
---- php-4.3.0/ext/xml/config.m4.orig Thu Nov 7 20:31:08 2002
-+++ php-4.3.0/ext/xml/config.m4 Thu Jan 2 19:54:39 2003
-@@ -27,7 +27,7 @@
- else
- PHP_NEW_EXTENSION(xml, xml.c, $ext_shared)
-
-- for i in $PHP_XML $PHP_EXPAT_DIR; do
-+ for i in /usr /usr/local $PHP_XML `echo $PHP_EXPAT_DIR | sed -e s/shared,//` ; do
- if test -f $i/lib/libexpat.a -o -f $i/lib/libexpat.$SHLIB_SUFFIX_NAME ; then
- EXPAT_DIR=$i
- fi
+++ /dev/null
---- php-4.2.1/ext/xmlrpc/config.m4.orig Tue Mar 26 01:15:29 2002
-+++ php-4.2.1/ext/xmlrpc/config.m4 Tue May 14 17:48:54 2002
-@@ -57,12 +57,18 @@
-
- if test -r $PHP_XMLRPC/include/xmlrpc.h; then
- XMLRPC_DIR=$PHP_XMLRPC
-+ XMLRPC_INC=$$XMLRPC_DIR/include
- else
- AC_MSG_CHECKING(for XMLRPC-EPI in default path)
- for i in /usr/local /usr; do
- if test -r $i/include/xmlrpc.h; then
- XMLRPC_DIR=$i
-+ XMLRPC_INC=$i/include
- AC_MSG_RESULT(found in $i)
-+ elif test -r $i/include/xmlrpc-epi/xmlrpc.h; then
-+ XMLRPC_DIR=$i
-+ XMLRPC_INC=$i/include/xmlrpc-epi
-+ AC_MSG_RESULT([found in $i, includes in $i/include/xmlrpc-epi])
- fi
- done
- fi
-@@ -72,7 +78,7 @@
- AC_MSG_ERROR(Please reinstall the XMLRPC-EPI distribution)
- fi
-
-- PHP_ADD_INCLUDE($XMLRPC_DIR/include)
-+ PHP_ADD_INCLUDE($XMLRPC_INC)
- PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/lib, XMLRPC_SHARED_LIBADD)
-
- fi
+++ /dev/null
---- php-4.3.2/ext/xslt/config.m4.orig Wed Apr 23 08:55:00 2003
-+++ php-4.3.2/ext/xslt/config.m4 Fri Jun 13 13:08:17 2003
-@@ -66,7 +66,7 @@
- SABINF_CFLAGS=`$XSLT_DIR/bin/sablot-config --cflags`
- SABINF_LIBS=`$XSLT_DIR/bin/sablot-config --libs`
- SABINF_PREFIX=`$XSLT_DIR/bin/sablot-config --prefix`
-- SABINF_ALL="\"Cflags: $SABINF_CFLAGS\nLibs: $SABINF_LIBS\nPrefix: $SABINF_PREFIX\""
-+ SABINF_ALL="\"Cflags: $SABINF_CFLAGS\\\\nLibs: $SABINF_LIBS\\\\nPrefix: $SABINF_PREFIX\""
- PHP_DEFINE(SAB_INFO, "$SABINF_ALL")
- else
- AC_MSG_RESULT(not found)
+++ /dev/null
-[PHP]
-
-;;;;;;;;;;;;;;;;;;;
-; About this file ;
-;;;;;;;;;;;;;;;;;;;
-; This file controls many aspects of PHP's behavior. In order for PHP to
-; read it, it must be named 'php.ini'. PHP looks for it in the current
-; working directory, in the path designated by the environment variable
-; PHPRC, and in the path that was defined in compile time (in that order).
-; Under Windows, the compile-time path is the Windows directory. The
-; path in which the php.ini file is looked for can be overriden using
-; the -c argument in command line mode.
-;
-; The syntax of the file is extremely simple. Whitespace and Lines
-; beginning with a semicolon are silently ignored (as you probably guessed).
-; Section headers (e.g. [Foo]) are also silently ignored, even though
-; they might mean something in the future.
-;
-; Directives are specified using the following syntax:
-; directive = value
-; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
-;
-; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
-; of the INI constants (On, Off, True, False, Yes and No) or an expression
-; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
-;
-; Expressions in the INI file are limited to bitwise operators and parentheses:
-; | bitwise OR
-; & bitwise AND
-; ~ bitwise NOT
-;
-; Boolean flags can be turned on using the values 1, On, True or Yes.
-; They can be turned off using the values 0, Off, False or No.
-;
-; If you use constants in your value, and these constants belong to a dynamically
-; loaded extension (either a PHP extension or a Zend extension), you may only
-; use these constants *after* the line that loads the extension.
-;
-; All the values in the php.ini-dist file correspond to the builtin
-; defaults (that is, if no php.ini is used, or if you delete these lines,
-; the builtin defaults will be identical).
-
-
-;;;;;;;;;;;;;;;;;;;;
-; Language Options ;
-;;;;;;;;;;;;;;;;;;;;
-
-engine = On ; Enable the PHP scripting language engine under Apache
-short_open_tag = On ; allow the <? tag. otherwise, only <?php and <script> tags are recognized.
-asp_tags = Off ; allow ASP-style <% %> tags
-precision = 14 ; number of significant digits displayed in floating point numbers
-y2k_compliance = Off ; whether to be year 2000 compliant (will cause problems with non y2k compliant browsers)
-output_buffering = Off ; Output buffering allows you to send header lines (including cookies)
- ; even after you send body content, in the price of slowing PHP's
- ; output layer a bit.
- ; You can enable output buffering by in runtime by calling the output
- ; buffering functions, or enable output buffering for all files
- ; by setting this directive to On.
-implicit_flush = Off ; Implicit flush tells PHP to tell the output layer to flush itself
- ; automatically after every output block. This is equivalent to
- ; calling the PHP function flush() after each and every call to print()
- ; or echo() and each and every HTML block.
- ; Turning this option on has serious performance implications, and
- ; is generally recommended for debugging purposes only.
-allow_call_time_pass_reference = On ; whether to enable the ability to force arguments to be
- ; passed by reference at function-call time. This method
- ; is deprecated, and is likely to be unsupported in future
- ; versions of PHP/Zend. The encouraged method of specifying
- ; which arguments should be passed by reference is in the
- ; function declaration. You're encouraged to try and
- ; turn this option Off, and make sure your scripts work
- ; properly with it, to ensure they will work with future
- ; versions of the language (you will receive a warning
- ; each time you use this feature, and the argument will
- ; be passed by value instead of by reference).
-
-; Safe Mode
-safe_mode = Off
-safe_mode_exec_dir =
-safe_mode_allowed_env_vars = PHP_ ; Setting certain environment variables
- ; may be a potential security breach.
- ; This directive contains a comma-delimited
- ; list of prefixes. In Safe Mode, the
- ; user may only alter environment
- ; variables whose names begin with the
- ; prefixes supplied here.
- ; By default, users will only be able
- ; to set environment variables that begin
- ; with PHP_ (e.g. PHP_FOO=BAR).
- ; Note: If this directive is empty, PHP
- ; will let the user modify ANY environment
- ; variable!
-safe_mode_protected_env_vars = LD_LIBRARY_PATH ; This directive contains a comma-
- ; delimited list of environment variables,
- ; that the end user won't be able to
- ; change using putenv().
- ; These variables will be protected
- ; even if safe_mode_allowed_env_vars is
- ; set to allow to change them.
-
-; Colors for Syntax Highlighting mode. Anything that's acceptable in <font color=???> would work.
-highlight.string = #DD0000
-highlight.comment = #FF8000
-highlight.keyword = #007700
-highlight.bg = #FFFFFF
-highlight.default = #0000BB
-highlight.html = #000000
-
-; Misc
-expose_php = On ; Decides whether PHP may expose the fact that it is installed on the
- ; server (e.g., by adding its signature to the Web server header).
- ; It is no security threat in any way, but it makes it possible
- ; to determine whether you use PHP on your server or not.
-
-
-
-;;;;;;;;;;;;;;;;;;;
-; Resource Limits ;
-;;;;;;;;;;;;;;;;;;;
-
-max_execution_time = 30 ; Maximum execution time of each script, in seconds (UNIX only)
-memory_limit = 8388608 ; Maximum amount of memory a script may consume (8MB)
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Error handling and logging ;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; error_reporting is a bit-field. Or each number up to get desired error reporting level
-; E_ALL - All errors and warnings
-; E_ERROR - fatal run-time errors
-; E_WARNING - run-time warnings (non fatal errors)
-; E_PARSE - compile-time parse errors
-; E_NOTICE - run-time notices (these are warnings which often result from a bug in
-; your code, but it's possible that it was intentional (e.g., using an
-; uninitialized variable and relying on the fact it's automatically
-; initialized to an empty string)
-; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
-; E_CORE_WARNING - warnings (non fatal errors) that occur during PHP's initial startup
-; E_COMPILE_ERROR - fatal compile-time errors
-; E_COMPILE_WARNING - compile-time warnings (non fatal errors)
-; Examples:
-; error_reporting = E_ALL & ~E_NOTICE ; show all errors, except for notices
-; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; show only errors
-error_reporting = E_ALL & ~E_NOTICE ; Show all errors except for notices
-display_errors = On ; Print out errors (as a part of the HTML script)
-log_errors = Off ; Log errors into a log file (server-specific log, stderr, or error_log (below))
-track_errors = Off ; Store the last error/warning message in $php_errormsg (boolean)
-;error_prepend_string = "<font color=ff0000>" ; string to output before an error message
-;error_append_string = "</font>" ; string to output after an error message
-;error_log = filename ; log errors to specified file
-;error_log = syslog ; log errors to syslog (Event Log on NT, not valid in Windows 95)
-warn_plus_overloading = Off ; warn if the + operator is used with strings
-
-
-;;;;;;;;;;;;;;;;;
-; Data Handling ;
-;;;;;;;;;;;;;;;;;
-variables_order = "EGPCS" ; This directive describes the order in which PHP registers
- ; GET, POST, Cookie, Environment and Built-in variables (G, P,
- ; C, E & S respectively, often referred to as EGPCS or GPC).
- ; Registration is done from left to right, newer values override
- ; older values.
-register_globals = On ; Whether or not to register the EGPCS variables as global
- ; variables. You may want to turn this off if you don't want
- ; to clutter your scripts' global scope with user data. This makes
- ; most sense when coupled with track_vars - in which case you can
- ; access all of the GPC variables through the $HTTP_*_VARS[],
- ; variables.
-register_argv_argc = On ; This directive tells PHP whether to declare the argv&argc
- ; variables (that would contain the GET information). If you
- ; don't use these variables, you should turn it off for
- ; increased performance
-track_vars = On ; enable the $HTTP_*_VARS[] arrays, where * is one of
- ; ENV, POST, GET, COOKIE or SERVER.
-gpc_order = "GPC" ; This directive is deprecated. Use variables_order instead.
-
-; Magic quotes
-magic_quotes_gpc = On ; magic quotes for incoming GET/POST/Cookie data
-magic_quotes_runtime= Off ; magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-magic_quotes_sybase = Off ; Use Sybase-style magic quotes (escape ' with '' instead of \')
-
-; automatically add files before or after any PHP document
-auto_prepend_file =
-auto_append_file =
-
-
-;;;;;;;;;;;;;;;;;;;;;;;;;
-; Paths and Directories ;
-;;;;;;;;;;;;;;;;;;;;;;;;;
-;include_path = ; UNIX: "/path1:/path2" Windows: "\path1;\path2"
-;doc_root = ; the root of the php pages, used only if nonempty
-;user_dir = ; the directory under which php opens the script using /~username, used only if nonempty
-;upload_tmp_dir = ; temporary directory for HTTP uploaded files (will use system default if not specified)
-upload_max_filesize = 2097152 ; 2 Meg default limit on file uploads
-;extension_dir = /usr/lib/apache/php/ ; directory in which the loadable extensions (modules) reside
-
-
-;;;;;;;;;;;;;;;;;;;;;;
-; Dynamic Extensions ;
-;;;;;;;;;;;;;;;;;;;;;;
-; if you wish to have an extension loaded automaticly, use the
-; following syntax: extension=modulename.extension
-; for example, on windows,
-; extension=msql.dll
-; or under UNIX,
-; extension=msql.so
-; Note that it should be the name of the module only, no directory information
-; needs to go here. Specify the location of the extension with the extension_dir directive above.
-
-;UNIX Extensions
-;extension=bcmath.so
-;extension=calendar.so
-;extension=cpdf.so
-;extension=dba.so
-;extension=dbase.so
-;extension=exif.so
-;extension=filepro.so
-;extension=ftp.so
-;extension=gd.so
-;extension=gettext.so
-;extension=imap.so
-;extension=ldap.so
-;extension=libphp_java.so
-;extension=mysql.so
-;extension=pcre.so
-;extension=pdf.so
-;extension=pgsql.so
-;extension=posix.so
-;extension=recode.so
-;extension=session.so
-;extension=snmp.so
-;extension=sysvsem.so
-;extension=sysvshm.so
-;extension=xml.so
-;extension=yp.so
-;extension=zlib.so
-
-;zend_optimizer.optimization_level=7
-;zend_extension="/usr/lib/apache/php/ZendOptimizer.so"
-
-;;;;;;;;;;;;;;;;;;;
-; Module Settings ;
-;;;;;;;;;;;;;;;;;;;
-
-[Syslog]
-define_syslog_variables = Off ; Whether or not to define the various syslog variables,
- ; e.g. $LOG_PID, $LOG_CRON, etc. Turning it off is a
- ; good idea performance-wise. In runtime, you can define
- ; these variables by calling define_syslog_variables()
-
-
-[mail function]
-SMTP = localhost ;for win32 only
-sendmail_from = me@localhost.com ;for win32 only
-sendmail_path = "/usr/sbin/sendmail -t" ;for unix only, may supply arguments as well (default is sendmail -t)
-
-[Debugger]
-debugger.host = localhost
-debugger.port = 7869
-debugger.enabled = False
-
-[Logging]
-; These configuration directives are used by the example logging mechanism.
-; See examples/README.logging for more explanation.
-;logging.method = db
-;logging.directory = /path/to/log/directory
-
-[SQL]
-sql.safe_mode = Off
-
-[ODBC]
-;uodbc.default_db = Not yet implemented
-;uodbc.default_user = Not yet implemented
-;uodbc.default_pw = Not yet implemented
-uodbc.allow_persistent = On ; allow or prevent persistent links
-uodbc.check_persistent = On ; check that a connection is still validbefore reuse
-uodbc.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-uodbc.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-uodbc.defaultlrl = 4096 ; Handling of LONG fields. Returns number of bytes to variables, 0 means passthru
-uodbc.defaultbinmode = 1 ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char
-; See the documentation on odbc_binmode and odbc_longreadlen for an explanation of uodbc.defaultlrl
-; and uodbc.defaultbinmode
-
-[MySQL]
-mysql.allow_persistent = On ; allow or prevent persistent link
-mysql.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-mysql.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-mysql.default_port = ; default port number for mysql_connect(). If unset,
- ; mysql_connect() will use the $MYSQL_TCP_PORT, or the mysql-tcp
- ; entry in /etc/services, or the compile-time defined MYSQL_PORT
- ; (in that order). Win32 will only look at MYSQL_PORT.
-mysql.default_host = ; default host for mysql_connect() (doesn't apply in safe mode)
-mysql.default_user = ; default user for mysql_connect() (doesn't apply in safe mode)
-mysql.default_password = ; default password for mysql_connect() (doesn't apply in safe mode)
- ; Note that this is generally a *bad* idea to store passwords
- ; in this file. *Any* user with PHP access can run
- ; 'echo cfg_get_var("mysql.default_password")' and reveal that
- ; password! And of course, any users with read access to this
- ; file will be able to reveal the password as well.
-
-[mSQL]
-msql.allow_persistent = On ; allow or prevent persistent link
-msql.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-msql.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-
-[PostgresSQL]
-pgsql.allow_persistent = On ; allow or prevent persistent link
-pgsql.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-pgsql.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-
-[Sybase]
-sybase.allow_persistent = On ; allow or prevent persistent link
-sybase.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-sybase.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-;sybase.interface_file = "/usr/sybase/interfaces"
-sybase.min_error_severity = 10 ; minimum error severity to display
-sybase.min_message_severity = 10 ; minimum message severity to display
-sybase.compatability_mode = Off ; compatability mode with old versions of PHP 3.0.
- ; If on, this will cause PHP to automatically assign types to results
- ; according to their Sybase type, instead of treating them all as
- ; strings. This compatability mode will probably not stay around
- ; forever, so try applying whatever necessary changes to your code,
- ; and turn it off.
-
-[Sybase-CT]
-sybct.allow_persistent = On ; allow or prevent persistent link
-sybct.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-sybct.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-sybct.min_server_severity = 10 ; minimum server message severity to display
-sybct.min_client_severity = 10 ; minimum client message severity to display
-
-[bcmath]
-bcmath.scale = 0 ; number of decimal digits for all bcmath functions
-
-[browscap]
-;browscap = extra/browscap.ini
-
-[Informix]
-ifx.default_host = ; default host for ifx_connect() (doesn't apply in safe mode)
-ifx.default_user = ; default user for ifx_connect() (doesn't apply in safe mode)
-ifx.default_password = ; default password for ifx_connect() (doesn't apply in safe mode)
-ifx.allow_persistent = On ; allow or prevent persistent link
-ifx.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-ifx.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-ifx.textasvarchar = 0 ; if set on, select statements return the contents of a text blob instead of it's id
-ifx.byteasvarchar = 0 ; if set on, select statements return the contents of a byte blob instead of it's id
-ifx.charasvarchar = 0 ; trailing blanks are stripped from fixed-length char columns. May help the life
- ; of Informix SE users.
-ifx.blobinfile = 0 ; if set on, the contents of text&byte blobs are dumped to a file instead of
- ; keeping them in memory
-ifx.nullformat = 0 ; NULL's are returned as empty strings, unless this is set to 1. In that case,
- ; NULL's are returned as string 'NULL'.
-
-[Session]
-session.save_handler = files ; handler used to store/retrieve data
-;; NOTE: default save_path is set in SAPI-dependent .ini file
-;session.save_path = /tmp ; argument passed to save_handler
-; ; in the case of files, this is the
-; ; path where data files are stored
-session.use_cookies = 1 ; whether to use cookies
-session.name = PHPSESSID
- ; name of the session
- ; is used as cookie name
-session.auto_start = 0 ; initialize session on request startup
-session.cookie_lifetime = 0 ; lifetime in seconds of cookie
- ; or if 0, until browser is restarted
-session.cookie_path = / ; the path the cookie is valid for
-session.cookie_domain = ; the domain the cookie is valid for
-session.serialize_handler = php ; handler used to serialize data
- ; php is the standard serializer of PHP
-session.gc_probability = 1 ; procentual probability that the
- ; 'garbage collection' process is started
- ; on every session initialization
-session.gc_maxlifetime = 1440 ; after this number of seconds, stored
- ; data will be seen as 'garbage' and
- ; cleaned up by the gc process
-session.referer_check = ; check HTTP Referer to invalidate
- ; externally stored URLs containing ids
-session.entropy_length = 0 ; how many bytes to read from the file
-session.entropy_file = ; specified here to create the session id
-; session.entropy_length = 16
-; session.entropy_file = /dev/urandom
-session.cache_limiter = nocache ; set to {nocache,private,public} to
- ; determine HTTP caching aspects
-session.cache_expire = 180 ; document expires after n minutes
-
-[MSSQL]
-;extension=php_mssql.dll
-mssql.allow_persistent = On ; allow or prevent persistent link
-mssql.max_persistent = -1 ; maximum number of persistent links. -1 means no limit
-mssql.max_links = -1 ; maximum number of links (persistent+non persistent). -1 means no limit
-mssql.min_error_severity = 10 ; minimum error severity to display
-mssql.min_message_severity = 10 ; minimum message severity to display
-mssql.compatability_mode = Off ; compatability mode with old versions of PHP 3.0.
-
-[Assertion]
-;assert.active = Off ; assert(expr); does nothing by default
-;assert.warning = On ; issue a PHP warning for each failed assertion.
-;assert.bail = Off ; don't bail out by default.
-;assert.callback = 0 ; user-function to be called if an assertion fails.
-;assert.quiet_eval = 0 ; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval().
-
-
-