blob: 438d5bbd81e3a5c3f8fe6f2bd6aadb1dae63ed98 [file] [log] [blame]
<html>
<head>
<link rel="stylesheet" type="text/css" href="dox.css" />
<title>libapreq2-2.13: libapreq2: FAQ</title>
</head>
<body>
<div id="page-header">
<p class="menu">
<a href="http://www.apache.org/">Apache Software Foundation</a> &gt; <a href="http://httpd.apache.org">HTTP Server Project</a> &gt;
<a href="http://httpd.apache.org/apreq/">Request Library Subproject</a></p>
<p class="apache">Apache HTTP Server Request Library</p>
<img alt="" src="feather.gif" /></div>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1><a class="anchor" name="apreq_faq">FAQ </a></h1>
<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>
<ul>
<li><a href="#issues_during_installation_">Issues during installation.</a></li>
<li><a href="#using_libapreq2_with_apache2_and_mod_perl2_">Using libapreq2 with Apache2 and mod_perl2.</a></li>
<ul>
<li><a href="#i_keep_getting_undefined_symbol_errors_whenever">I keep getting &quot;undefined symbol&quot; errors whenever</a></li>
<li><a href="#when_i_use_apache2__request_in_my_output_filter__it_seems_to_lose">When I use Apache2::Request in my output filter, it seems to lose</a></li>
<li><a href="#when_i_try_to_upload_a_file__why_do_i_get_this_error">When I try to upload a file, why do I get this error</a></li>
</ul>
<li><a href="#using_libapreq2_outside_of_apache_">Using libapreq2 outside of Apache.</a></li>
<li><a href="#contributing_to_apreq_development_">Contributing to apreq development.</a></li>
<ul>
<li><a href="#how_is_the_subversion_repository_managed">How is the subversion repository managed?</a></li>
</ul>
</ul>
<hr name="index" />
</div>
<!-- INDEX END -->
<p>
</p>
<h1><a name="issues_during_installation_">Issues during installation.</a></h1>
<p>[...]</p>
<p>
</p>
<hr />
<h1><a name="using_libapreq2_with_apache2_and_mod_perl2_">Using libapreq2 with Apache2 and mod_perl2.</a></h1>
<p>
</p>
<h2><a name="i_keep_getting_undefined_symbol_errors_whenever_i_use_apache2__request_or_apr__request__apache2_">I keep getting &quot;undefined symbol&quot; errors whenever
I use Apache2::Request or APR::Request::Apache2.</a></h2>
<p>You need to load mod_apreq2.so at server startup, which grabs
all the required symbols at server startup. Be sure your server
config contains a line like</p>
<pre>
LoadModule apreq_module modules/mod_apreq2.so</pre>
<p>
</p>
<h2><a name="when_i_use_apache2__request_in_my_output_filter__it_seems_to_lose_the_incoming_post_variables_">When I use Apache2::Request in my output filter, it seems to lose
the incoming POST variables.</a></h2>
<p>The problem is likely that the mod_apreq2 filter has not been
added to the input filter chain in time to read the POST data.</p>
<p>There are two solutions to this problem:</p>
<pre>
1) Write a filter init handler for you filter that instantiates an
Apache2::Request object.</pre>
<pre>
<a href="http://perl.apache.org/docs/2.0/api/Apache2/Filter.html#C_FilterInitHandler_">http://perl.apache.org/docs/2.0/api/Apache2/Filter.html#C_FilterInitHandler_</a></pre>
<pre>
2) Use .htaccess or your server config to ensure the apreq input filter
is active for this request with &quot;AddInputFilter APREQ&quot; or somesuch.</pre>
<p>We recommend using (1), and falling back to (2) until you get (1) working.</p>
<p>
</p>
<h2><a name="when_i_try_to_upload_a_file__why_do_i_get_this_error__error__can_t_locate_____apache2_request_upload_al_in__inc">When I try to upload a file, why do I get this error
&quot;[error] Can't locate .../Apache2/Request/upload.al in @INC&quot;?</a></h2>
<p><em>Apache2::Upload</em> is now a separate module in apreq2, so you need to
<code>use Apache2::Upload</code> to load the <code>Apache2::Request::upload</code> function.</p>
<p>This also applies to &quot;Can't locate auto/APR/Request/Param/slurp.al in @INC&quot;.
This is because <em>Apache2::Upload</em> is implement by wrapping the <em>APR::Request::*</em>
packages.</p>
<p>
</p>
<hr />
<h1><a name="using_libapreq2_outside_of_apache_">Using libapreq2 outside of Apache.</a></h1>
<p>[...]</p>
<p>
</p>
<hr />
<h1><a name="contributing_to_apreq_development_">Contributing to apreq development.</a></h1>
<p>
</p>
<h2><a name="how_is_the_subversion_repository_managed">How is the subversion repository managed?</a></h2>
<p>apreq's repository is broken into three subdirectories:</p>
<pre>
/trunk - the current codebase for active development.
/tags - release snapshots.
/branches - where older releases and experimental development lines live.</pre>
<p>apreq follows a Commit-then-Review policy for its entire repository,
but being a shared library places certain restrictions on the admissible
changes for stable trees. Basically the header files cannot be modified;
only new functions and structures may be added to them. Any time that
happens, the minor-version needs to be bumped, and the patch-level gets
reset to zero. Changes that only modify the library's implementation (.c)
files require a bump to the patch-level. On stable trees, this version
tracking should happen on each commit, to make auditing easy for other
developers without resorting to a draconian Review-then-Commit policy.</p>
</div>
<div id="footer">
<p class="apache">
Copyright &copy; 2003-2006 <a href="http://www.apache.org">The Apache Software Foundation</a>.<br/>
See <a href="apreq_license.html">LICENSE</a>.</p>
<p class="menu">
<span style="color:#aaa">page generated by <a href="http://www.doxygen.org/"><code>doxygen</code></a>
version 1.5.6 on 3 Dec 2010</span>
</p>
</div>
</body>
</html>