<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2729532248015856321</id><updated>2012-02-17T06:30:19.099-08:00</updated><title type='text'>modperl</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default?start-index=101&amp;max-results=100'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4445</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7254060720741088784</id><published>2012-02-17T06:29:00.000-08:00</published><updated>2012-02-17T06:30:19.168-08:00</updated><title type='text'>Re: mod_perl causing Apache Segmentation fault</title><content type='html'>On 17 Feb 2012, at 14:03, Mauritz Hansen wrote:&lt;p&gt;&amp;gt;    #17 0x000000000046432b in invoke_cmd (cmd=0x5b9880,&lt;br&gt;&amp;gt; parms=0x7fffffffe770, mconfig=0x844728, args=0x89b7d8 &amp;quot;use lib qw(&lt;br&gt;&amp;gt; /usr/local/apache2/virtualhosts/&lt;a href="http://api.nwwi.nl"&gt;api.nwwi.nl&lt;/a&gt; /httpdocs/lib/ );\n&amp;quot;) at&lt;br&gt;&amp;gt; config.c:757&lt;p&gt;This appears to be what it&amp;#39;s trying to do. Take that directive&lt;br&gt;out and see what happens?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7254060720741088784?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7254060720741088784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7254060720741088784&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7254060720741088784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7254060720741088784'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-modperl-causing-apache-segmentation.html' title='Re: mod_perl causing Apache Segmentation fault'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5916188674410896324</id><published>2012-02-17T06:03:00.000-08:00</published><updated>2012-02-17T06:04:19.555-08:00</updated><title type='text'>mod_perl causing Apache Segmentation fault</title><content type='html'>NOTE: I posted have posted this question on Stackoverflow and have not yet&lt;br&gt;received an answer.&lt;br&gt;*********************************************&lt;p&gt;My mod_perl appears to cause a segmentation fault in my Apache. &amp;#39;httpd -X&amp;#39;&lt;br&gt;simply gives &amp;#39;Segmentation Fault&amp;#39; and my server does not start.&lt;p&gt;I am using Apache 2.2.22, mod_perl 2.0.5, CentOS 5.7 x86_64. I built&lt;br&gt;mod_perl and Apache together from source with the following command:&lt;p&gt;    perl5.12.4 Makefile.PL MP_USE_STATIC=1&lt;br&gt;MP_AP_PREFIX=/usr/local/src/httpd-2.2.22&lt;br&gt;MP_AP_CONFIGURE=&amp;quot;--with-mpm=prefork --enable-rewrite&amp;quot;&lt;p&gt;What I have tried so far:&lt;p&gt;    Point httpd.conf to my Catalyst application. Result: Apache dies with&lt;br&gt;&amp;#39;Segmentation fault&amp;#39;.&lt;br&gt;    Point httpd.conf to a simple application created with &lt;a href="http://catalyst.pl"&gt;catalyst.pl&lt;/a&gt;.&lt;br&gt;Apache dies with &amp;#39;Segmentation fault&amp;#39;.&lt;br&gt;    Point httpd.conf to a static site. Result: Apache starts fine and&lt;br&gt;serves the website.&lt;p&gt;I tried the following:&lt;p&gt;    gdb -c /usr/local/apache2/bin/httpd&lt;p&gt;    Program received signal SIGSEGV, Segmentation fault.&lt;p&gt;    0x00002aaab0db0270 in ?? ()&lt;p&gt;    (gdb) bt&lt;p&gt;    #0 0x00002aaab0db0270 in ?? ()&lt;p&gt;    #1 0x00000000004c9d24 in Perl_newUNOP ()&lt;p&gt;    #2 0x00000000004fb6a6 in Perl_yyparse ()&lt;p&gt;    #3 0x0000000000557c57 in S_doeval ()&lt;p&gt;    #4 0x0000000000559546 in Perl_pp_require ()&lt;p&gt;    #5 0x0000000000528bae in Perl_runops_standard ()&lt;p&gt;    #6 0x00000000004d5d2f in Perl_eval_sv ()&lt;p&gt;    #7 0x0000000000478425 in modperl_require_module ()&lt;p&gt;    #8 0x0000000000472283 in modperl_boot ()&lt;p&gt;    #9 0x00000000005529cc in Perl_leave_scope ()&lt;p&gt;    #10 0x00000000004d87eb in S_parse_body ()&lt;p&gt;    #11 0x00000000004d927c in perl_parse ()&lt;p&gt;    #12 0x0000000000471d2a in modperl_startup ()&lt;p&gt;    #13 0x0000000000471cbc in modperl_startup ()&lt;p&gt;    #14 0x000000000047202e in modperl_init ()&lt;p&gt;    #15 0x000000000047215f in modperl_hook_init ()&lt;p&gt;    #16 0x00000000004737bb in modperl_cmd_perldo ()&lt;p&gt;    #17 0x000000000046432b in invoke_cmd (cmd=0x5b9880,&lt;br&gt;parms=0x7fffffffe770, mconfig=0x844728, args=0x89b7d8 &amp;quot;use lib qw(&lt;br&gt;/usr/local/apache2/virtualhosts/&lt;a href="http://api.nwwi.nl"&gt;api.nwwi.nl&lt;/a&gt; /httpdocs/lib/ );\n&amp;quot;) at&lt;br&gt;config.c:757&lt;p&gt;    #18 0x0000000000465865 in ap_walk_config_sub (current=0x89b828,&lt;br&gt;parms=0x7fffffffe770, section_vector=0x830c18) at config.c:1163&lt;p&gt;    #19 0x0000000000465914 in ap_walk_config (current=0x89b828,&lt;br&gt;parms=0x7fffffffe770, section_vector=0x830c18) at config.c:1196&lt;p&gt;    #20 0x0000000000466cb9 in ap_process_config_tree (s=0x82de10,&lt;br&gt;conftree=0x86fcb0, p=0x822138, ptemp=0x82a178) at config.c:1765&lt;p&gt;    #21 0x0000000000449512 in main (argc=2, argv=0x7fffffffe9e8) at&lt;br&gt;main.c:723&lt;p&gt;I have no idea how to read and interpret this. Can somebody help and point&lt;br&gt;me in a direction to further troubleshoot this?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5916188674410896324?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5916188674410896324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5916188674410896324&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5916188674410896324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5916188674410896324'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/modperl-causing-apache-segmentation.html' title='mod_perl causing Apache Segmentation fault'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2605709994545703176</id><published>2012-02-15T17:23:00.000-08:00</published><updated>2012-02-15T17:24:31.000-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On Sat, Feb 11, 2012 at 7:23 PM, Aaron Knister &amp;lt;&lt;a href="mailto:aaronk@umbc.edu"&gt;aaronk@umbc.edu&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; I need to allow htaccess files for users to be able to customize their&lt;br&gt;&amp;gt; websites as required (specify authentication/authorization methods, rewrite&lt;br&gt;&amp;gt; rules, mime types, custom handlers etc.). I wish I could turn them off but I&lt;br&gt;&amp;gt; fear that it&amp;#39;s not feasible for me to do so.&lt;p&gt;Well, here&amp;#39;s my idea.  I&amp;#39;d turn off htaccess and provide an alternate&lt;br&gt;way for people to configure those things.  That might just be a file&lt;br&gt;called user.conf or something that you parse yourself and set conf&lt;br&gt;directives with.  Not exactly simple, but if security is the issue I&lt;br&gt;usually like a list of things you can do better than a list of things&lt;br&gt;you can&amp;#39;t.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2605709994545703176?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2605709994545703176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2605709994545703176&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2605709994545703176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2605709994545703176'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_15.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7629589803189829463</id><published>2012-02-13T08:00:00.001-08:00</published><updated>2012-02-13T08:00:46.583-08:00</updated><title type='text'>Re: Apache Children Stuck on futex</title><content type='html'>-----BEGIN PGP SIGNED MESSAGE-----&lt;br&gt;Hash: SHA1&lt;br&gt; &lt;br&gt;(Sorry about the grave-dig, but as this is still an issue.)&lt;p&gt;I&amp;#39;m still coming up to speed on the inner working of mod_perl (I&amp;#39;ve&lt;br&gt;never played in it before), but Max asked me to take a look at the futex&lt;br&gt;problem, so I thought I&amp;#39;d try to pick up where it was left off and&lt;br&gt;hopefully get this fixed.&lt;p&gt;My system:&lt;br&gt;Linux modperl 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC&lt;br&gt;2011 x86_64 x86_64 x86_64 GNU/Linux&lt;br&gt;Apache/2.2.20 (build from Ubuntu source packages with debug symbols)&lt;br&gt;mod_perl 2.0.5 (build from Ubuntu source packages with debug symbols)&lt;p&gt;Torsten F&amp;#246;rtsch wrote:&lt;p&gt;&amp;gt; Can you install the symbol tables for your modperl and perhaps check the&lt;br&gt;&amp;gt; values of *tipool in the core? I think it is&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; tipool-&amp;gt;size == tipool-&amp;gt;in_use == tipool-&amp;gt;cfg-&amp;gt;max&lt;p&gt;3, 0, and 5 respectively for all threads blocked on&lt;br&gt;modperl_tipool_wait(tipool).&lt;p&gt;&amp;gt; BTW, there are IMHO many points about the tipool implementation that&lt;br&gt;can be improved.&lt;br&gt;&amp;gt; Why do we use these lists? Wouldn&amp;#39;t it be better to allocated an array&lt;br&gt;of tipool-&amp;gt;cfg-&amp;gt;max&lt;br&gt;&amp;gt; pointers? Or perhaps an apr_hash_t in pconf?&lt;p&gt;As I don&amp;#39;t understand the inner workings yet, I don&amp;#39;t know, and hope&lt;br&gt;figure out.&lt;p&gt;Greg&lt;br&gt;P.S. Since it&amp;#39;s been a while, here is the archived thread:&lt;br&gt;&lt;a href="http://www.gossamer-threads.com/lists/modperl/modperl/103558#103558"&gt;http://www.gossamer-threads.com/lists/modperl/modperl/103558#103558&lt;/a&gt;&lt;br&gt;-----BEGIN PGP SIGNATURE-----&lt;br&gt;Version: GnuPG v2.0.14 (MingW32)&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href="http://enigmail.mozdev.org/"&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt; &lt;br&gt;iEYEARECAAYFAk85M4QACgkQF1oFywYE3z7GvACfSZ2uU7Vfnn60rRlEJHBNLkVk&lt;br&gt;nL8AoO7bz5sEM/B7OSDdZhgxbvi1j7gT&lt;br&gt;=NCp+&lt;br&gt;-----END PGP SIGNATURE-----&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7629589803189829463?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7629589803189829463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7629589803189829463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7629589803189829463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7629589803189829463'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-apache-children-stuck-on-futex.html' title='Re: Apache Children Stuck on futex'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-52666811135126346</id><published>2012-02-13T04:58:00.000-08:00</published><updated>2012-02-13T04:59:34.793-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>Hi Tuomo,&lt;p&gt;I don&amp;#39;t mean 80,000 virtual hosts. I have over 80k unix accounts for which content is being served via mod_userdir. And I consider each one it&amp;#39;s own &amp;quot;site&amp;quot;. It&amp;#39;s critical to the environment that users be prevented from specifying handlers in htaccess files in part exactly for the reasons you specified. The other issue is the potential for suexec abuse. I only have one perl access handler I need to use and it has no global variables. &lt;p&gt;Sent from my iPhone&lt;p&gt;On Feb 13, 2012, at 3:55 AM, Tuomo Salo &amp;lt;&lt;a href="mailto:Tuomo.Salo@cybercom.com"&gt;Tuomo.Salo@cybercom.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt; On Fri, Feb 10, 2012 at 08:50:21AM -0500, Aaron Knister wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; this is a personal web hosting setup for 80,000+ individual sites (think mod_userdir). &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I might be missing something, but does this not seem to be inherently&lt;br&gt;&amp;gt; impossible? 80 kilosites sharing a perl interpreter that persists any&lt;br&gt;&amp;gt; global variables from one request to another would seem to create any &lt;br&gt;&amp;gt; number of problems that are near-impossible to debug, the typical ones&lt;br&gt;&amp;gt; being name space collisions and module version conflicts.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;  -Tuomo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-52666811135126346?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/52666811135126346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=52666811135126346&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/52666811135126346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/52666811135126346'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_8219.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1325818045599456826</id><published>2012-02-13T00:55:00.000-08:00</published><updated>2012-02-13T00:56:49.041-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On Fri, Feb 10, 2012 at 08:50:21AM -0500, Aaron Knister wrote:&lt;p&gt;&amp;gt; this is a personal web hosting setup for 80,000+ individual sites (think mod_userdir). &lt;p&gt;I might be missing something, but does this not seem to be inherently&lt;br&gt;impossible? 80 kilosites sharing a perl interpreter that persists any&lt;br&gt;global variables from one request to another would seem to create any &lt;br&gt;number of problems that are near-impossible to debug, the typical ones&lt;br&gt;being name space collisions and module version conflicts.&lt;p&gt;  -Tuomo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1325818045599456826?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1325818045599456826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1325818045599456826&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1325818045599456826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1325818045599456826'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_13.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2162863078215461004</id><published>2012-02-11T16:23:00.001-08:00</published><updated>2012-02-11T16:23:53.022-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>Hi Perrin,&lt;br&gt;&lt;br&gt;I need to allow htaccess files for users to be able to customize their websites as required (specify authentication/authorization methods, rewrite rules, mime types, custom handlers etc.). I wish I could turn them off but I fear that it&amp;#39;s not feasible for me to do so.&lt;br&gt;  &lt;br&gt;Specifically, the directives I would like to prevent are:&lt;br&gt;&lt;br&gt;Perl*Handler&lt;br&gt;Perl*Var&lt;br&gt;Perl*Env &lt;br&gt;PerlOptions&lt;br&gt;PerlModule&lt;br&gt;PerlRequire&lt;br&gt;&amp;lt;Perl&amp;gt;&lt;br&gt;&lt;br&gt;Pretty much any directive defined with the MP_CMD_DIR_* macros.&lt;br&gt;  &lt;br&gt;-Aaron&lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;On Sat, Feb 11, 2012 at 6:29 PM, Perrin Harkins &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:perrin@elem.com"&gt;perrin@elem.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;  &lt;div class="im"&gt;On Fri, Feb 10, 2012 at 6:46 AM, Aaron Knister &amp;lt;&lt;a href="mailto:aaronk@umbc.edu"&gt;aaronk@umbc.edu&lt;/a&gt;&amp;gt; wrote:&lt;br&gt; &amp;gt; I&amp;#39;m using mod_perl in a shared hosting environment for some server-side&lt;br&gt; &amp;gt; configuration bits. All dynamic content for the users runs through SuEXEC,&lt;br&gt; &amp;gt; however this obviously doesn&amp;#39;t help in the case of mod_perl so I would like&lt;br&gt; &amp;gt; to prevent users from specifying any handlers or other potentially&lt;br&gt; &amp;gt; undesirable mod_perl options/directives in their .htaccess files.&lt;br&gt; &lt;br&gt; &lt;/div&gt;Is it necessary to allow htaccess files?  If there&amp;#39;s something that&lt;br&gt; you want people to be able to specify, maybe you can use a custom conf&lt;br&gt; file for it instead of allowing htaccess.&lt;br&gt; &lt;br&gt; If it is necessary, can you provide an example of an htaccess&lt;br&gt; directive that you&amp;#39;re trying to prevent?&lt;br&gt; &lt;span class="HOEnZb"&gt;&lt;font color="#888888"&gt;&lt;br&gt; - Perrin&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear="all"&gt;&lt;br&gt;-- &lt;br&gt;Aaron Knister&lt;br&gt;Systems Administrator&lt;br&gt;Division of Information Technology&lt;br&gt;University of Maryland, Baltimore County&lt;br&gt;&lt;a href="mailto:aaronk@umbc.edu" target="_blank"&gt;aaronk@umbc.edu&lt;/a&gt;&lt;br&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2162863078215461004?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2162863078215461004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2162863078215461004&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2162863078215461004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2162863078215461004'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_1903.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1434890342590577968</id><published>2012-02-11T15:29:00.001-08:00</published><updated>2012-02-11T15:29:50.812-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On Fri, Feb 10, 2012 at 6:46 AM, Aaron Knister &amp;lt;&lt;a href="mailto:aaronk@umbc.edu"&gt;aaronk@umbc.edu&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; I&amp;#39;m using mod_perl in a shared hosting environment for some server-side&lt;br&gt;&amp;gt; configuration bits. All dynamic content for the users runs through SuEXEC,&lt;br&gt;&amp;gt; however this obviously doesn&amp;#39;t help in the case of mod_perl so I would like&lt;br&gt;&amp;gt; to prevent users from specifying any handlers or other potentially&lt;br&gt;&amp;gt; undesirable mod_perl options/directives in their .htaccess files.&lt;p&gt;Is it necessary to allow htaccess files?  If there&amp;#39;s something that&lt;br&gt;you want people to be able to specify, maybe you can use a custom conf&lt;br&gt;file for it instead of allowing htaccess.&lt;p&gt;If it is necessary, can you provide an example of an htaccess&lt;br&gt;directive that you&amp;#39;re trying to prevent?&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1434890342590577968?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1434890342590577968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1434890342590577968&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1434890342590577968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1434890342590577968'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_11.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-939526944734329099</id><published>2012-02-11T10:33:00.001-08:00</published><updated>2012-02-11T10:33:50.458-08:00</updated><title type='text'>Re: ModPerl::Util::exit: (120000) exit was called</title><content type='html'>*** Disclosure: Haven&amp;#39;t encountered this issue but was lacking a Sunday &lt;br&gt;morning puzzle so take this for what it&amp;#39;s worth.&lt;p&gt;&lt;br&gt;You&amp;#39;re right about the exit() documentation.&lt;p&gt;I tried to recreate your problem and could only come up with a similar &lt;br&gt;situation if I used exit() inside an eval block like so:&lt;p&gt;eval{&lt;br&gt;   if ( $failing_condition ) {&lt;br&gt;      exit();&lt;br&gt;   }&lt;br&gt;};&lt;p&gt;if ( $@ ) {&lt;br&gt;     carp($@);&lt;br&gt;}&lt;p&gt;&lt;br&gt;That gives a similar error message to yours in the error log. That&amp;#39;s &lt;br&gt;because exit() here is inside the eval block and it is trapped and won&amp;#39;t &lt;br&gt;be carried out. Code after the exit() is still executed.&lt;p&gt;In the above code, you can fix it by adding another exit() like so:&lt;p&gt;if ( $@ ) {&lt;br&gt;   carp($@);&lt;br&gt;   exit(); # Works as it&amp;#39;s outside an eval block&lt;br&gt;}&lt;p&gt;This&amp;#39;ll work as expected. A more in depth explanation and better code to &lt;br&gt;check errors is here:&lt;p&gt;&lt;a href="http://perl.apache.org/docs/2.0/api/ModPerl/Util.html#C_exit_"&gt;http://perl.apache.org/docs/2.0/api/ModPerl/Util.html#C_exit_&lt;/a&gt;&lt;p&gt;&lt;br&gt;g.&lt;p&gt;On 2/11/2012 6:18 AM, James Andrews wrote:&lt;br&gt;&amp;gt; Afternoon mod_perl&amp;#39;ers,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I am a Perl programmer of 7 years, however this is the first time I have&lt;br&gt;&amp;gt; come to using mod_perl. In a nutshell I am getting this error:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; ModPerl::Util::exit: (120000) exit was called at /path/to/script.cgi&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I have a clean install of Ubuntu 10.04, apache2, libapache2-mod-perl2&lt;br&gt;&amp;gt; and the following in apache2.conf:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; &amp;lt;Files ~ &amp;quot;\.(pl|cgi)$&amp;quot;&amp;gt;&lt;br&gt;&amp;gt; SetHandler perl-script&lt;br&gt;&amp;gt; PerlResponseHandler ModPerl::Registry&lt;br&gt;&amp;gt; Options +ExecCGI&lt;br&gt;&amp;gt; PerlSendHeader On&lt;br&gt;&amp;gt; &amp;lt;/Files&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; In my scripts I call exit(); everywhere. However according to the&lt;br&gt;&amp;gt; mod_perl website, this shouldn&amp;#39;t be a problem (correct me if I am wrong).&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I have done the same setup on 3 different servers using the same OS and&lt;br&gt;&amp;gt; yield the same error each time!&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; If anyone has any ideas please let me know. I have searched the internet&lt;br&gt;&amp;gt; everywhere for solution, however this problem doesn&amp;#39;t seem to be of large.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Kind regards,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; James Andrews&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-939526944734329099?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/939526944734329099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=939526944734329099&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/939526944734329099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/939526944734329099'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-modperlutilexit-120000-exit-was.html' title='Re: ModPerl::Util::exit: (120000) exit was called'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3374884048516538219</id><published>2012-02-11T06:18:00.000-08:00</published><updated>2012-02-11T06:23:41.312-08:00</updated><title type='text'>ModPerl::Util::exit: (120000) exit was called</title><content type='html'>Afternoon mod_perl&amp;#39;ers,&lt;p&gt;I am a Perl programmer of 7 years, however this is the first time I have &lt;br&gt;come to using mod_perl. In a nutshell I am getting this error:&lt;p&gt;ModPerl::Util::exit: (120000) exit was called at /path/to/script.cgi&lt;p&gt;I have a clean install of Ubuntu 10.04, apache2, libapache2-mod-perl2 and the following in apache2.conf:&lt;p&gt;&amp;lt;Files ~ &amp;quot;\.(pl|cgi)$&amp;quot;&amp;gt;&lt;br&gt;            SetHandler perl-script&lt;br&gt;            PerlResponseHandler ModPerl::Registry&lt;br&gt;            Options +ExecCGI&lt;br&gt;            PerlSendHeader On&lt;br&gt;&amp;lt;/Files&amp;gt;&lt;p&gt;In my scripts I call exit(); everywhere. However according to the mod_perl website, this shouldn&amp;#39;t be a problem (correct me if I am wrong).&lt;p&gt;I have done the same setup on 3 different servers using the same OS and yield the same error each time!&lt;p&gt;If anyone has any ideas please let me know. I have searched the internet everywhere for solution, however this problem doesn&amp;#39;t seem to be of large.&lt;p&gt;Kind regards,&lt;p&gt;James Andrews&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3374884048516538219?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3374884048516538219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3374884048516538219&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3374884048516538219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3374884048516538219'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/modperlutilexit-120000-exit-was-called.html' title='ModPerl::Util::exit: (120000) exit was called'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1935017932878875779</id><published>2012-02-10T09:16:00.000-08:00</published><updated>2012-02-10T09:17:35.351-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On 10 Feb 2012, at 13:50, Aaron Knister wrote:&lt;p&gt;&amp;gt; Hi Dave,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Thanks for the feedback. Unfortunately the setup isn&amp;#39;t fronted by apache proxies. Having an apache instance per site would, I think, be painful-- this is a personal web hosting setup for 80,000+ individual sites (think mod_userdir). &lt;p&gt;And al these sites could load their own perl? Painful.&lt;p&gt;And PLEASE front the sites with a reverse proxy: squid, varnish whatever. If&lt;br&gt;not, you&amp;#39;re opening yourself up to all kinds of badness. Mod_perl is an *app*&lt;br&gt;server, not a web server.&lt;p&gt;Please read Stas&amp;#39; chapter on performance tuning!&lt;p&gt;Chapters 9 and 10:&lt;p&gt;&lt;a href="http://modperlbook.org/html/part2.html"&gt;http://modperlbook.org/html/part2.html&lt;/a&gt;&lt;p&gt;And the others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1935017932878875779?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1935017932878875779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1935017932878875779&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1935017932878875779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1935017932878875779'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_3918.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8871515826080795119</id><published>2012-02-10T06:03:00.001-08:00</published><updated>2012-02-10T06:03:45.056-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On Friday, 10 February 2012 06:46:01 Aaron Knister wrote:&lt;br&gt;&amp;gt; I was thinking of something along these lines:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; A per-directory config directive called PerlHtaccessOverrides with possible&lt;br&gt;&amp;gt; values of Handlers, Others, Env, Options, All and None. These names are&lt;br&gt;&amp;gt; based what seemed to be perceived significant groupings of the MP_CMD_DIR_*&lt;br&gt;&amp;gt; cmd&amp;#39;s in modperl_cmds.c.&lt;p&gt;Perhaps something along these lines:&lt;p&gt;  &lt;a href="http://perl.apache.org/docs/2.0/user/config/config.html#C_Perl_Handler_"&gt;http://perl.apache.org/docs/2.0/user/config/config.html#C_Perl_Handler_&lt;/a&gt;&lt;p&gt;Torsten F&amp;#246;rtsch&lt;p&gt;-- &lt;br&gt;Need professional modperl support? Hire me! (&lt;a href="http://foertsch.name"&gt;http://foertsch.name&lt;/a&gt;)&lt;p&gt;Like fantasy? &lt;a href="http://kabatinte.net"&gt;http://kabatinte.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8871515826080795119?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8871515826080795119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8871515826080795119&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8871515826080795119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8871515826080795119'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_2213.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7976991660731567712</id><published>2012-02-10T05:50:00.001-08:00</published><updated>2012-02-10T05:50:59.133-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>Hi Dave,&lt;p&gt;Thanks for the feedback. Unfortunately the setup isn&amp;#39;t fronted by apache proxies. Having an apache instance per site would, I think, be painful-- this is a personal web hosting setup for 80,000+ individual sites (think mod_userdir). &lt;p&gt;Sent from my iPhone&lt;p&gt;On Feb 10, 2012, at 7:20 AM, Dave Hodgkinson &amp;lt;&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt; On 10 Feb 2012, at 11:46, Aaron Knister wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Hi,&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; I&amp;#39;m using mod_perl in a shared hosting environment for some server-side configuration bits. All dynamic content for the users runs through SuEXEC, however this obviously doesn&amp;#39;t help in the case of mod_perl so I would like to prevent users from specifying any handlers or other potentially undesirable mod_perl options/directives in their .htaccess files.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Are the Apaches fronted by proxies?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; In which case, I&amp;#39;d seriously consider everyone having their own Apaches with a limited&lt;br&gt;&amp;gt; number of processes and an appropriately (automatically generated?) &lt;a href="http://startup.pl"&gt;startup.pl&lt;/a&gt; for maximum&lt;br&gt;&amp;gt; shared memory in those processes.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Obviously, that number can be tuned depending on the site, but you&amp;#39;d be surprised at how&lt;br&gt;&amp;gt; few most sites need if the responses are quick.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; See Stas Bekman&amp;#39;s immortal tuning work.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7976991660731567712?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7976991660731567712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7976991660731567712&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7976991660731567712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7976991660731567712'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess_10.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6065359643797263711</id><published>2012-02-10T04:20:00.000-08:00</published><updated>2012-02-10T04:21:28.896-08:00</updated><title type='text'>Re: disabling directives in .htaccess files</title><content type='html'>On 10 Feb 2012, at 11:46, Aaron Knister wrote:&lt;p&gt;&amp;gt; Hi,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I&amp;#39;m using mod_perl in a shared hosting environment for some server-side configuration bits. All dynamic content for the users runs through SuEXEC, however this obviously doesn&amp;#39;t help in the case of mod_perl so I would like to prevent users from specifying any handlers or other potentially undesirable mod_perl options/directives in their .htaccess files.&lt;p&gt;Are the Apaches fronted by proxies?&lt;p&gt;In which case, I&amp;#39;d seriously consider everyone having their own Apaches with a limited&lt;br&gt;number of processes and an appropriately (automatically generated?) &lt;a href="http://startup.pl"&gt;startup.pl&lt;/a&gt; for maximum&lt;br&gt;shared memory in those processes.&lt;p&gt;Obviously, that number can be tuned depending on the site, but you&amp;#39;d be surprised at how&lt;br&gt;few most sites need if the responses are quick.&lt;p&gt;See Stas Bekman&amp;#39;s immortal tuning work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6065359643797263711?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6065359643797263711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6065359643797263711&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6065359643797263711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6065359643797263711'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-disabling-directives-in-htaccess.html' title='Re: disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3902886197776596989</id><published>2012-02-10T03:46:00.001-08:00</published><updated>2012-02-10T03:46:52.946-08:00</updated><title type='text'>disabling directives in .htaccess files</title><content type='html'>Hi,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;m using mod_perl in a shared hosting environment for some server-side configuration bits. All dynamic content for the users runs through SuEXEC, however this obviously doesn&amp;#39;t help in the case of mod_perl so I would like to prevent users from specifying any handlers or other potentially undesirable mod_perl options/directives in their .htaccess files.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I was thinking of something along these lines:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;A per-directory config directive called PerlHtaccessOverrides with possible values of Handlers, Others, Env, Options, All and None. These names are based what seemed to be perceived significant groupings of the MP_CMD_DIR_* cmd&amp;#39;s in modperl_cmds.c.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Each cmd function would then check its context to see if it&amp;#39;s an htaccess file, and would check against the list of allowed htaccess overrides for that location and deny accordingly. I&amp;#39;d also need to modify the Code.pm file that generates most of the handler cmd definitions.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I&amp;#39;ve something like this working right now, so I know it&amp;#39;s possible but it&amp;#39;s not quite as I described here so I need to re-write it.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Any feedback would be appreciated-- I don&amp;#39;t want to write a patch that&amp;#39;s not likely to be accepted upstream :)&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-Aaron&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;-- &lt;br&gt;Aaron Knister&lt;br&gt;Systems Administrator&lt;br&gt;Division of Information Technology&lt;br&gt;University of Maryland, Baltimore County&lt;br&gt;&lt;a href="mailto:aaronk@umbc.edu" target="_blank"&gt;aaronk@umbc.edu&lt;/a&gt;&lt;br&gt;   &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3902886197776596989?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3902886197776596989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3902886197776596989&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3902886197776596989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3902886197776596989'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/disabling-directives-in-htaccess-files.html' title='disabling directives in .htaccess files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1880705932941656668</id><published>2012-02-08T17:56:00.000-08:00</published><updated>2012-02-08T17:57:29.260-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>Sorry slight clarification here after rereading httpd source:&lt;p&gt;If you send anything other than that &amp;quot;Continue: 100&amp;quot; interim&lt;br&gt;response to the client, httpd will NOT attempt to read the&lt;br&gt;body, considering it empty.&amp;#160; But even if you do send the&lt;br&gt;&amp;quot;Continue: 100&amp;quot;, httpd will NOT block the response from being&lt;br&gt;sent until the body has been exhausted.&amp;#160; Instead it will&lt;br&gt;send your response as expected, and then finalize the request by&lt;br&gt;calling ap_discard_request_body(r) which WILL exhaust the&lt;br&gt;POST data in order to retain protocol compliance.&amp;#160; OTOH I&lt;br&gt;have no idea how browsers deal with the timing issues here,&lt;br&gt;so buyer beware.&amp;#160; My point still stands: interrupt the POST&lt;br&gt;prior to sending the Continue, not afterwards.&lt;p&gt;&lt;p&gt;----- Original Message -----&lt;br&gt;&amp;gt; From: Joe Schaefer &amp;lt;&lt;a href="mailto:joe_schaefer@yahoo.com"&gt;joe_schaefer@yahoo.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; To: Vincent Veyron &amp;lt;&lt;a href="mailto:vv.lists@wanadoo.fr"&gt;vv.lists@wanadoo.fr&lt;/a&gt;&amp;gt;; mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; Cc: Torsten F&amp;#246;rtsch &amp;lt;&lt;a href="mailto:torsten.foertsch@gmx.net"&gt;torsten.foertsch@gmx.net&lt;/a&gt;&amp;gt;; &amp;quot;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;quot; &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; Sent: Wednesday, February 8, 2012 4:35 PM&lt;br&gt;&amp;gt; Subject: Re: Interrupting a POST with file upload&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I don&amp;#39;t think people groked my point very well.&amp;#160; When you POST&lt;br&gt;&amp;gt; via HTTP/1.1, httpd will send a &amp;quot;Continue: 100&amp;quot; header before it&lt;br&gt;&amp;gt; starts doing blocking reads on the client socket (any attempts to&lt;br&gt;&amp;gt; read from the client will trigger this behavior). If you really&lt;br&gt;&amp;gt; want to interrupt an upload, the time to do it is *before* httpd&lt;br&gt;&amp;gt; sends that header.&amp;#160; Afterwards httpd commits to reading the entire&lt;br&gt;&amp;gt; request in *before it lets you send a response* in order to maintain&lt;br&gt;&amp;gt; protocol compliance.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; For reasons that escape me it doesn&amp;#39;t look like mod_perl exposes&lt;br&gt;&amp;gt; r-&amp;gt;remaining, which is the thing to check when looking at the&lt;br&gt;&amp;gt; pending number of bytes the client wants to send.&amp;#160; If I&amp;#39;m not wrong&lt;br&gt;&amp;gt; that should be easy enough for us to address. apreq won&amp;#39;t read&lt;br&gt;&amp;gt; anything in in this situation tho, so you&amp;#39;re good on that front.&lt;br&gt;&amp;gt; CGI.pm I&amp;#39;d bet doesn&amp;#39;t try to read either if the pending data&lt;br&gt;&amp;gt; is too big, but I haven&amp;#39;t looked at that codebase in a long time.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ----- Original Message -----&lt;br&gt;&amp;gt;&amp;gt;  From: Vincent Veyron &amp;lt;&lt;a href="mailto:vv.lists@wanadoo.fr"&gt;vv.lists@wanadoo.fr&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;  To: mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;  Cc: Torsten F&amp;#246;rtsch &amp;lt;&lt;a href="mailto:torsten.foertsch@gmx.net"&gt;torsten.foertsch@gmx.net&lt;/a&gt;&amp;gt;; &lt;br&gt;&amp;gt; &amp;quot;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;quot; &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;  Sent: Wednesday, February 8, 2012 4:24 PM&lt;br&gt;&amp;gt;&amp;gt;  Subject: Re: Interrupting a POST with file upload&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;  Le mercredi 08 f&amp;#233;vrier 2012 &amp;#224; 05:53 -0800, mike cardeiro a &amp;#233;crit :&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  &amp;#160; This is a fantastic list!&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;  Agreed.&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;  On the same note : I was recently presenting the legal case management&lt;br&gt;&amp;gt;&amp;gt;  app in my sig to an institutional client in the south of France, and the&lt;br&gt;&amp;gt;&amp;gt;  IT guy said that it had a &amp;#39;fantastic architecture&amp;#39; (I assume he was&lt;br&gt;&amp;gt;&amp;gt;  talking about mod_perl).&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;  -- &lt;br&gt;&amp;gt;&amp;gt;  Vincent Veyron&lt;br&gt;&amp;gt;&amp;gt;  &lt;a href="http://marica.fr/"&gt;http://marica.fr/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;  Logiciel de gestion des sinistres et des contentieux pour le service &lt;br&gt;&amp;gt; juridique&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1880705932941656668?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1880705932941656668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1880705932941656668&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1880705932941656668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1880705932941656668'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_6896.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4863341678376406971</id><published>2012-02-08T14:03:00.000-08:00</published><updated>2012-02-08T14:04:37.957-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>Joe Schaefer wrote:&lt;br&gt;&amp;gt; I don&amp;#39;t think people groked my point very well.  When you POST&lt;br&gt;&amp;gt; via HTTP/1.1, httpd will send a &amp;quot;Continue: 100&amp;quot; header before it&lt;br&gt;&amp;gt; starts doing blocking reads on the client socket (any attempts to&lt;br&gt;&amp;gt; read from the client will trigger this behavior). If you really&lt;br&gt;&amp;gt; want to interrupt an upload, the time to do it is *before* httpd&lt;br&gt;&amp;gt; sends that header.  Afterwards httpd commits to reading the entire&lt;br&gt;&amp;gt; request in *before it lets you send a response* in order to maintain&lt;br&gt;&amp;gt; protocol compliance.&lt;p&gt;So basically, it means that there is no way to stop an upload, once the browser has &lt;br&gt;started to send the file, right ?&lt;p&gt;The best you could do, is before you start reading, check if there was a Content-length &lt;br&gt;header in the request, and if there was, check if the size it says is lower/equal to what &lt;br&gt;you are prepared to accept (aka what this user is still allowed to upload e.g.).&lt;br&gt;- if it is ok, then start reading&lt;br&gt;- if it is not ok, send an error response to block the POST, before you read&lt;br&gt;(preferably a nice one, to let the user know why it does not work)&lt;p&gt;All this depends on 2 things :&lt;br&gt;- that there was a Content-length header in the request (which is not necessarily the case &lt;br&gt;if &amp;quot;chunked&amp;quot; encoding is allowed on the part of a client)&lt;br&gt;- that the fact of retrieving the request header does not automatically cause the reading &lt;br&gt;and parsing of the whole request body&lt;p&gt;All the above just guessing, and awaiting confirmation...&lt;p&gt;(And all the above, and the rest of this discussion, assuming that the POST can be large &lt;br&gt;enough that it all matters (like uploading a multi-MB file e.g.))&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; For reasons that escape me it doesn&amp;#39;t look like mod_perl exposes&lt;br&gt;&amp;gt; r-&amp;gt;remaining, which is the thing to check when looking at the&lt;br&gt;&amp;gt; pending number of bytes the client wants to send.  If I&amp;#39;m not wrong&lt;br&gt;&amp;gt; that should be easy enough for us to address. apreq won&amp;#39;t read&lt;br&gt;&amp;gt; anything in in this situation tho, so you&amp;#39;re good on that front.&lt;br&gt;&amp;gt; CGI.pm I&amp;#39;d bet doesn&amp;#39;t try to read either if the pending data&lt;br&gt;&amp;gt; is too big, but I haven&amp;#39;t looked at that codebase in a long time.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ----- Original Message -----&lt;br&gt;&amp;gt;&amp;gt; From: Vincent Veyron &amp;lt;&lt;a href="mailto:vv.lists@wanadoo.fr"&gt;vv.lists@wanadoo.fr&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; To: mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Cc: Torsten F&amp;#246;rtsch &amp;lt;&lt;a href="mailto:torsten.foertsch@gmx.net"&gt;torsten.foertsch@gmx.net&lt;/a&gt;&amp;gt;; &amp;quot;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;quot; &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Sent: Wednesday, February 8, 2012 4:24 PM&lt;br&gt;&amp;gt;&amp;gt; Subject: Re: Interrupting a POST with file upload&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Le mercredi 08 f&amp;#233;vrier 2012 &amp;#224; 05:53 -0800, mike cardeiro a &amp;#233;crit :&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;   This is a fantastic list!&lt;br&gt;&amp;gt;&amp;gt; Agreed.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; On the same note : I was recently presenting the legal case management&lt;br&gt;&amp;gt;&amp;gt; app in my sig to an institutional client in the south of France, and the&lt;br&gt;&amp;gt;&amp;gt; IT guy said that it had a &amp;#39;fantastic architecture&amp;#39; (I assume he was&lt;br&gt;&amp;gt;&amp;gt; talking about mod_perl).&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; -- &lt;br&gt;&amp;gt;&amp;gt; Vincent Veyron&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://marica.fr/"&gt;http://marica.fr/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; Logiciel de gestion des sinistres et des contentieux pour le service juridique&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4863341678376406971?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4863341678376406971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4863341678376406971&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4863341678376406971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4863341678376406971'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_1570.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2885661896277588513</id><published>2012-02-08T13:35:00.000-08:00</published><updated>2012-02-08T13:36:30.710-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>I don&amp;#39;t think people groked my point very well.&amp;#160; When you POST&lt;br&gt;via HTTP/1.1, httpd will send a &amp;quot;Continue: 100&amp;quot; header before it&lt;br&gt;starts doing blocking reads on the client socket (any attempts to&lt;br&gt;read from the client will trigger this behavior). If you really&lt;br&gt;want to interrupt an upload, the time to do it is *before* httpd&lt;br&gt;sends that header.&amp;#160; Afterwards httpd commits to reading the entire&lt;br&gt;request in *before it lets you send a response* in order to maintain&lt;br&gt;protocol compliance.&lt;p&gt;&lt;br&gt;For reasons that escape me it doesn&amp;#39;t look like mod_perl exposes&lt;br&gt;r-&amp;gt;remaining, which is the thing to check when looking at the&lt;br&gt;pending number of bytes the client wants to send.&amp;#160; If I&amp;#39;m not wrong&lt;br&gt;that should be easy enough for us to address. apreq won&amp;#39;t read&lt;br&gt;anything in in this situation tho, so you&amp;#39;re good on that front.&lt;br&gt;CGI.pm I&amp;#39;d bet doesn&amp;#39;t try to read either if the pending data&lt;br&gt;is too big, but I haven&amp;#39;t looked at that codebase in a long time.&lt;p&gt;&lt;br&gt;----- Original Message -----&lt;br&gt;&amp;gt; From: Vincent Veyron &amp;lt;&lt;a href="mailto:vv.lists@wanadoo.fr"&gt;vv.lists@wanadoo.fr&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; To: mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; Cc: Torsten F&amp;#246;rtsch &amp;lt;&lt;a href="mailto:torsten.foertsch@gmx.net"&gt;torsten.foertsch@gmx.net&lt;/a&gt;&amp;gt;; &amp;quot;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;quot; &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; Sent: Wednesday, February 8, 2012 4:24 PM&lt;br&gt;&amp;gt; Subject: Re: Interrupting a POST with file upload&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Le mercredi 08 f&amp;#233;vrier 2012 &amp;#224; 05:53 -0800, mike cardeiro a &amp;#233;crit :&lt;br&gt;&amp;gt;&amp;gt; &amp;#160; This is a fantastic list!&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Agreed.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; On the same note : I was recently presenting the legal case management&lt;br&gt;&amp;gt; app in my sig to an institutional client in the south of France, and the&lt;br&gt;&amp;gt; IT guy said that it had a &amp;#39;fantastic architecture&amp;#39; (I assume he was&lt;br&gt;&amp;gt; talking about mod_perl).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; -- &lt;br&gt;&amp;gt; Vincent Veyron&lt;br&gt;&amp;gt; &lt;a href="http://marica.fr/"&gt;http://marica.fr/&lt;/a&gt;&lt;br&gt;&amp;gt; Logiciel de gestion des sinistres et des contentieux pour le service juridique&lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2885661896277588513?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2885661896277588513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2885661896277588513&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2885661896277588513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2885661896277588513'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_1931.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3503138662509191033</id><published>2012-02-08T13:24:00.000-08:00</published><updated>2012-02-08T13:25:35.687-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>Le mercredi 08 f&amp;#233;vrier 2012 &amp;#224; 05:53 -0800, mike cardeiro a &amp;#233;crit :&lt;br&gt;&amp;gt;  This is a fantastic list!&lt;p&gt;Agreed.&lt;p&gt;On the same note : I was recently presenting the legal case management&lt;br&gt;app in my sig to an institutional client in the south of France, and the&lt;br&gt;IT guy said that it had a &amp;#39;fantastic architecture&amp;#39; (I assume he was&lt;br&gt;talking about mod_perl).&lt;p&gt;-- &lt;br&gt;Vincent Veyron&lt;br&gt;&lt;a href="http://marica.fr/"&gt;http://marica.fr/&lt;/a&gt;&lt;br&gt;Logiciel de gestion des sinistres et des contentieux pour le service juridique&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3503138662509191033?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3503138662509191033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3503138662509191033&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3503138662509191033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3503138662509191033'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_5153.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4823030470742597570</id><published>2012-02-08T05:53:00.000-08:00</published><updated>2012-02-08T05:54:24.494-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>&amp;gt; From: Torsten F&amp;#246;rtsch &amp;lt;&lt;a href="mailto:torsten.foertsch@gmx.net"&gt;torsten.foertsch@gmx.net&lt;/a&gt;&amp;gt;&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; Best would be if you could make an educated guess based on the Content-Length &lt;br&gt;&amp;gt; request header if the uploaded file will exceed the limit. Most clients send &lt;br&gt;&amp;gt; an &amp;quot;Expect: 100-continue&amp;quot; header and thus give the server a chance to &lt;br&gt;&amp;gt; decline &lt;br&gt;&amp;gt; the request *before* the body is sent. If the body is already on the way the &lt;br&gt;&amp;gt; only thing you can do is to close the connection. I don&amp;#39;t know if httpd does &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; that immediately or if it reads and discards the whole body.&lt;p&gt;&amp;gt; The code below is the relevant piece of CGI.pm. So, yes, the upload hook gets &lt;br&gt;&amp;gt; the data as it is written to the temp file.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;#160; while (defined($data = $buffer-&amp;gt;read)) {&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; if (defined $self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}) {&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; &amp;#160; $totalbytes += length($data);&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; &amp;#160; &amp;amp;{$self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}}($filename ,$data, $totalbytes,&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  $self-&amp;gt;{&amp;#39;.upload_data&amp;#39;});&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; }&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; print $filehandle $data if ($self-&amp;gt;{&amp;#39;use_tempfile&amp;#39;});&lt;br&gt;&amp;gt; &amp;#160; }&lt;br&gt;&amp;gt; &lt;p&gt;&lt;br&gt;thanks for all the knowledge Torsten (and everyone else).&amp;#160; This stuff is the holy grail I have been looking for for years.&amp;#160; This is a fantastic list!&lt;p&gt;&lt;br&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4823030470742597570?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4823030470742597570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4823030470742597570&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4823030470742597570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4823030470742597570'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_7704.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7833044832063372941</id><published>2012-02-08T03:48:00.000-08:00</published><updated>2012-02-08T03:49:38.924-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>Torsten F&amp;#246;rtsch wrote:&lt;br&gt;&amp;gt; On Wednesday, 08 February 2012 10:14:35 Andr&amp;#233; Warnier wrote:&lt;br&gt;&amp;gt;&amp;gt; As far as I know, LimitRequestBody is an absolute POST size limit set once&lt;br&gt;&amp;gt;&amp;gt; and for all in  the server config, and valid for all POSTs (and PUTs) after&lt;br&gt;&amp;gt;&amp;gt; server restart.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; If you look at the docs you&amp;#39;ll find that LimitRequestBody is valid in &amp;quot;server &lt;br&gt;&amp;gt; config, virtual host, directory and .htaccess&amp;quot; contexts. That means you can &lt;br&gt;&amp;gt; modify it on a per-request basis via $r-&amp;gt;add_config. So, assuming &lt;br&gt;&amp;gt; authentication takes place in httpd&amp;#39;s authentication phase you can set the &lt;br&gt;&amp;gt; limit in a PerlFixupHandler per user.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; And it is calculated on the base of the real bytes being&lt;br&gt;&amp;gt;&amp;gt; sent by the browser, this including the overhead caused by Base64 encoding&lt;br&gt;&amp;gt;&amp;gt; the content of a file sent for example. (So that if you set the limit to&lt;br&gt;&amp;gt;&amp;gt; 1MB, this will actually kick in as soon as the net unencoded size of the&lt;br&gt;&amp;gt;&amp;gt; file being uploaded exceeds 660KB or so.)&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; True. But with HTTP/1.1 the client can also choose to send the body deflated. &lt;br&gt;&amp;gt; Thus, the actual file size may also exceed 1MB.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Then there is the $CGI_POST_MAX, which may very well be the same server&lt;br&gt;&amp;gt;&amp;gt; value being  manipulated by the CGI module, or it may be a private copy by&lt;br&gt;&amp;gt;&amp;gt; CGI.pm.  What is not really clear is if that value is &amp;quot;thread-safe&amp;quot; in all&lt;br&gt;&amp;gt;&amp;gt; scenarios.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; CGI.pm is pure perl. So, to make $CGI_POST_MAX shared among threads it has to &lt;br&gt;&amp;gt; declare it as such. I doubt that any sane developer would do that.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; In the normal scenario, when retrieving the uploaded file&amp;#39;s handle via the&lt;br&gt;&amp;gt;&amp;gt; CGI.pm call to  param(file_input_name) or upload(file_input_name), what one&lt;br&gt;&amp;gt;&amp;gt; actually gets is a handle onto a local temporary file, into which&lt;br&gt;&amp;gt;&amp;gt; Apache/CGI.pm has already stored the whole content of the uploaded&lt;br&gt;&amp;gt;&amp;gt; file.  By that time, the original file upload from the browser has already&lt;br&gt;&amp;gt;&amp;gt; happened, so doing something at this point would be too late to interrupt&lt;br&gt;&amp;gt;&amp;gt; the browser POST itself (and the bandwidth and time have already been&lt;br&gt;&amp;gt;&amp;gt; spent).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; True.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; On the other hand, the CGI.pm documentation seems to say that if one uses&lt;br&gt;&amp;gt;&amp;gt; the &amp;quot;hook&amp;quot;  functionality for a file upload, then Apache/CGI.pm do not use&lt;br&gt;&amp;gt;&amp;gt; a temporary file, and one gets a handle directly into the POST body content&lt;br&gt;&amp;gt;&amp;gt; (so to speak), as it is being received by Apache.  And thus this could be a&lt;br&gt;&amp;gt;&amp;gt; way to achieve what Mike wants.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; yes and no. It depends upon what exactly you want to limit. On the internet &lt;br&gt;&amp;gt; data is buffered by routers, firewalls etc. On your server it is buffered by &lt;br&gt;&amp;gt; the kernel. Httpd adds it&amp;#39;s own buffering. HTTP is TCP-based. So, there may be &lt;br&gt;&amp;gt; retransmits that you won&amp;#39;t notice. You certainly may abort the transfer when &lt;br&gt;&amp;gt; the CGI.pm hook has received a certain amount of data. But that would not mean &lt;br&gt;&amp;gt; that your server or your organization has not yet received the whole body.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; So, if you want to limit the disk usage then yes, you can simply stop writing &lt;br&gt;&amp;gt; when the limit is reached. If you want to limit the amount of data your server &lt;br&gt;&amp;gt; receives then no.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Best would be if you could make an educated guess based on the Content-Length &lt;br&gt;&amp;gt; request header if the uploaded file will exceed the limit. Most clients send &lt;br&gt;&amp;gt; an &amp;quot;Expect: 100-continue&amp;quot; header and thus give the server a chance to decline &lt;br&gt;&amp;gt; the request *before* the body is sent. If the body is already on the way the &lt;br&gt;&amp;gt; only thing you can do is to close the connection. I don&amp;#39;t know if httpd does &lt;br&gt;&amp;gt; that immediately or if it reads and discards the whole body.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; (I suppose that we can assume that even&lt;br&gt;&amp;gt;&amp;gt; though we get a handle into the POST body content, what we are reading is&lt;br&gt;&amp;gt;&amp;gt; the decoded data, right ?).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The code below is the relevant piece of CGI.pm. So, yes, the upload hook gets &lt;br&gt;&amp;gt; the data as it is written to the temp file.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;   while (defined($data = $buffer-&amp;gt;read)) {&lt;br&gt;&amp;gt;     if (defined $self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}) {&lt;br&gt;&amp;gt;       $totalbytes += length($data);&lt;br&gt;&amp;gt;       &amp;amp;{$self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}}($filename ,$data, $totalbytes,&lt;br&gt;&amp;gt;                                  $self-&amp;gt;{&amp;#39;.upload_data&amp;#39;});&lt;br&gt;&amp;gt;     }&lt;br&gt;&amp;gt;     print $filehandle $data if ($self-&amp;gt;{&amp;#39;use_tempfile&amp;#39;});&lt;br&gt;&amp;gt;   }&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Torsten F&amp;#246;rtsch&lt;br&gt;&amp;gt; &lt;p&gt;Many, many thanks Torsten. This is all precious and usable information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7833044832063372941?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7833044832063372941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7833044832063372941&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7833044832063372941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7833044832063372941'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_3535.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6850041550122981854</id><published>2012-02-08T03:36:00.001-08:00</published><updated>2012-02-08T03:36:56.215-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>On Wednesday, 08 February 2012 10:14:35 Andr&amp;#233; Warnier wrote:&lt;br&gt;&amp;gt; As far as I know, LimitRequestBody is an absolute POST size limit set once&lt;br&gt;&amp;gt; and for all in  the server config, and valid for all POSTs (and PUTs) after&lt;br&gt;&amp;gt; server restart.&lt;p&gt;If you look at the docs you&amp;#39;ll find that LimitRequestBody is valid in &amp;quot;server &lt;br&gt;config, virtual host, directory and .htaccess&amp;quot; contexts. That means you can &lt;br&gt;modify it on a per-request basis via $r-&amp;gt;add_config. So, assuming &lt;br&gt;authentication takes place in httpd&amp;#39;s authentication phase you can set the &lt;br&gt;limit in a PerlFixupHandler per user.&lt;p&gt;&amp;gt; And it is calculated on the base of the real bytes being&lt;br&gt;&amp;gt; sent by the browser, this including the overhead caused by Base64 encoding&lt;br&gt;&amp;gt; the content of a file sent for example. (So that if you set the limit to&lt;br&gt;&amp;gt; 1MB, this will actually kick in as soon as the net unencoded size of the&lt;br&gt;&amp;gt; file being uploaded exceeds 660KB or so.)&lt;p&gt;True. But with HTTP/1.1 the client can also choose to send the body deflated. &lt;br&gt;Thus, the actual file size may also exceed 1MB.&lt;p&gt;&amp;gt; Then there is the $CGI_POST_MAX, which may very well be the same server&lt;br&gt;&amp;gt; value being  manipulated by the CGI module, or it may be a private copy by&lt;br&gt;&amp;gt; CGI.pm.  What is not really clear is if that value is &amp;quot;thread-safe&amp;quot; in all&lt;br&gt;&amp;gt; scenarios.&lt;p&gt;CGI.pm is pure perl. So, to make $CGI_POST_MAX shared among threads it has to &lt;br&gt;declare it as such. I doubt that any sane developer would do that.&lt;p&gt;&amp;gt; In the normal scenario, when retrieving the uploaded file&amp;#39;s handle via the&lt;br&gt;&amp;gt; CGI.pm call to  param(file_input_name) or upload(file_input_name), what one&lt;br&gt;&amp;gt; actually gets is a handle onto a local temporary file, into which&lt;br&gt;&amp;gt; Apache/CGI.pm has already stored the whole content of the uploaded&lt;br&gt;&amp;gt; file.  By that time, the original file upload from the browser has already&lt;br&gt;&amp;gt; happened, so doing something at this point would be too late to interrupt&lt;br&gt;&amp;gt; the browser POST itself (and the bandwidth and time have already been&lt;br&gt;&amp;gt; spent).&lt;p&gt;True.&lt;p&gt;&amp;gt; On the other hand, the CGI.pm documentation seems to say that if one uses&lt;br&gt;&amp;gt; the &amp;quot;hook&amp;quot;  functionality for a file upload, then Apache/CGI.pm do not use&lt;br&gt;&amp;gt; a temporary file, and one gets a handle directly into the POST body content&lt;br&gt;&amp;gt; (so to speak), as it is being received by Apache.  And thus this could be a&lt;br&gt;&amp;gt; way to achieve what Mike wants.&lt;p&gt;yes and no. It depends upon what exactly you want to limit. On the internet &lt;br&gt;data is buffered by routers, firewalls etc. On your server it is buffered by &lt;br&gt;the kernel. Httpd adds it&amp;#39;s own buffering. HTTP is TCP-based. So, there may be &lt;br&gt;retransmits that you won&amp;#39;t notice. You certainly may abort the transfer when &lt;br&gt;the CGI.pm hook has received a certain amount of data. But that would not mean &lt;br&gt;that your server or your organization has not yet received the whole body.&lt;p&gt;So, if you want to limit the disk usage then yes, you can simply stop writing &lt;br&gt;when the limit is reached. If you want to limit the amount of data your server &lt;br&gt;receives then no.&lt;p&gt;Best would be if you could make an educated guess based on the Content-Length &lt;br&gt;request header if the uploaded file will exceed the limit. Most clients send &lt;br&gt;an &amp;quot;Expect: 100-continue&amp;quot; header and thus give the server a chance to decline &lt;br&gt;the request *before* the body is sent. If the body is already on the way the &lt;br&gt;only thing you can do is to close the connection. I don&amp;#39;t know if httpd does &lt;br&gt;that immediately or if it reads and discards the whole body.&lt;p&gt;&amp;gt; (I suppose that we can assume that even&lt;br&gt;&amp;gt; though we get a handle into the POST body content, what we are reading is&lt;br&gt;&amp;gt; the decoded data, right ?).&lt;p&gt;The code below is the relevant piece of CGI.pm. So, yes, the upload hook gets &lt;br&gt;the data as it is written to the temp file.&lt;p&gt;  while (defined($data = $buffer-&amp;gt;read)) {&lt;br&gt;    if (defined $self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}) {&lt;br&gt;      $totalbytes += length($data);&lt;br&gt;      &amp;amp;{$self-&amp;gt;{&amp;#39;.upload_hook&amp;#39;}}($filename ,$data, $totalbytes,&lt;br&gt;                                 $self-&amp;gt;{&amp;#39;.upload_data&amp;#39;});&lt;br&gt;    }&lt;br&gt;    print $filehandle $data if ($self-&amp;gt;{&amp;#39;use_tempfile&amp;#39;});&lt;br&gt;  }&lt;p&gt;Torsten F&amp;#246;rtsch&lt;p&gt;-- &lt;br&gt;Need professional modperl support? Hire me! (&lt;a href="http://foertsch.name"&gt;http://foertsch.name&lt;/a&gt;)&lt;p&gt;Like fantasy? &lt;a href="http://kabatinte.net"&gt;http://kabatinte.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6850041550122981854?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6850041550122981854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6850041550122981854&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6850041550122981854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6850041550122981854'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload_08.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2995673015805364141</id><published>2012-02-08T03:05:00.000-08:00</published><updated>2012-02-08T03:06:10.580-08:00</updated><title type='text'>Re: Interrupting a POST with file upload</title><content type='html'>You probably don&amp;#39;t want to do this with a hook if you can&lt;br&gt;avoid it.&amp;#160; The reason is that once httpd sends the 100 Continue&lt;br&gt;it will read the entire upload, even after CGI.pm or apreq&lt;br&gt;has stopped parsing it.&lt;p&gt;&lt;p&gt;----- Original Message -----&lt;br&gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; To: mod_perl list &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; Cc: &lt;br&gt;&amp;gt; Sent: Wednesday, February 8, 2012 4:14 AM&lt;br&gt;&amp;gt; Subject: Interrupting a POST with file upload&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;T his refers to and follows another thread originally entitled &amp;quot;mod perl &lt;br&gt;&amp;gt; installed but not running&amp;quot;, started by Mike Cardeiro.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; It seemed better to start a new thread with a subject more to the point of this &lt;br&gt;&amp;gt; issue.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Perrin Harkins wrote:&lt;br&gt;&amp;gt;&amp;gt;  On Tue, Feb 7, 2012 at 7:26 PM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  You can also look at $CGI::POST_MAX in the same documentation.&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt;  See also LimitRequestBody:&lt;br&gt;&amp;gt;&amp;gt;  &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; As long as we have an expert..&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; What Mike wants to do (and me too), is to limit the size of a file that a &lt;br&gt;&amp;gt; specific user is uploading via a POST, in real-time and depending on a limit &lt;br&gt;&amp;gt; variable on a per-user, per-POST manner.&lt;br&gt;&amp;gt; And he wants to do this in such a way as to interrupt the POST itself, while it &lt;br&gt;&amp;gt; is taking place (aka if possible while the browser is still sending data to the &lt;br&gt;&amp;gt; server), to avoid a waste of time and bandwidth when a user is exceeding his &lt;br&gt;&amp;gt; quota e.g.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; As far as I know, LimitRequestBody is an absolute POST size limit set once and &lt;br&gt;&amp;gt; for all in the server config, and valid for all POSTs (and PUTs) after server &lt;br&gt;&amp;gt; restart. And it is calculated on the base of the real bytes being sent by the &lt;br&gt;&amp;gt; browser, this including the overhead caused by Base64 encoding the content of a &lt;br&gt;&amp;gt; file sent for example.&lt;br&gt;&amp;gt; (So that if you set the limit to 1MB, this will actually kick in as soon as the &lt;br&gt;&amp;gt; net unencoded size of the file being uploaded exceeds 660KB or so.)&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Then there is the $CGI_POST_MAX, which may very well be the same server value &lt;br&gt;&amp;gt; being manipulated by the CGI module, or it may be a private copy by CGI.pm.&amp;#160; &lt;br&gt;&amp;gt; What is not really clear is if that value is &amp;quot;thread-safe&amp;quot; in all &lt;br&gt;&amp;gt; scenarios.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; In the normal scenario, when retrieving the uploaded file&amp;#39;s handle via the &lt;br&gt;&amp;gt; CGI.pm call to param(file_input_name) or upload(file_input_name), what one &lt;br&gt;&amp;gt; actually gets is a handle onto a local temporary file, into which Apache/CGI.pm &lt;br&gt;&amp;gt; has already stored the whole content of the uploaded file.&amp;#160; By that time, the &lt;br&gt;&amp;gt; original file upload from the browser has already happened, so doing something &lt;br&gt;&amp;gt; at this point would be too late to interrupt the browser POST itself (and the &lt;br&gt;&amp;gt; bandwidth and time have already been spent).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; On the other hand, the CGI.pm documentation seems to say that if one uses the &lt;br&gt;&amp;gt; &amp;quot;hook&amp;quot; functionality for a file upload, then Apache/CGI.pm do not use &lt;br&gt;&amp;gt; a temporary file, and one gets a handle directly into the POST body content (so &lt;br&gt;&amp;gt; to speak), as it is being received by Apache.&amp;#160; And thus this could be a way to &lt;br&gt;&amp;gt; achieve what Mike wants.&lt;br&gt;&amp;gt; (I suppose that we can assume that even though we get a handle into the POST &lt;br&gt;&amp;gt; body content, what we are reading is the decoded data, right ?).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Now the question is, are my above interpretations correct ?&lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2995673015805364141?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2995673015805364141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2995673015805364141&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2995673015805364141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2995673015805364141'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-interrupting-post-with-file-upload.html' title='Re: Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8205808076912638906</id><published>2012-02-08T01:14:00.000-08:00</published><updated>2012-02-08T01:15:37.993-08:00</updated><title type='text'>Interrupting a POST with file upload</title><content type='html'>This refers to and follows another thread originally entitled &amp;quot;mod perl installed but not &lt;br&gt;running&amp;quot;, started by Mike Cardeiro.&lt;p&gt;It seemed better to start a new thread with a subject more to the point of this issue.&lt;p&gt;Perrin Harkins wrote:&lt;br&gt; &amp;gt; On Tue, Feb 7, 2012 at 7:26 PM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt; &amp;gt;&amp;gt; You can also look at $CGI::POST_MAX in the same documentation.&lt;br&gt; &amp;gt;&lt;br&gt; &amp;gt; See also LimitRequestBody:&lt;br&gt; &amp;gt; &lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody&lt;/a&gt;&lt;br&gt; &amp;gt;&lt;p&gt;As long as we have an expert..&lt;p&gt;What Mike wants to do (and me too), is to limit the size of a file that a specific user is &lt;br&gt;uploading via a POST, in real-time and depending on a limit variable on a per-user, &lt;br&gt;per-POST manner.&lt;br&gt;And he wants to do this in such a way as to interrupt the POST itself, while it is taking &lt;br&gt;place (aka if possible while the browser is still sending data to the server), to avoid a &lt;br&gt;waste of time and bandwidth when a user is exceeding his quota e.g.&lt;p&gt;As far as I know, LimitRequestBody is an absolute POST size limit set once and for all in &lt;br&gt;the server config, and valid for all POSTs (and PUTs) after server restart. And it is &lt;br&gt;calculated on the base of the real bytes being sent by the browser, this including the &lt;br&gt;overhead caused by Base64 encoding the content of a file sent for example.&lt;br&gt;(So that if you set the limit to 1MB, this will actually kick in as soon as the net &lt;br&gt;unencoded size of the file being uploaded exceeds 660KB or so.)&lt;p&gt;Then there is the $CGI_POST_MAX, which may very well be the same server value being &lt;br&gt;manipulated by the CGI module, or it may be a private copy by CGI.pm.  What is not really &lt;br&gt;clear is if that value is &amp;quot;thread-safe&amp;quot; in all scenarios.&lt;p&gt;In the normal scenario, when retrieving the uploaded file&amp;#39;s handle via the CGI.pm call to &lt;br&gt;param(file_input_name) or upload(file_input_name), what one actually gets is a handle onto &lt;br&gt;a local temporary file, into which Apache/CGI.pm has already stored the whole content of &lt;br&gt;the uploaded file.  By that time, the original file upload from the browser has already &lt;br&gt;happened, so doing something at this point would be too late to interrupt the browser POST &lt;br&gt;itself (and the bandwidth and time have already been spent).&lt;p&gt;On the other hand, the CGI.pm documentation seems to say that if one uses the &amp;quot;hook&amp;quot; &lt;br&gt;functionality for a file upload, then Apache/CGI.pm do not use a temporary file, and one &lt;br&gt;gets a handle directly into the POST body content (so to speak), as it is being received &lt;br&gt;by Apache.  And thus this could be a way to achieve what Mike wants.&lt;br&gt;(I suppose that we can assume that even though we get a handle into the POST body content, &lt;br&gt;what we are reading is the decoded data, right ?).&lt;p&gt;Now the question is, are my above interpretations correct ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8205808076912638906?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8205808076912638906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8205808076912638906&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8205808076912638906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8205808076912638906'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/interrupting-post-with-file-upload.html' title='Interrupting a POST with file upload'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-9052920937048461758</id><published>2012-02-07T18:01:00.001-08:00</published><updated>2012-02-07T18:01:41.173-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>On Tue, Feb 7, 2012 at 7:26 PM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; You can also look at $CGI::POST_MAX in the same documentation.&lt;p&gt;See also LimitRequestBody:&lt;br&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody&lt;/a&gt;&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-9052920937048461758?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/9052920937048461758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=9052920937048461758&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/9052920937048461758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/9052920937048461758'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_4670.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4642086460687213514</id><published>2012-02-07T16:26:00.001-08:00</published><updated>2012-02-07T16:26:49.886-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ----- Original Message -----&lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; And it doesn&amp;#39;t ?&lt;br&gt;&amp;gt;&amp;gt; The startup message of your Apache seemed to say that it does..&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Yes, it now is running and I am on my way!&lt;br&gt;&amp;gt; &lt;br&gt;Good, then..&lt;p&gt;about your wish to limit the size of the files someone can upload,&lt;br&gt;depending on how much they are already using.&lt;p&gt;You should look at the documentation of CGI.pm, the &amp;quot;CREATING A FILE UPLOAD FIELD&amp;quot; &lt;br&gt;section, and particularly the part about the &amp;quot;hook&amp;quot; function.&lt;br&gt;I have never tried it, but there should be a way there to interrupt the upload and abort &lt;br&gt;the POST processing whenever the read file size goes over your limit.&lt;p&gt;It doesn&amp;#39;t really require mod_perl though, it is part of CGI.pm.&lt;p&gt;You can also look at $CGI::POST_MAX in the same documentation.&lt;br&gt;The mere fact that this parameter can be set at the script level, seems to indicate that &lt;br&gt;it is dynamic, and that you could set it, at least as long as you have not started parsing &lt;br&gt;the POST itself (e.g. not called any param() yet).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4642086460687213514?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4642086460687213514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4642086460687213514&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4642086460687213514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4642086460687213514'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_8644.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6487711976098073326</id><published>2012-02-07T14:44:00.000-08:00</published><updated>2012-02-07T14:45:05.854-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>----- Original Message -----&lt;br&gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; And it doesn&amp;#39;t ?&lt;br&gt;&amp;gt; The startup message of your Apache seemed to say that it does..&lt;br&gt;&amp;gt;&lt;p&gt;Yes, it now is running and I am on my way!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6487711976098073326?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6487711976098073326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6487711976098073326&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6487711976098073326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6487711976098073326'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_5988.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2701010344381946637</id><published>2012-02-07T14:36:00.001-08:00</published><updated>2012-02-07T14:36:59.958-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; To: mod_perl list &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Now another question : apart from cgi-bin scripts which run much faster under &lt;br&gt;&amp;gt;&amp;gt; mod_perl, have you already tried writing mod_perl-based Apache modules ?&lt;br&gt;&amp;gt;&amp;gt; (because that&amp;#39;s where the really interesting things start, with mod_perl).&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I am a total newb to mod_perl.  This is definitely where I am heading...but I have a loooong way to go, right now I just want to get my system running under mod_perl.&lt;br&gt;&amp;gt; &lt;br&gt;And it doesn&amp;#39;t ?&lt;br&gt;The startup message of your Apache seemed to say that it does..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2701010344381946637?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2701010344381946637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2701010344381946637&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2701010344381946637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2701010344381946637'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_6812.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1146111592390268183</id><published>2012-02-07T14:31:00.001-08:00</published><updated>2012-02-07T14:31:41.250-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;p&gt;&amp;gt; To: mod_perl list &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Now another question : apart from cgi-bin scripts which run much faster under &lt;br&gt;&amp;gt; mod_perl, have you already tried writing mod_perl-based Apache modules ?&lt;br&gt;&amp;gt; (because that&amp;#39;s where the really interesting things start, with mod_perl).&lt;br&gt;&amp;gt;&lt;p&gt;I am a total newb to mod_perl.&amp;#160; This is definitely where I am heading...but I have a loooong way to go, right now I just want to get my system running under mod_perl.&lt;p&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1146111592390268183?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1146111592390268183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1146111592390268183&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1146111592390268183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1146111592390268183'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_6465.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1952646234068341117</id><published>2012-02-07T13:34:00.001-08:00</published><updated>2012-02-07T13:34:43.843-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;   &lt;br&gt;&amp;gt;&amp;gt; Very good. And by the same mechanism, you are already avoiding the problem with &lt;br&gt;&amp;gt;&amp;gt; all the silly (and sometimes dangerous) names that people can give to their &lt;br&gt;&amp;gt;&amp;gt; files.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; that is precisely why I did it this way.&lt;p&gt;You would be surprised at the number of people who don&amp;#39;t think of that issue until after &lt;br&gt;they have put their system in place (not even mentioning the question of international &lt;br&gt;character sets and their representation in the filesystem).&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; So if your files in the filesystem only have an unique-id as a name, then you &lt;br&gt;&amp;gt;&amp;gt; also have a download script, and this download script can also show the users a &lt;br&gt;&amp;gt;&amp;gt; nice page with the list of files that they can download, right ? and the links &lt;br&gt;&amp;gt;&amp;gt; that are shown are each in turn a call to your download script, to download the &lt;br&gt;&amp;gt;&amp;gt; file that they choose, right ?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; yup&lt;p&gt;I would be tempted to ask what was your original problem then ?&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; And another question : how many files maximum can end up being stored in that &lt;br&gt;&amp;gt;&amp;gt; upload/download directory ?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; generally I do it by size. so a user can upload say 5 gigs worth of files and the upload script will query the database for a sum of filesizes of all of that users files to see it they still have space.  This is where I am really exited about the prospect of doing this in mod_perl.  in the past, if you were uploading a 1 gig file but did not have space on your account you would not get an error until the entire file is uploaded.  I am thinking with the way mod_perl works I can query the db for that user  before the entire request (upload) is made and throw an error immediately  (though I could be wrong)&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I guess another thought I need is not only the size of files but the actual number of files...I suppose there is a choking point when there are just too many files in one directory.&lt;p&gt;Yes, that is why is was asking, because it is also something that many people ignore at &lt;br&gt;first.  It used to be worse, but even with current OS&amp;#39;es, there is still a limit as to how &lt;br&gt;many files can be in a directory, before any access to it becomes extremely sluggish.  I&amp;#39;d &lt;br&gt;say that a limit of 2000 files or so is certainly not to be crossed. Under Windows, I &lt;br&gt;would say much less, or else even viewing a directory with Explorer becomes painful.&lt;br&gt;Since you are giving each file a unique id however, you can decide to split the files into &lt;br&gt;a subdirectory structure based on different substrings within that id, to split your files &lt;br&gt;into a reasonable amount of separate (sub-)directories. You can decide on a 2-level, &lt;br&gt;3-level structure or more, depending on how many files you think you are going to have &lt;br&gt;over the next 5 years or so. Fortunately, disks are now large enough and filesystems smart &lt;br&gt;enough that you do not need to worry too quickly about space.&lt;br&gt;If you are planning to go into the hundreds of thousands of files, then you need a smarter &lt;br&gt;system, because otherwise you will have trouble keeping track, doing backups, splitting &lt;br&gt;these files logically for various purposes etc..&lt;p&gt;Now another question : apart from cgi-bin scripts which run much faster under mod_perl, &lt;br&gt;have you already tried writing mod_perl-based Apache modules ?&lt;br&gt;(because that&amp;#39;s where the really interesting things start, with mod_perl).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1952646234068341117?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1952646234068341117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1952646234068341117&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1952646234068341117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1952646234068341117'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_7890.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6328942763261146642</id><published>2012-02-07T12:43:00.000-08:00</published><updated>2012-02-07T12:44:21.132-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;p&gt;&amp;#160; &lt;br&gt;&amp;gt; Very good. And by the same mechanism, you are already avoiding the problem with &lt;br&gt;&amp;gt; all the silly (and sometimes dangerous) names that people can give to their &lt;br&gt;&amp;gt; files.&lt;p&gt;that is precisely why I did it this way.&lt;p&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; So if your files in the filesystem only have an unique-id as a name, then you &lt;br&gt;&amp;gt; also have a download script, and this download script can also show the users a &lt;br&gt;&amp;gt; nice page with the list of files that they can download, right ? and the links &lt;br&gt;&amp;gt; that are shown are each in turn a call to your download script, to download the &lt;br&gt;&amp;gt; file that they choose, right ?&lt;p&gt;yup&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt; And another question : how many files maximum can end up being stored in that &lt;br&gt;&amp;gt; upload/download directory ?&lt;br&gt;&amp;gt;&lt;p&gt;generally I do it by size. so a user can upload say 5 gigs worth of files and the upload script will query the database for a sum of filesizes of all of that users files to see it they still have space.&amp;#160; This is where I am really exited about the prospect of doing this in mod_perl.&amp;#160; in the past, if you were uploading a 1 gig file but did not have space on your account you would not get an error until the entire file is uploaded.&amp;#160; I am thinking with the way mod_perl works I can query the db for that user&amp;#160; before the entire request (upload) is made and throw an error immediately&amp;#160; (though I could be wrong)&lt;p&gt;I guess another thought I need is not only the size of files but the actual number of files...I suppose there is a choking point when there are just too many files in one directory.&lt;p&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6328942763261146642?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6328942763261146642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6328942763261146642&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6328942763261146642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6328942763261146642'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_7028.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6605142095613501904</id><published>2012-02-07T11:58:00.000-08:00</published><updated>2012-02-07T11:59:13.756-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;  &amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Now, as long as we&amp;#39;re there, what happens in your application if two people &lt;br&gt;&amp;gt;&amp;gt; upload a file with the same file name ?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; When the upload happens the script makes an entry in a mysql table with &lt;br&gt;&amp;gt; the file name, mime type and other info; the table has an autoincremented id &lt;br&gt;&amp;gt; field as the primary key.  the script names the uploaded file this id value so every file in the &lt;br&gt;&amp;gt; directory is named the id field of their entry in the database so they &lt;br&gt;&amp;gt; will all be unigue.  &lt;br&gt;&amp;gt; &lt;p&gt;Very good. And by the same mechanism, you are already avoiding the problem with all the &lt;br&gt;silly (and sometimes dangerous) names that people can give to their files.&lt;br&gt;And I am sure that you also filter these oroginal filenames before writing them to your &lt;br&gt;database, right ?  Not that people would be able to upload files with names that contain &lt;br&gt;silly characters like &amp;lt;,&amp;gt;,|,;,&amp;amp;,?,spaces, and all these kinds of things.&lt;p&gt;So if your files in the filesystem only have an unique-id as a name, then you also have a &lt;br&gt;download script, and this download script can also show the users a nice page with the &lt;br&gt;list of files that they can download, right ? and the links that are shown are each in &lt;br&gt;turn a call to your download script, to download the file that they choose, right ?&lt;p&gt;And another question : how many files maximum can end up being stored in that &lt;br&gt;upload/download directory ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6605142095613501904?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6605142095613501904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6605142095613501904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6605142095613501904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6605142095613501904'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_5727.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2956108492191863370</id><published>2012-02-07T11:23:00.001-08:00</published><updated>2012-02-07T11:23:56.007-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;p&gt;&amp;#160;&amp;gt;&lt;br&gt;&amp;gt; Now, as long as we&amp;#39;re there, what happens in your application if two people &lt;br&gt;&amp;gt; upload a file with the same file name ?&lt;br&gt;&amp;gt;&lt;p&gt;&lt;p&gt;When the upload happens the script makes an entry in a mysql table with &lt;br&gt;the file name, mime type and other info; the table has an autoincremented id &lt;br&gt;field as the primary key.&amp;#160; the script names the uploaded file this id value so every file in the &lt;br&gt;directory is named the id field of their entry in the database so they &lt;br&gt;will all be unigue.&amp;#160; &lt;p&gt;Thank you for your helpful response(s).&amp;#160; I have been coding for over a &lt;br&gt;decade but always on a shared server where I had no access to apache or &lt;br&gt;anything other than my own little sandbox so I have never had to deal &lt;br&gt;with all this stuff.&amp;#160; It is really fun (and a little scary).&amp;#160; I am learning a lot, it&amp;#39;s nice to get help from people who know way more than me!&lt;p&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2956108492191863370?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2956108492191863370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2956108492191863370&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2956108492191863370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2956108492191863370'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_1329.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-191922682984577848</id><published>2012-02-07T10:49:00.000-08:00</published><updated>2012-02-07T10:50:32.104-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; You should probably analyse your requirements carefully (as to exactly /why/ you &lt;br&gt;&amp;gt;&amp;gt; want the script to run as that user).  &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I am creating a file transfer site.  When a user logs in they can upload a file, so I need the script to write the file to a directory that is not accessible by the webserver; when another user logs in they can retrieve the file.&lt;br&gt;&amp;gt; &lt;p&gt;Well, that&amp;#39;s what I meant by analysing your requirements properly.&lt;br&gt;Presumably, your script is the one who accepts the file upload, and writes the file to &lt;br&gt;some directory.&lt;br&gt;Assuming that the script runs under the Apache user-id (the default), that script can &lt;br&gt;still write to any directory outside the Apache document_root, as long as that directory &lt;br&gt;is writeable by the Apache user-id.&lt;br&gt;Since that directory is outside the document_root, Apache by itself cannot access it.&lt;p&gt;To allow some people to retrieve the files, all you then need to do is to provide another &lt;br&gt;script that can read that same directory and send a file back to the user.&lt;br&gt;None of that really requires Apache to run your scripts as another user (which is &lt;br&gt;difficult to achieve and full of potential security holes).&lt;p&gt;Now, as long as we&amp;#39;re there, what happens in your application if two people upload a file &lt;br&gt;with the same file name ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-191922682984577848?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/191922682984577848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=191922682984577848&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/191922682984577848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/191922682984577848'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_4316.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3955629986624205092</id><published>2012-02-07T10:37:00.000-08:00</published><updated>2012-02-07T10:38:21.346-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>On 7 Feb 2012, at 16:08, mike cardeiro wrote:&lt;p&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; You should probably analyse your requirements carefully (as to exactly /why/ you &lt;br&gt;&amp;gt;&amp;gt; want the script to run as that user).  &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I am creating a file transfer site.  When a user logs in they can upload a file, so I need the script to write the file to a directory that is not accessible by the webserver;&lt;p&gt;Welcome to setuid hell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3955629986624205092?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3955629986624205092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3955629986624205092&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3955629986624205092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3955629986624205092'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_4486.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2534703803672383181</id><published>2012-02-07T08:08:00.000-08:00</published><updated>2012-02-07T08:09:32.322-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&amp;gt; From: Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt;&lt;p&gt;&lt;br&gt;&amp;gt; You should probably analyse your requirements carefully (as to exactly /why/ you &lt;br&gt;&amp;gt; want the script to run as that user).&amp;#160; &lt;p&gt;&lt;br&gt;I am creating a file transfer site.&amp;#160; When a user logs in they can upload a file, so I need the script to write the file to a directory that is not accessible by the webserver; when another user logs in they can retrieve the file.&lt;p&gt;It seems to be running the scripts as me when not using mod_perl (I assume so because the script permissions are 700)&lt;p&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2534703803672383181?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2534703803672383181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2534703803672383181&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2534703803672383181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2534703803672383181'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_2194.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8174747991436552396</id><published>2012-02-07T07:44:00.000-08:00</published><updated>2012-02-07T07:45:29.969-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>mike cardeiro wrote:&lt;br&gt;&amp;gt;&amp;gt; From: Dave Hodgkinson &amp;lt;&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; What&amp;#39;s MaxRequestsPerChild?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; MaxRequestsPerChild 10000&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ...I think I may have figured out the problem.  I think mod perl is running but my scripts are not using it.  I added &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;lt;Directory &amp;quot;/home/secret34/public_html/cgi-bin&amp;quot;&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;     SetHandler perl-script&lt;br&gt;&amp;gt;     PerlResponseHandler ModPerl::Registry&lt;br&gt;&amp;gt;     Options +ExecCGI&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;  &amp;lt;/Directory&amp;gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; to httpd.conf now my scripts get the following error&lt;br&gt;&amp;gt; slurp_filename(&amp;#39;/home/secret34/public_html/cgi-bin/login.cgi&amp;#39;) / opening: (13) Permission denied at /home/secret34/lib/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm line 541&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; progress.  I assume this is happening because my script permissions are 700 under the user that owns &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &amp;#39;/home/secret34/public_html/cgi-bin/&amp;#39;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; guess I have more playing around to do.  I want the scripts to run as if run by that user.&lt;br&gt;&amp;gt; &lt;br&gt;Cannot do that, unless you have Apache itself run as that user.&lt;br&gt;You should probably analyse your requirements carefully (as to exactly /why/ you want the &lt;br&gt;script to run as that user).  Then maybe you can solve that by making the Apache user and &lt;br&gt;the other user member of the same group, and adapt your file permissions accordingly.&lt;br&gt;The other solution I can think of, is to run a separate Apache instance under the user you &lt;br&gt;want (and listening on a separate port).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8174747991436552396?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8174747991436552396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8174747991436552396&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8174747991436552396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8174747991436552396'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_1998.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2159123460264091307</id><published>2012-02-07T07:05:00.000-08:00</published><updated>2012-02-07T07:06:05.460-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&amp;gt; From: Dave Hodgkinson &amp;lt;&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;What&amp;#39;s MaxRequestsPerChild?&lt;br&gt;&amp;gt;&lt;p&gt;&lt;br&gt;MaxRequestsPerChild 10000&lt;p&gt;...I think I may have figured out the problem.&amp;#160; I think mod perl is running but my scripts are not using it.&amp;#160; I added &lt;p&gt;&lt;br&gt;&amp;lt;Directory &amp;quot;/home/secret34/public_html/cgi-bin&amp;quot;&amp;gt;&lt;p&gt;&amp;#160;&amp;#160;&amp;#160; SetHandler perl-script&lt;br&gt;&amp;#160;&amp;#160;&amp;#160; PerlResponseHandler ModPerl::Registry&lt;br&gt;&amp;#160;&amp;#160;&amp;#160; Options +ExecCGI&lt;p&gt;&amp;#160;&amp;lt;/Directory&amp;gt;&lt;p&gt;to httpd.conf now my scripts get the following error&lt;br&gt;slurp_filename(&amp;#39;/home/secret34/public_html/cgi-bin/login.cgi&amp;#39;) / opening: (13) Permission denied at /home/secret34/lib/x86_64-linux-thread-multi/ModPerl/RegistryCooker.pm line 541&lt;p&gt;progress.&amp;#160; I assume this is happening because my script permissions are 700 under the user that owns &lt;p&gt;&amp;#39;/home/secret34/public_html/cgi-bin/&amp;#39;&lt;p&gt;guess I have more playing around to do.  I want the scripts to run as if run by that user.&lt;p&gt;Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2159123460264091307?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2159123460264091307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2159123460264091307&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2159123460264091307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2159123460264091307'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running_07.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4201092643083058935</id><published>2012-02-07T06:40:00.001-08:00</published><updated>2012-02-07T06:40:46.547-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>What&amp;#39;s MaxRequestsPerChild?&lt;p&gt;Are there several big fat httpd&amp;#39;s whose PIDs remain constant?&lt;p&gt;&lt;br&gt;On 7 Feb 2012, at 14:18, mike cardeiro wrote:&lt;p&gt;&amp;gt; I asked this a few weeks ago.  Is it possible that mod_perl is running but the $ENV{MOD_PERL} variable doesn&amp;#39;t exist?&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; it seems like it is running (the site is zippier) and when I restart apache the log file has the following line.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8.8 configured -&lt;br&gt;&amp;gt; - resuming normal operations&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; am I nuts? it says &amp;quot;mod_perl/2.0.5 Perl/v5.8.8 configured&amp;quot; but if I run a script listing %ENV there is no mod_perl entry.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4201092643083058935?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4201092643083058935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4201092643083058935&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4201092643083058935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4201092643083058935'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-mod-perl-installed-but-not-running.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3502684803776264526</id><published>2012-02-07T06:18:00.001-08:00</published><updated>2012-02-07T06:18:49.892-08:00</updated><title type='text'>mod perl installed but not running</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"&gt;I asked this a few weeks ago.&amp;nbsp; Is it possible that mod_perl is running but the $ENV{MOD_PERL} variable doesn't exist?&lt;br&gt;&amp;nbsp;&lt;br&gt;it seems like it is running (the site is zippier) and when I restart apache the log file has the following line.&lt;br&gt;&lt;br&gt;Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.5 Perl/v5.8.8 configured -&lt;br&gt;- resuming normal operations&lt;br&gt;&lt;br&gt;am I nuts? it says "mod_perl/2.0.5 Perl/v5.8.8 configured" but if I run a script listing %ENV there is no mod_perl entry.&lt;br&gt;&lt;br&gt;Mike Cardeiro&lt;br&gt; &lt;div&gt;&lt;blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"&gt;&lt;div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"&gt; &lt;/div&gt;  &lt;/blockquote&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3502684803776264526?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3502684803776264526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3502684803776264526&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3502684803776264526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3502684803776264526'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/mod-perl-installed-but-not-running.html' title='mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5741342235033260914</id><published>2012-02-07T02:18:00.000-08:00</published><updated>2012-02-07T02:20:02.338-08:00</updated><title type='text'>Re: Tool to create multiple requests</title><content type='html'>On 07/02/2012 08:58, Andr&amp;eacute; Warnier wrote:     &lt;blockquote cite="mid:4F30E7B8.8040600@ice-sa.com" type="cite"&gt;Tobias       Wagener wrote:       &lt;br&gt;       &lt;blockquote type="cite"&gt;Hello,         &lt;br&gt;         &lt;br&gt;         I'm currently developing a huge application with mod_perl,         unixODBC and MaxDB/SAPDB.         &lt;br&gt;         On my developing system everything is fine. But on the         productive system         &lt;br&gt;         with &amp;gt; 50 users, I have database connection errors and         request aborts and         &lt;br&gt;         so on.         &lt;br&gt;         &lt;br&gt;         Now I want to ask if someone knows a tool or perl modules, where         I can simulate         &lt;br&gt;         50 users. I have a list with some common request including the         query parameter in order of appearence. But I don't know, how to         send them to my developing system to create the same load as it         will be on the productive system.         &lt;br&gt;         &lt;br&gt;         Can someone help me with this issue?         &lt;br&gt;         &lt;br&gt;       &lt;/blockquote&gt;       As a simple tool, have a look at the "ab" program that comes with       Apache.       &lt;br&gt;       &lt;br&gt;     &lt;/blockquote&gt;     ab isn't usually that much use as it does strain the databases in     the same way - especially as it only takes 1 URL - any "production"     scaling e.g. caching etc will make it even worse. I have a simple     one I wrote based on curl which can take a list of URLs which is     generally a lot better. &lt;br&gt;     Without being careful it is still difficult to cope with large sites     acting like users (you will need to extend the code to do cookie     jars!)...&lt;br&gt;     &lt;br&gt;     Things we have come across in large production systems are. &lt;br&gt;     &lt;ul&gt;       &lt;li&gt;Apache::DBI sometimes cause issues with too many database         connections - we tend to turn it off and use DBIx::Connector as         mentioned (and carefully selected caching) here to cope with         persistence of connections;&lt;/li&gt;       &lt;li&gt;You may be serving too many requests on the server to the         users (other than the main page request).... look at         caching/minimising/merging page design elements - background         images, javascript, CSS;&lt;/li&gt;       &lt;li&gt;OR&amp;nbsp; - serve them from a second apache (use it either as a         proxy or have a proxy in front of the two apaches)&lt;br&gt;       &lt;/li&gt;       &lt;li&gt;Don't over AJAX pages - lots of "parallel" AJAX requests can         effectively DOS your service;&lt;/li&gt;     &lt;/ul&gt;     Another trick is to add extra diagnostics to your apache logs with a     couple of mod_perl handlers:&lt;br&gt;     &lt;br&gt;     &lt;h2&gt;&lt;b&gt;Apache configuration file:&lt;/b&gt;&lt;/h2&gt;     &lt;tt&gt;PerlLoadModule&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pagesmith::Apache::Timer&lt;br&gt;       PerlChildInitHandler&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       Pagesmith::Apache::Timer::child_init_handler&lt;br&gt;       PerlChildExitHandler&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       Pagesmith::Apache::Timer::child_exit_handler&lt;br&gt;       PerlPostReadRequestHandler&amp;nbsp;       Pagesmith::Apache::Timer::post_read_request_handler&lt;br&gt;       PerlLogHandler&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pagesmith::Apache::Timer::log_handler&lt;/tt&gt;&lt;br&gt;     &lt;br&gt;     &lt;tt&gt;LogFormat "%V [&lt;b&gt;%P/%{CHILD_COUNT}e %{SCRIPT_TIME}e&lt;/b&gt;       %{outstream}n/%{instream}n=%{ratio}n] %h/%{X-Forwarded-For}i       %l/%{SESSION_ID}e %u/%{user_name}e %t \"%r\" %&amp;gt;s %b       \"%{Referer}i\" \"%{User-Agent}i\&amp;nbsp;&amp;nbsp;&amp;nbsp; " \"%{Cookie}i\"       \"%{X-Requested-With}i\" &lt;b&gt;%{SCRIPT_START}e/%{SCRIPT_END}e&lt;/b&gt;"       diagnostic&lt;/tt&gt;&lt;tt&gt;&lt;br&gt;     &lt;/tt&gt;     &lt;p&gt;The following module sets up the four environment variables: &lt;tt&gt;&lt;b&gt;CHILD_COUNT,           SCRIPT_START, SCRIPT_END, SCRIPT_TIME&lt;/b&gt;&lt;/tt&gt; so you can see       which requests are slow and you can also see if you have any       "clustering" of requests...&lt;tt&gt; Setting the "&lt;/tt&gt;&lt;tt&gt;Readonly my         $LEVEL" &lt;/tt&gt;to either normal or noisy will give you more       diagnostics in the error log as well&lt;tt&gt;....&lt;br&gt;       &lt;/tt&gt;&lt;/p&gt;     &lt;h2&gt;&lt;b&gt;Module:&lt;/b&gt;&lt;/h2&gt;     &lt;tt&gt;package Pagesmith::Apache::Timer;&lt;br&gt;       &lt;br&gt;       ## Component&lt;br&gt;       ## Author&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : js5&lt;br&gt;       ## Maintainer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : js5&lt;br&gt;       ## Created&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2009-08-12&lt;br&gt;       ## Last commit by : $Author: js5 $&lt;br&gt;       ## Last modified&amp;nbsp; : $Date: 2011-10-26 12:44:20 +0100 (Wed, 26 Oct       2011) $&lt;br&gt;       ## Revision&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : $Revision: 1489 $&lt;br&gt;       ## Repository URL : $HeadURL:       svn+ssh://web-svn.internal.sanger.ac.uk/repos/svn/shared-content/trunk/lib/Pagesmith/Apache/Timer.pm       $&lt;br&gt;       &lt;br&gt;       use strict;&lt;br&gt;       use warnings;&lt;br&gt;       use utf8;&lt;br&gt;       &lt;br&gt;       use version qw(qv); our $VERSION = qv('0.1.0');&lt;br&gt;       &lt;br&gt;       use Readonly qw(Readonly);&lt;br&gt;       Readonly my $VERY_LARGE_TIME =&amp;gt; 1_000_000;&lt;br&gt;       Readonly my $CENT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 100;&lt;br&gt;       Readonly my $LEVEL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'normal'; #       (quiet,normal,noisy)&lt;br&gt;       &lt;br&gt;       use Apache2::Const qw(OK DECLINED);&lt;br&gt;       use English qw(-no_match_vars $PID);&lt;br&gt;       use Time::HiRes qw(time);&lt;br&gt;       &lt;br&gt;       my $child_started;&lt;br&gt;       my $request_started;&lt;br&gt;       my $requests;&lt;br&gt;       my $total_time;&lt;br&gt;       my $min_time;&lt;br&gt;       my $max_time;&lt;br&gt;       my $total_time_squared;&lt;br&gt;       &lt;br&gt;       sub post_config_handler {&lt;br&gt;       &amp;nbsp; return DECLINED if $LEVEL eq 'quiet';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; printf {*STDERR} "TI:&amp;nbsp;&amp;nbsp; Start apache&amp;nbsp; %9d\n", $PID;&lt;br&gt;       &amp;nbsp; return DECLINED;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       sub child_init_handler {&lt;br&gt;       &amp;nbsp; return DECLINED if $LEVEL eq 'quiet';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; $child_started = time;&lt;br&gt;       &amp;nbsp; $requests&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;br&gt;       &amp;nbsp; $total_time&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;br&gt;       &amp;nbsp; $min_time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $VERY_LARGE_TIME;&lt;br&gt;       &amp;nbsp; $max_time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;br&gt;       &amp;nbsp; $total_time_squared&amp;nbsp; = 0;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; printf {*STDERR} "TI:&amp;nbsp;&amp;nbsp; Start child&amp;nbsp;&amp;nbsp; %9d\n", $PID;&lt;br&gt;       &amp;nbsp; return DECLINED;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       sub post_read_request_handler {&lt;br&gt;       &amp;nbsp; my $r = shift;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; return DECLINED if $LEVEL eq 'quiet';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; $request_started = time;&lt;br&gt;       &amp;nbsp; $requests++;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; return DECLINED unless $LEVEL eq 'noisy';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; printf {*STDERR} "TI:&amp;nbsp;&amp;nbsp; Start request %9d - %4d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;       %s\n",&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $PID,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $requests,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;uri;&lt;br&gt;       &amp;nbsp; return DECLINED;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       sub log_handler {&lt;br&gt;       &amp;nbsp; my $r&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = shift;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; return DECLINED if $LEVEL eq 'quiet';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; my $request_ended = time;&lt;br&gt;       &amp;nbsp; my $t&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = $request_ended - $request_started;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; $total_time += $t;&lt;br&gt;       &amp;nbsp; $min_time = $t if $t &amp;lt; $min_time;&lt;br&gt;       &amp;nbsp; $max_time = $t if $t &amp;gt; $max_time;&lt;br&gt;       &amp;nbsp; $total_time_squared += $t * $t;&lt;br&gt;       &amp;nbsp; $r-&amp;gt;subprocess_env-&amp;gt;{'CHILD_COUNT'}&amp;nbsp; = $requests;&lt;br&gt;       &amp;nbsp; $r-&amp;gt;subprocess_env-&amp;gt;{'SCRIPT_START'} = sprintf '%0.6f',       $request_started;&lt;br&gt;       &amp;nbsp; $r-&amp;gt;subprocess_env-&amp;gt;{'SCRIPT_END'}&amp;nbsp;&amp;nbsp; = sprintf '%0.6f',       $request_ended;&lt;br&gt;       &amp;nbsp; $r-&amp;gt;subprocess_env-&amp;gt;{'SCRIPT_TIME'}&amp;nbsp; = sprintf '%0.6f',       $t;&lt;br&gt;       &lt;br&gt;       &amp;nbsp; return DECLINED unless $LEVEL eq 'noisy';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; printf {*STDERR} "TI:&amp;nbsp;&amp;nbsp; End request&amp;nbsp;&amp;nbsp; %9d - %4d %10.6f&amp;nbsp;&amp;nbsp; %s\n",       $PID, $requests, $t, $r-&amp;gt;uri;&lt;br&gt;       &amp;nbsp; return DECLINED;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       sub child_exit_handler {&lt;br&gt;       &amp;nbsp; return DECLINED if $LEVEL eq 'quiet';&lt;br&gt;       &lt;br&gt;       &amp;nbsp; my $time_alive = time - $child_started;&lt;br&gt;       &amp;nbsp; printf {*STDERR} "TI:&amp;nbsp;&amp;nbsp; End child&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %9d - %4d %10.6f %10.6f       %7.3f%% %10.6f [%10.6f,%10.6f]\n",&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $PID,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $requests,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $total_time,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $time_alive,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $time_alive&amp;nbsp; ? $CENT * $total_time / $time_alive : 0,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $requests&amp;nbsp;&amp;nbsp;&amp;nbsp; ? $total_time / $requests&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $min_time,&lt;br&gt;       &amp;nbsp;&amp;nbsp;&amp;nbsp; $max_time;&lt;br&gt;       &amp;nbsp; return DECLINED;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       1;&lt;br&gt;     &lt;/tt&gt;&lt;br&gt;    &lt;br&gt;   --   The Wellcome Trust Sanger Institute is operated by Genome Research   Limited, a charity registered in England with number 1021457 and a   company registered in England with number 2742969, whose registered   office is 215 Euston Road, London, NW1 2BE.  &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5741342235033260914?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5741342235033260914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5741342235033260914&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5741342235033260914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5741342235033260914'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-tool-to-create-multiple-requests_2055.html' title='Re: Tool to create multiple requests'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3435026194046099607</id><published>2012-02-07T01:37:00.000-08:00</published><updated>2012-02-07T01:38:17.061-08:00</updated><title type='text'>Re: Tool to create multiple requests</title><content type='html'>It&amp;#39;s rudimentary but you can try Apache ab, the Apache benchmarking &lt;br&gt;tool. You probably have it installed already. Try &amp;#39;man ab&amp;#39; at the prompt.&lt;p&gt;If you want to emulate 50 concurrent requests, sent twice, you&amp;#39;d do &lt;br&gt;something like:&lt;p&gt;ab -c 50 -n 100 &lt;a href="http://example.com/etc?etc"&gt;http://example.com/etc?etc&lt;/a&gt;&lt;p&gt;If you don&amp;#39;t have it installed already, then see&lt;br&gt;&lt;a href="http://httpd.apache.org/docs/2.2/programs/ab.html"&gt;http://httpd.apache.org/docs/2.2/programs/ab.html&lt;/a&gt;&lt;p&gt;&lt;br&gt;If that doesn&amp;#39;t provide any clues, check&lt;p&gt;&lt;a href="http://modperlbook.org/html/Chapter-9-Essential-Tools-for-Performance-Tuning.html"&gt;http://modperlbook.org/html/Chapter-9-Essential-Tools-for-Performance-Tuning.html&lt;/a&gt;&lt;p&gt;Good luck.&lt;p&gt;g.&lt;p&gt;&lt;p&gt;On 2/6/2012 11:05 PM, Tobias Wagener wrote:&lt;br&gt;&amp;gt; Hello,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I&amp;#39;m currently developing a huge application with mod_perl, unixODBC and MaxDB/SAPDB.&lt;br&gt;&amp;gt; On my developing system everything is fine. But on the productive system&lt;br&gt;&amp;gt; with&amp;gt;  50 users, I have database connection errors and request aborts and&lt;br&gt;&amp;gt; so on.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Now I want to ask if someone knows a tool or perl modules, where I can simulate&lt;br&gt;&amp;gt; 50 users. I have a list with some common request including the query parameter&lt;br&gt;&amp;gt; in order of appearence. But I don&amp;#39;t know, how to send them to my developing&lt;br&gt;&amp;gt; system to create the same load as it will be on the productive system.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Can someone help me with this issue?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Thanks and best regards,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Tobias&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3435026194046099607?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3435026194046099607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3435026194046099607&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3435026194046099607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3435026194046099607'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-tool-to-create-multiple-requests_07.html' title='Re: Tool to create multiple requests'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4176582666748459713</id><published>2012-02-07T00:58:00.000-08:00</published><updated>2012-02-07T01:00:37.381-08:00</updated><title type='text'>Re: Tool to create multiple requests</title><content type='html'>Tobias Wagener wrote:&lt;br&gt;&amp;gt; Hello,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I&amp;#39;m currently developing a huge application with mod_perl, unixODBC and MaxDB/SAPDB.&lt;br&gt;&amp;gt; On my developing system everything is fine. But on the productive system&lt;br&gt;&amp;gt; with &amp;gt; 50 users, I have database connection errors and request aborts and&lt;br&gt;&amp;gt; so on.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Now I want to ask if someone knows a tool or perl modules, where I can simulate&lt;br&gt;&amp;gt; 50 users. I have a list with some common request including the query parameter &lt;br&gt;&amp;gt; in order of appearence. But I don&amp;#39;t know, how to send them to my developing &lt;br&gt;&amp;gt; system to create the same load as it will be on the productive system.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Can someone help me with this issue?&lt;br&gt;&amp;gt; &lt;br&gt;As a simple tool, have a look at the &amp;quot;ab&amp;quot; program that comes with Apache.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4176582666748459713?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4176582666748459713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4176582666748459713&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4176582666748459713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4176582666748459713'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/re-tool-to-create-multiple-requests.html' title='Re: Tool to create multiple requests'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5061738186448210072</id><published>2012-02-06T23:05:00.000-08:00</published><updated>2012-02-06T23:06:29.237-08:00</updated><title type='text'>Tool to create multiple requests</title><content type='html'>Hello,&lt;p&gt;I&amp;#39;m currently developing a huge application with mod_perl, unixODBC and MaxDB/SAPDB.&lt;br&gt;On my developing system everything is fine. But on the productive system&lt;br&gt;with &amp;gt; 50 users, I have database connection errors and request aborts and&lt;br&gt;so on.&lt;p&gt;Now I want to ask if someone knows a tool or perl modules, where I can simulate&lt;br&gt;50 users. I have a list with some common request including the query parameter &lt;br&gt;in order of appearence. But I don&amp;#39;t know, how to send them to my developing &lt;br&gt;system to create the same load as it will be on the productive system.&lt;p&gt;Can someone help me with this issue?&lt;p&gt;Thanks and best regards,&lt;p&gt;Tobias&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5061738186448210072?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5061738186448210072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5061738186448210072&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5061738186448210072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5061738186448210072'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/tool-to-create-multiple-requests.html' title='Tool to create multiple requests'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3638538341033764596</id><published>2012-02-04T08:49:00.000-08:00</published><updated>2012-02-04T08:50:32.649-08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://serenity-event-s.fr/galerie-photos/zp-core/zp-extensions/tiny_mce/plugins/ajaxfilemanager/inc/test.php?fish1.img"&gt;http://serenity-event-s.fr/galerie-photos/zp-core/zp-extensions/tiny_mce/plugins/ajaxfilemanager/inc/test.php?fish1.img&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3638538341033764596?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3638538341033764596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3638538341033764596&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3638538341033764596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3638538341033764596'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/02/httpserenity-event-s.html' title=''/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8422661528458454544</id><published>2012-01-30T12:09:00.000-08:00</published><updated>2012-01-30T12:10:30.919-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>Perrin Harkins wrote:&lt;br&gt;&amp;gt; On Sun, Jan 29, 2012 at 5:22 PM, mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; can anybody help me.  I have mod_perl installed, I have &amp;quot;LoadModule&lt;br&gt;&amp;gt;&amp;gt; perl_module /usr/local/apache/modules/mod_perl.so&amp;quot; in httpd.conf&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; if the installation isn&amp;#39;t right, shouldn&amp;#39;t the server choke on restart&lt;br&gt;&amp;gt;&amp;gt; because it cant load mod_perl.so?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Time for some sanity checks.  Try changing the path to mod_perl.so so&lt;br&gt;&amp;gt; it points to nothing.  See if you can still restart.  If you can,&lt;br&gt;&amp;gt; you&amp;#39;re restarting a different server than the one that&amp;#39;s using this&lt;br&gt;&amp;gt; conf file.&lt;br&gt;&amp;gt; &lt;br&gt;.. or you are modifying a conf file that your server is not using. ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8422661528458454544?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8422661528458454544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8422661528458454544&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8422661528458454544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8422661528458454544'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-mod-perl-installed-but-not-running_3538.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-899072793026345917</id><published>2012-01-30T12:01:00.001-08:00</published><updated>2012-01-30T12:01:51.271-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>On Sun, Jan 29, 2012 at 5:22 PM, mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; can anybody help me.&amp;#160; I have mod_perl installed, I have &amp;quot;LoadModule&lt;br&gt;&amp;gt; perl_module /usr/local/apache/modules/mod_perl.so&amp;quot; in httpd.conf&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; if the installation isn&amp;#39;t right, shouldn&amp;#39;t the server choke on restart&lt;br&gt;&amp;gt; because it cant load mod_perl.so?&lt;p&gt;Time for some sanity checks.  Try changing the path to mod_perl.so so&lt;br&gt;it points to nothing.  See if you can still restart.  If you can,&lt;br&gt;you&amp;#39;re restarting a different server than the one that&amp;#39;s using this&lt;br&gt;conf file.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-899072793026345917?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/899072793026345917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=899072793026345917&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/899072793026345917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/899072793026345917'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-mod-perl-installed-but-not-running_30.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2946276261991801701</id><published>2012-01-30T11:39:00.001-08:00</published><updated>2012-01-30T11:39:44.174-08:00</updated><title type='text'>Re: Font Problem</title><content type='html'>Michel Jansen wrote:&lt;br&gt;&amp;gt; Hi Andr&amp;#233;,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; This works! Thanx for your help..... Of course i now have another &lt;br&gt;&amp;gt; problem.....! Firefox now rejects the font saying: downloadable font: &lt;br&gt;&amp;gt; rejected by sanitizer ;-)&lt;br&gt;&amp;gt; &lt;br&gt;Michel,&lt;p&gt;Glad that it helped.&lt;p&gt;But please respond to the list, not to my private email address.&lt;p&gt;When you send to the list, the others on the list also see your answer and can see that &lt;br&gt;the problem is solved and how.&lt;br&gt;Also, that way your message will arrive in the list archives, and someone else with the &lt;br&gt;same problem and who searches the list archives, will also see it, without needing to ask.&lt;p&gt;If you send our message to me, the above does not happen.&lt;br&gt;Do not even send me a copy.  I am subscribed to the list and I get all messages to the &lt;br&gt;list automatically. If you send me a copy, I get the same message twice, which is &lt;br&gt;unnecessary and annoying.&lt;br&gt;In addition, when you send an email to my address, my email filters are such that your &lt;br&gt;emails land in my &amp;quot;junk&amp;quot; folder (which I just happened to check, that&amp;#39;s why I saw it).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2946276261991801701?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2946276261991801701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2946276261991801701&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2946276261991801701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2946276261991801701'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-font-problem_1649.html' title='Re: Font Problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3995466900928297882</id><published>2012-01-30T11:06:00.001-08:00</published><updated>2012-01-30T11:06:38.232-08:00</updated><title type='text'>Re: Font Problem</title><content type='html'>Andr&amp;#233; Warnier wrote:&lt;br&gt;&amp;gt; Michel Jansen wrote:&lt;br&gt;&amp;gt;&amp;gt; Hi There,&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; I have a probem using webfonts in Firefox. It won&amp;#39;t let me use &lt;br&gt;&amp;gt;&amp;gt; webfonts from another url than the original. Since i am working with a &lt;br&gt;&amp;gt;&amp;gt; perlhandler that &amp;quot;catches&amp;quot; all requests from / and up, i would like to &lt;br&gt;&amp;gt;&amp;gt; know of someone knows how i can bypass my handler for a specific &lt;br&gt;&amp;gt;&amp;gt; directory above / like for example /fonts/. It would be nice if the &lt;br&gt;&amp;gt;&amp;gt; handler can be told to handle all requests bot not for /fonts/ and &lt;br&gt;&amp;gt;&amp;gt; pass this request to apache....&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; Have you tried returning Apache2::Const::DECLINED from your handler if &lt;br&gt;&amp;gt; the URL is &amp;quot;/fonts/*&amp;quot; ?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; See here :&lt;br&gt;&amp;gt; &lt;a href="http://perl.apache.org/docs/2.0/user/handlers/http.html#PerlResponseHandler"&gt;http://perl.apache.org/docs/2.0/user/handlers/http.html#PerlResponseHandler&lt;/a&gt;&lt;br&gt;&amp;gt; (and check RUN_FIRST)&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; As far as I understand, if your handler returns DECLINED, and there are &lt;br&gt;&amp;gt; no more explicit handlers defined, then Apache should serve the request &lt;br&gt;&amp;gt; with it&amp;#39;s default handler, which should be what you want.&lt;br&gt;&amp;gt; &lt;p&gt;Another solution which you might try, without modifying your handler :&lt;p&gt;1) read these :&lt;p&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#sethandler"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#sethandler&lt;/a&gt;&lt;br&gt;&lt;a href="http://httpd.apache.org/docs/2.2/mod/core.html#location"&gt;http://httpd.apache.org/docs/2.2/mod/core.html#location&lt;/a&gt;&lt;p&gt;2) configure as follows :&lt;p&gt;&amp;lt;Location /&amp;gt;&lt;br&gt;   SetHandler mod_perl&lt;br&gt;   PerlResponseHandler my_module&lt;br&gt;   ...&lt;br&gt;&amp;lt;/Location&amp;gt;&lt;p&gt;&amp;lt;Location /fonts/&amp;gt;&lt;br&gt;   SetHandler none&lt;br&gt;&amp;lt;/Location&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3995466900928297882?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3995466900928297882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3995466900928297882&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3995466900928297882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3995466900928297882'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-font-problem_30.html' title='Re: Font Problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5941187918693340469</id><published>2012-01-30T10:39:00.000-08:00</published><updated>2012-01-30T10:40:18.742-08:00</updated><title type='text'>Re: Font Problem</title><content type='html'>Michel Jansen wrote:&lt;br&gt;&amp;gt; Hi There,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I have a probem using webfonts in Firefox. It won&amp;#39;t let me use webfonts &lt;br&gt;&amp;gt; from another url than the original. Since i am working with a &lt;br&gt;&amp;gt; perlhandler that &amp;quot;catches&amp;quot; all requests from / and up, i would like to &lt;br&gt;&amp;gt; know of someone knows how i can bypass my handler for a specific &lt;br&gt;&amp;gt; directory above / like for example /fonts/. It would be nice if the &lt;br&gt;&amp;gt; handler can be told to handle all requests bot not for /fonts/ and pass &lt;br&gt;&amp;gt; this request to apache....&lt;br&gt;&amp;gt; &lt;br&gt;Have you tried returning Apache2::Const::DECLINED from your handler if the URL is &amp;quot;/fonts/*&amp;quot; ?&lt;p&gt;See here :&lt;br&gt;&lt;a href="http://perl.apache.org/docs/2.0/user/handlers/http.html#PerlResponseHandler"&gt;http://perl.apache.org/docs/2.0/user/handlers/http.html#PerlResponseHandler&lt;/a&gt;&lt;br&gt;(and check RUN_FIRST)&lt;p&gt;As far as I understand, if your handler returns DECLINED, and there are no more explicit &lt;br&gt;handlers defined, then Apache should serve the request with it&amp;#39;s default handler, which &lt;br&gt;should be what you want.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5941187918693340469?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5941187918693340469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5941187918693340469&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5941187918693340469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5941187918693340469'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-font-problem.html' title='Re: Font Problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7579613238346409828</id><published>2012-01-29T14:22:00.000-08:00</published><updated>2012-01-29T14:23:27.943-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"&gt;can anybody help me.&amp;nbsp; I have mod_perl installed, I have "LoadModule perl_module /usr/local/apache/modules/mod_perl.so" in httpd.conf&lt;br&gt;&lt;br&gt;if the installation isn't right, shouldn't the server choke on restart because it cant load mod_perl.so?&lt;br&gt;&lt;br&gt;this is driving me crazy.&amp;nbsp; I tried reinstalling mod_per (not sure if that was a bad idea).&lt;br&gt;&lt;br&gt;Mike Cardeiro&lt;br&gt; &lt;div&gt;&lt;blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"&gt;&lt;div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"&gt; &lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7579613238346409828?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7579613238346409828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7579613238346409828&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7579613238346409828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7579613238346409828'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-mod-perl-installed-but-not-running_29.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8478152488126950904</id><published>2012-01-29T11:57:00.000-08:00</published><updated>2012-01-29T11:58:20.314-08:00</updated><title type='text'>[ANNOUNCE] Apache-Test 1.37</title><content type='html'>Apache-Test 1.37 is coming to a CPAN mirror near you.  Thanks to&lt;br&gt;several different contributors for this release!&lt;p&gt;  md5: 179f247fc5c7d11387b9c73ae3fa6f71&lt;p&gt;      1.37 January 29, 2012&lt;br&gt;          Apache::TestRequest: improve compatibility for SSL requests with LWP&lt;br&gt;          6 and IO::Socket::SSL, in particular [Kaspar Brand]&lt;p&gt;          As of httpd revision 1053230 (version 2.3.11) the NameVirtualHost&lt;br&gt;          directive became superfluous and a warning is issued when it is met.&lt;br&gt;          So, Apache::Test now wraps NameVirtualHost directives in &amp;lt;IfVersion&amp;gt;&lt;br&gt;          blocks.  [Kaspar Brand]&lt;p&gt;          Add comments about the source files of auto configurated tests to&lt;br&gt;          the generated httpd.conf and improve indentation a bit. [Torsten&lt;br&gt;          Foertsch]&lt;p&gt;          Run t/TEST tests by default in alphabetical order and only t/SMOKE&lt;br&gt;          tests by default in random order. [Rainer Jung]&lt;p&gt;          Add t_file_watch_for to Apache::TestUtil [Torsten Foertsch]&lt;p&gt;          Add $boolean parameter to Apache::TestHandler::ok and&lt;br&gt;          Apache::TestHandler::ok1 Add a few bits of documentation [Torsten&lt;br&gt;          Foertsch]&lt;p&gt;          Apache::TestHandler forgot to require Apache2::RequestRec [Torsten&lt;br&gt;          Foertsch]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8478152488126950904?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8478152488126950904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8478152488126950904&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8478152488126950904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8478152488126950904'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/announce-apache-test-137.html' title='[ANNOUNCE] Apache-Test 1.37'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6759972876703920806</id><published>2012-01-28T17:49:00.001-08:00</published><updated>2012-01-28T17:49:54.721-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>Thanks Hans - that fits with what I&amp;#39;m seeing (including no connection with Oracle).&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I had previously discovered that including DateTime in a handler made it crash at start-up (actually using DateTime wasn&amp;#39;t actually necessary) , but didn&amp;#39;t make the connection between that and Params::Classify partly because this crash only occurs under certain circumstances.  When I later reintroduced DateTime it didn&amp;#39;t seem to crash any more, so I never thought it would be causing this one.  Oh well, live and learn...&lt;/div&gt; &lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks for the response...&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Andrew&lt;br&gt;&lt;div class="gmail_quote"&gt;On Sun, Jan 29, 2012 at 11:52 AM, Hans Scharler &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:hscharler@gmail.com"&gt;hscharler@gmail.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt; &lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;&lt;div&gt;The Classify.dll issue gave me much trouble to figure out. In my instance, the issue has nothing to do with the database or Oracle.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s what I found:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Updating DateTime to version 0.72 includes Params::Classify as a dependency.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://search.cpan.org/~drolsky/DateTime-0.72/" target="_blank"&gt;http://search.cpan.org/~drolsky/DateTime-0.72/&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Also, DateTime-TimeZone version 1.40 also includes Params::Classify.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;When Classify.dll gets onto a Windows installation of mod_perl, Apache will crash/restart often. Regular Perl is fine. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The latest DateTime and DateTime-TimeZone modules that work with mod_perl are DateTime 0.70 and DateTime-TimeZone 1.34.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I spend a few days troubleshooting Classify.dll and the only way I could get it to work was to remove it and use older versions of DateTime.&lt;/div&gt;   &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I hope this helps you out.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Hans&lt;/div&gt;&lt;div class="HOEnZb"&gt;&lt;div class="h5"&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;On Fri, Jan 27, 2012 at 5:44 PM, Perrin Harkins &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:perrin@elem.com" target="_blank"&gt;perrin@elem.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;   &lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;&lt;p&gt;Sorry, just a clumsy cell phone touch. &lt;/p&gt;&lt;span&gt;&lt;font color="#888888"&gt; &lt;p&gt;- Perrin&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt; &lt;div class="gmail_quote"&gt;On Jan 27, 2012 5:42 PM, &amp;quot;Perrin Harkins&amp;quot; &amp;lt;&lt;a href="mailto:perrin@elem.com" target="_blank"&gt;perrin@elem.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;    &lt;p&gt;&lt;/p&gt; &lt;p&gt;- Perrin&lt;/p&gt; &lt;div class="gmail_quote"&gt;On Jan 13, 2012 6:47 PM, &amp;quot;Andrew Merton (subscriptions)&amp;quot; &amp;lt;&lt;a href="mailto:amerton.signup@gmail.com" target="_blank"&gt;amerton.signup@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;                   &lt;div bgcolor="#FFFFFF" text="#000000"&gt;     On 17/12/2011 7:20 a.m., Randolf Richardson wrote:     &lt;blockquote type="cite"&gt;       &lt;blockquote type="cite"&gt;         &lt;pre&gt;Thanks for the responses :)  However - I just read another thread somewhere that made me think of looking in the Event log.  It appears that the culprit is Oracle - there are errors naming OraOCIEI11.dll as the &amp;quot;Faulting Module name&amp;quot;. &lt;/pre&gt;       &lt;/blockquote&gt;       &lt;pre&gt;	That&amp;#39;s very interesting.  Windows Event Viewer is a good place to  look (I keep forgetting about it as I&amp;#39;m used to /var/log/messages in  Unix/Linux and similar environments). &lt;/pre&gt;     &lt;/blockquote&gt;     Well.  It turns out that in this case the event log was actually a     red herring. By creating another Apache instance (to avoid breaking     the &amp;quot;production&amp;quot; server :)) and stripping out all references to     Oracle, DBI, DBD etc from both httpd.conf and the Perl, I have     determined that the problem has nothing to do with Oracle.&lt;br&gt;     &lt;br&gt;     After doing that, I was getting exception code 0xC00000FD (Stack     overflow) in Classify.dll (Params::Classify?) so I tried setting the     ThreadStackSize to 2MB, and now I get 0xC0000005 and the module is     unknown according to the Event log.&lt;br&gt;     &lt;br&gt;     I think I&amp;#39;m going mad.&lt;br&gt;     &lt;br&gt;     &lt;span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:left;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:22px;color:rgb(67,67,67);text-transform:none;font-size:14px;white-space:normal;font-family:helvetica,arial,verdana,&amp;#39;ms sans serif&amp;#39;,sans-serif;word-spacing:0px"&gt;&lt;/span&gt;Is there a     way to make Apache/mod_perl (on Windows 7) give me a stack dump when     the child process exits?  Al I get in the log is the &amp;quot;Parent: child     process exited ...&amp;quot; message, which is not very helpful.  I have     downloaded the -symbols.zip files from ActiveState and installed     them in the proper directories (alongside their .dlls), but then     realised that I&amp;#39;m not getting the equivalent of a core dump file to     analyze.  The Event log points to a directory containing only a text     file (*.wer) which doesn&amp;#39;t have anything useful AFAICS...&lt;br&gt;     &lt;br&gt;     Andrew&lt;br&gt;   &lt;/div&gt;  &lt;/blockquote&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt; &lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt; &lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6759972876703920806?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6759972876703920806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6759972876703920806&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6759972876703920806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6759972876703920806'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_5432.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6824745339277084048</id><published>2012-01-28T15:44:00.000-08:00</published><updated>2012-01-28T15:45:44.712-08:00</updated><title type='text'>Re: mod perl installed but not running</title><content type='html'>Try one of the examples on this page: &lt;p&gt;&lt;a href="http://perl.apache.org/docs/2.0/user/intro/start_fast.html"&gt;http://perl.apache.org/docs/2.0/user/intro/start_fast.html&lt;/a&gt; &lt;p&gt;&lt;br&gt;On Saturday, January 28, 2012 at 2:32 PM, mike cardeiro wrote:&lt;p&gt;&amp;gt; I installed mod_perl, tested it, added &amp;quot;LoadModule perl_module /usr/local/apache/modules/mod_perl.so&amp;quot; to httpd.conf&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; apache restarts but when I look at the Environment variable as well as the server headers when I make a request, no mod perl.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I am running linux, Apache2 mod_perl2. any ideas...I am sure at one point it was running, and I have been playing around with prreloading various modules it is no longer working (i think).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Mike Cardeiro&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6824745339277084048?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6824745339277084048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6824745339277084048&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6824745339277084048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6824745339277084048'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-mod-perl-installed-but-not-running.html' title='Re: mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2759358693635559984</id><published>2012-01-28T14:52:00.000-08:00</published><updated>2012-01-28T14:54:01.182-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>&lt;div&gt;The Classify.dll issue gave me much trouble to figure out. In my instance, the issue has nothing to do with the database or Oracle.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here&amp;#39;s what I found:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Updating DateTime to version 0.72 includes Params::Classify as a dependency.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://search.cpan.org/~drolsky/DateTime-0.72/"&gt;http://search.cpan.org/~drolsky/DateTime-0.72/&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Also, DateTime-TimeZone version 1.40 also includes Params::Classify.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;When Classify.dll gets onto a Windows installation of mod_perl, Apache will crash/restart often. Regular Perl is fine. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The latest DateTime and DateTime-TimeZone modules that work with mod_perl are DateTime 0.70 and DateTime-TimeZone 1.34.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I spend a few days troubleshooting Classify.dll and the only way I could get it to work was to remove it and use older versions of DateTime.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I hope this helps you out.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Hans&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;On Fri, Jan 27, 2012 at 5:44 PM, Perrin Harkins &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:perrin@elem.com"&gt;perrin@elem.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;  &lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;&lt;p&gt;Sorry, just a clumsy cell phone touch. &lt;/p&gt;&lt;span class="HOEnZb"&gt;&lt;font color="#888888"&gt; &lt;p&gt;- Perrin&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;div class="HOEnZb"&gt;&lt;div class="h5"&gt; &lt;div class="gmail_quote"&gt;On Jan 27, 2012 5:42 PM, &amp;quot;Perrin Harkins&amp;quot; &amp;lt;&lt;a href="mailto:perrin@elem.com" target="_blank"&gt;perrin@elem.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;   &lt;p&gt;&lt;/p&gt; &lt;p&gt;- Perrin&lt;/p&gt; &lt;div class="gmail_quote"&gt;On Jan 13, 2012 6:47 PM, &amp;quot;Andrew Merton (subscriptions)&amp;quot; &amp;lt;&lt;a href="mailto:amerton.signup@gmail.com" target="_blank"&gt;amerton.signup@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;                  &lt;div bgcolor="#FFFFFF" text="#000000"&gt;     On 17/12/2011 7:20 a.m., Randolf Richardson wrote:     &lt;blockquote type="cite"&gt;       &lt;blockquote type="cite"&gt;         &lt;pre&gt;Thanks for the responses :)  However - I just read another thread somewhere that made me think of looking in the Event log.  It appears that the culprit is Oracle - there are errors naming OraOCIEI11.dll as the &amp;quot;Faulting Module name&amp;quot;. &lt;/pre&gt;       &lt;/blockquote&gt;       &lt;pre&gt;	That&amp;#39;s very interesting.  Windows Event Viewer is a good place to  look (I keep forgetting about it as I&amp;#39;m used to /var/log/messages in  Unix/Linux and similar environments). &lt;/pre&gt;     &lt;/blockquote&gt;     Well.  It turns out that in this case the event log was actually a     red herring. By creating another Apache instance (to avoid breaking     the &amp;quot;production&amp;quot; server :)) and stripping out all references to     Oracle, DBI, DBD etc from both httpd.conf and the Perl, I have     determined that the problem has nothing to do with Oracle.&lt;br&gt;     &lt;br&gt;     After doing that, I was getting exception code 0xC00000FD (Stack     overflow) in Classify.dll (Params::Classify?) so I tried setting the     ThreadStackSize to 2MB, and now I get 0xC0000005 and the module is     unknown according to the Event log.&lt;br&gt;     &lt;br&gt;     I think I&amp;#39;m going mad.&lt;br&gt;     &lt;br&gt;     &lt;span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:left;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:22px;color:rgb(67,67,67);text-transform:none;font-size:14px;white-space:normal;font-family:helvetica,arial,verdana,&amp;#39;ms sans serif&amp;#39;,sans-serif;word-spacing:0px"&gt;&lt;/span&gt;Is there a     way to make Apache/mod_perl (on Windows 7) give me a stack dump when     the child process exits?  Al I get in the log is the &amp;quot;Parent: child     process exited ...&amp;quot; message, which is not very helpful.  I have     downloaded the -symbols.zip files from ActiveState and installed     them in the proper directories (alongside their .dlls), but then     realised that I&amp;#39;m not getting the equivalent of a core dump file to     analyze.  The Event log points to a directory containing only a text     file (*.wer) which doesn&amp;#39;t have anything useful AFAICS...&lt;br&gt;     &lt;br&gt;     Andrew&lt;br&gt;   &lt;/div&gt;  &lt;/blockquote&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt; &lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2759358693635559984?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2759358693635559984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2759358693635559984&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2759358693635559984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2759358693635559984'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_28.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-817055917331006815</id><published>2012-01-28T14:32:00.000-08:00</published><updated>2012-01-28T14:33:36.206-08:00</updated><title type='text'>mod perl installed but not running</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"&gt;&lt;div&gt;I installed mod_perl, tested it, added "LoadModule perl_module /usr/local/apache/modules/mod_perl.so" to httpd.conf&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;apache restarts but when I look at the Environment variable as well as the server headers when I make a request, no mod perl.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I am running linux, Apache2 mod_perl2.&amp;nbsp; any ideas...I am sure at one point it was running, and I have been playing around with prreloading various modules it is no longer working (i think).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Mike Cardeiro&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-817055917331006815?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/817055917331006815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=817055917331006815&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/817055917331006815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/817055917331006815'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/mod-perl-installed-but-not-running.html' title='mod perl installed but not running'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1299544936936461466</id><published>2012-01-27T14:44:00.001-08:00</published><updated>2012-01-27T14:44:32.180-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>&lt;p&gt;Sorry, just a clumsy cell phone touch. &lt;/p&gt; &lt;p&gt;- Perrin&lt;/p&gt; &lt;div class="gmail_quote"&gt;On Jan 27, 2012 5:42 PM, &amp;quot;Perrin Harkins&amp;quot; &amp;lt;&lt;a href="mailto:perrin@elem.com"&gt;perrin@elem.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;- Perrin&lt;/p&gt; &lt;div class="gmail_quote"&gt;On Jan 13, 2012 6:47 PM, &amp;quot;Andrew Merton (subscriptions)&amp;quot; &amp;lt;&lt;a href="mailto:amerton.signup@gmail.com" target="_blank"&gt;amerton.signup@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;                &lt;div bgcolor="#FFFFFF" text="#000000"&gt;     On 17/12/2011 7:20 a.m., Randolf Richardson wrote:     &lt;blockquote type="cite"&gt;       &lt;blockquote type="cite"&gt;         &lt;pre&gt;Thanks for the responses :)  However - I just read another thread somewhere that made me think of looking in the Event log.  It appears that the culprit is Oracle - there are errors naming OraOCIEI11.dll as the &amp;quot;Faulting Module name&amp;quot;. &lt;/pre&gt;       &lt;/blockquote&gt;       &lt;pre&gt; 	That&amp;#39;s very interesting.  Windows Event Viewer is a good place to  look (I keep forgetting about it as I&amp;#39;m used to /var/log/messages in  Unix/Linux and similar environments). &lt;/pre&gt;     &lt;/blockquote&gt;     Well.  It turns out that in this case the event log was actually a     red herring. By creating another Apache instance (to avoid breaking     the &amp;quot;production&amp;quot; server :)) and stripping out all references to     Oracle, DBI, DBD etc from both httpd.conf and the Perl, I have     determined that the problem has nothing to do with Oracle.&lt;br&gt;     &lt;br&gt;     After doing that, I was getting exception code 0xC00000FD (Stack     overflow) in Classify.dll (Params::Classify?) so I tried setting the     ThreadStackSize to 2MB, and now I get 0xC0000005 and the module is     unknown according to the Event log.&lt;br&gt;     &lt;br&gt;     I think I&amp;#39;m going mad.&lt;br&gt;     &lt;br&gt;     &lt;span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:left;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:22px;color:rgb(67,67,67);text-transform:none;font-size:14px;white-space:normal;font-family:helvetica,arial,verdana,&amp;#39;ms sans serif&amp;#39;,sans-serif;word-spacing:0px"&gt;&lt;/span&gt;Is there a     way to make Apache/mod_perl (on Windows 7) give me a stack dump when     the child process exits?  Al I get in the log is the &amp;quot;Parent: child     process exited ...&amp;quot; message, which is not very helpful.  I have     downloaded the -symbols.zip files from ActiveState and installed     them in the proper directories (alongside their .dlls), but then     realised that I&amp;#39;m not getting the equivalent of a core dump file to     analyze.  The Event log points to a directory containing only a text     file (*.wer) which doesn&amp;#39;t have anything useful AFAICS...&lt;br&gt;     &lt;br&gt;     Andrew&lt;br&gt;   &lt;/div&gt;  &lt;/blockquote&gt;&lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1299544936936461466?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1299544936936461466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1299544936936461466&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1299544936936461466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1299544936936461466'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_5279.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5854971177408289816</id><published>2012-01-27T14:42:00.000-08:00</published><updated>2012-01-27T14:43:15.464-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;- Perrin&lt;/p&gt; &lt;div class="gmail_quote"&gt;On Jan 13, 2012 6:47 PM, &amp;quot;Andrew Merton (subscriptions)&amp;quot; &amp;lt;&lt;a href="mailto:amerton.signup@gmail.com"&gt;amerton.signup@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br type="attribution"&gt;&lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;               &lt;div bgcolor="#FFFFFF" text="#000000"&gt;     On 17/12/2011 7:20 a.m., Randolf Richardson wrote:     &lt;blockquote type="cite"&gt;       &lt;blockquote type="cite"&gt;         &lt;pre&gt;Thanks for the responses :)  However - I just read another thread somewhere that made me think of looking in the Event log.  It appears that the culprit is Oracle - there are errors naming OraOCIEI11.dll as the &amp;quot;Faulting Module name&amp;quot;. &lt;/pre&gt;       &lt;/blockquote&gt;       &lt;pre&gt; 	That&amp;#39;s very interesting.  Windows Event Viewer is a good place to  look (I keep forgetting about it as I&amp;#39;m used to /var/log/messages in  Unix/Linux and similar environments). &lt;/pre&gt;     &lt;/blockquote&gt;     Well.  It turns out that in this case the event log was actually a     red herring. By creating another Apache instance (to avoid breaking     the &amp;quot;production&amp;quot; server :)) and stripping out all references to     Oracle, DBI, DBD etc from both httpd.conf and the Perl, I have     determined that the problem has nothing to do with Oracle.&lt;br&gt;     &lt;br&gt;     After doing that, I was getting exception code 0xC00000FD (Stack     overflow) in Classify.dll (Params::Classify?) so I tried setting the     ThreadStackSize to 2MB, and now I get 0xC0000005 and the module is     unknown according to the Event log.&lt;br&gt;     &lt;br&gt;     I think I&amp;#39;m going mad.&lt;br&gt;     &lt;br&gt;     &lt;span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:left;font-style:normal;display:inline!important;font-weight:normal;float:none;line-height:22px;color:rgb(67,67,67);text-transform:none;font-size:14px;white-space:normal;font-family:helvetica,arial,verdana,&amp;#39;ms sans serif&amp;#39;,sans-serif;word-spacing:0px"&gt;&lt;/span&gt;Is there a     way to make Apache/mod_perl (on Windows 7) give me a stack dump when     the child process exits?  Al I get in the log is the &amp;quot;Parent: child     process exited ...&amp;quot; message, which is not very helpful.  I have     downloaded the -symbols.zip files from ActiveState and installed     them in the proper directories (alongside their .dlls), but then     realised that I&amp;#39;m not getting the equivalent of a core dump file to     analyze.  The Event log points to a directory containing only a text     file (*.wer) which doesn&amp;#39;t have anything useful AFAICS...&lt;br&gt;     &lt;br&gt;     Andrew&lt;br&gt;   &lt;/div&gt;  &lt;/blockquote&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5854971177408289816?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5854971177408289816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5854971177408289816&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5854971177408289816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5854971177408289816'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_27.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1964769559754066715</id><published>2012-01-27T14:23:00.000-08:00</published><updated>2012-01-27T14:24:10.203-08:00</updated><title type='text'>Re: Registry and CGI::Carp</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"&gt;&lt;a rel="nofollow" target="_blank" href="http://etpenguin.com/"&gt;&lt;/a&gt;  &lt;div&gt;Jim,&lt;/div&gt;&lt;br&gt; &lt;div&gt;Thanks for your reply.&amp;nbsp; Yes,  that was my post to perlmonks.&amp;nbsp; set_progname() is a function in the Carp  module that lets you set/reset the name of the Carping script; that way  you know which script generated the logged event.&amp;nbsp; Another way is to pass  "name=scriptX" to 'use CGI::Carp'.&lt;/div&gt; &lt;div&gt;&lt;br&gt; &lt;/div&gt;  &lt;div&gt;&amp;gt; seeing problems with the logging.&amp;nbsp; The message that is logged is correct,&lt;br&gt; &amp;gt; however the name of the script that generated the event is not.&lt;/div&gt; &lt;br&gt;&lt;div&gt;The question above was implied; sorry, not ideal for this format.&amp;nbsp; Being more explicit:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; "What is the best way to get CGI::Carp to accurately log the names of Carping Registry scripts?"&lt;/div&gt; &lt;br&gt;&lt;div&gt;Regarding END{}, my inconclusive tests support this:&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;http://perl.apache.org/docs/2.0/api/ModPerl/Registry.html#C_END__Blocks&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Brett&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"&gt;  &lt;div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt; &lt;div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"&gt; &lt;div dir="ltr"&gt; &lt;font face="Arial" size="2"&gt; &lt;hr size="1"&gt;  &lt;b&gt;&lt;span style="font-weight: bold;"&gt;From:&lt;/span&gt;&lt;/b&gt; Jim Schueler &amp;lt;jschueler@eloquency.com&amp;gt;&lt;br&gt; &lt;b&gt;&lt;span style="font-weight: bold;"&gt;To:&lt;/span&gt;&lt;/b&gt; Brett Lee &amp;lt;brettlee@yahoo.com&amp;gt; &lt;br&gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;Cc:&lt;/span&gt;&lt;/b&gt; modperl &amp;lt;modperl@perl.apache.org&amp;gt; &lt;br&gt; &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Sent:&lt;/span&gt;&lt;/b&gt; Friday, January 27, 2012 2:11 PM&lt;br&gt; &lt;b&gt;&lt;span  style="font-weight: bold;"&gt;Subject:&lt;/span&gt;&lt;/b&gt; Re: Registry and CGI::Carp&lt;br&gt; &lt;/font&gt; &lt;/div&gt; &lt;br&gt; There's no question or anything resembling a request in your email.&amp;nbsp; So my response may waste a lot of time.&lt;br&gt;&lt;br&gt;Is this your original post?&lt;br&gt;&amp;nbsp; http://www.perlmonks.org/?node_id=949773&lt;br&gt;&lt;br&gt;If so, I might be able to help.&lt;br&gt;&lt;br&gt;Admittedly, I can't follow the thread.&amp;nbsp; The PerlMonds responder refers to a function set_progname().&amp;nbsp; But I can't figure out what that refers to.&lt;br&gt;&lt;br&gt;However, in the third exchange, you referenced a problem I have some experience with:&amp;nbsp; Apache::Registry executes the BEGIN{} block once, and the END{} block repeatedly.&amp;nbsp; Fundamentally, the Perl specification expects them to be balanced, and I'm still amazed at this shortcoming.&amp;nbsp; I wrote a workaround that might get you over your hurdle.&amp;nbsp; Please check out Apache::ChildExit.&lt;br&gt;&lt;br&gt;I'm amazed that my solution wasn't generally adopted.&amp;nbsp; As you note, it seems like this would be a pretty common scenario.&amp;nbsp; Give it a try, and  please let me know whether this solution gives you any traction.&lt;br&gt;&lt;br&gt;Cheers!&lt;br&gt;&lt;br&gt; -Jim&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Fri, 27 Jan 2012, Brett Lee wrote:&lt;br&gt;&lt;br&gt;&amp;gt; Hi Folks,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Running several scripts under ModPerl::Registry that use CGI::Carp.&amp;nbsp; Am&lt;br&gt;&amp;gt; seeing problems with the logging.&amp;nbsp; The message that is logged is correct,&lt;br&gt;&amp;gt; however the name of the script that generated the event is not.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Each script contains a line similar to:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; use CGI::Carp qw(name=my_script_X);&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; When the scripts are precompiled in &lt;a target="_blank" href="http://startup.pl"&gt;startup.pl&lt;/a&gt;, the *same* script name is&lt;br&gt;&amp;gt; logged for each and every script.&amp;nbsp; When scripts are not precompiled the name&lt;br&gt;&amp;gt; is frequently correct, but it is not correct all of the time.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; A post earlier to Perl Monks came back with the suggestion to extend&lt;br&gt;&amp;gt; CGI::Carp.pm to support running under  Registry.&amp;nbsp; As what I am trying to do&lt;br&gt;&amp;gt; seems like it would be a pretty common scenario, am thinking there may be&lt;br&gt;&amp;gt; another option.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Thanks for considering this one.&lt;br&gt;&amp;gt; Brett&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&lt;br&gt; &lt;/div&gt; &lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1964769559754066715?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1964769559754066715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1964769559754066715&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1964769559754066715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1964769559754066715'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-registry-and-cgicarp_27.html' title='Re: Registry and CGI::Carp'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7573682218645516342</id><published>2012-01-27T13:11:00.001-08:00</published><updated>2012-01-27T13:11:34.524-08:00</updated><title type='text'>Re: Registry and CGI::Carp</title><content type='html'>There&amp;#39;s no question or anything resembling a request in your email.  So my &lt;br&gt;response may waste a lot of time.&lt;p&gt;Is this your original post?&lt;br&gt;   &lt;a href="http://www.perlmonks.org/?node_id=949773"&gt;http://www.perlmonks.org/?node_id=949773&lt;/a&gt;&lt;p&gt;If so, I might be able to help.&lt;p&gt;Admittedly, I can&amp;#39;t follow the thread.  The PerlMonds responder refers to &lt;br&gt;a function set_progname().  But I can&amp;#39;t figure out what that refers to.&lt;p&gt;However, in the third exchange, you referenced a problem I have some &lt;br&gt;experience with:  Apache::Registry executes the BEGIN{} block once, and &lt;br&gt;the END{} block repeatedly.  Fundamentally, the Perl specification expects &lt;br&gt;them to be balanced, and I&amp;#39;m still amazed at this shortcoming.  I wrote a &lt;br&gt;workaround that might get you over your hurdle.  Please check out &lt;br&gt;Apache::ChildExit.&lt;p&gt;I&amp;#39;m amazed that my solution wasn&amp;#39;t generally adopted.  As you note, it &lt;br&gt;seems like this would be a pretty common scenario.  Give it a try, and &lt;br&gt;please let me know whether this solution gives you any traction.&lt;p&gt;Cheers!&lt;p&gt;  -Jim&lt;p&gt;&lt;p&gt;On Fri, 27 Jan 2012, Brett Lee wrote:&lt;p&gt;&amp;gt; Hi Folks,&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Running several scripts under ModPerl::Registry that use CGI::Carp.&amp;#160; Am&lt;br&gt;&amp;gt; seeing problems with the logging.&amp;#160; The message that is logged is correct,&lt;br&gt;&amp;gt; however the name of the script that generated the event is not.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Each script contains a line similar to:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; use CGI::Carp qw(name=my_script_X);&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; When the scripts are precompiled in &lt;a href="http://startup.pl"&gt;startup.pl&lt;/a&gt;, the *same* script name is&lt;br&gt;&amp;gt; logged for each and every script.&amp;#160; When scripts are not precompiled the name&lt;br&gt;&amp;gt; is frequently correct, but it is not correct all of the time.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; A post earlier to Perl Monks came back with the suggestion to extend&lt;br&gt;&amp;gt; CGI::Carp.pm to support running under Registry.&amp;#160; As what I am trying to do&lt;br&gt;&amp;gt; seems like it would be a pretty common scenario, am thinking there may be&lt;br&gt;&amp;gt; another option.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Thanks for considering this one.&lt;br&gt;&amp;gt; Brett&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7573682218645516342?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7573682218645516342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7573682218645516342&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7573682218645516342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7573682218645516342'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-registry-and-cgicarp.html' title='Re: Registry and CGI::Carp'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1527938199711587967</id><published>2012-01-27T10:07:00.000-08:00</published><updated>2012-01-27T10:08:23.103-08:00</updated><title type='text'>Registry and CGI::Carp</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"&gt;Hi Folks,&lt;br&gt;&lt;br&gt;Running several scripts under ModPerl::Registry that use CGI::Carp.&amp;nbsp; Am seeing problems with the logging.&amp;nbsp; The message that is logged is correct, however the name of the script that generated the event is not.&lt;br&gt;&lt;br&gt;Each script contains a line similar to:&lt;br&gt;&lt;br&gt;use CGI::Carp qw(name=my_script_X);&lt;br&gt;&lt;br&gt;When the scripts are precompiled in startup.pl, the *same* script name is logged for each and every script.&amp;nbsp; When scripts are not precompiled the name is frequently correct, but it is not correct all of the time.&lt;br&gt;&lt;br&gt;A post earlier to Perl Monks came back with the suggestion to extend CGI::Carp.pm to support running under Registry.&amp;nbsp; As what I am trying to do seems like it would be a pretty common scenario, am thinking there may be another option.&lt;br&gt;&lt;br&gt;Thanks for considering this one.&lt;br&gt;Brett&lt;br&gt;&lt;a  rel="nofollow" target="_blank" href="http://etpenguin.com/"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1527938199711587967?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1527938199711587967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1527938199711587967&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1527938199711587967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1527938199711587967'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/registry-and-cgicarp.html' title='Registry and CGI::Carp'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5410149113586613814</id><published>2012-01-26T15:39:00.000-08:00</published><updated>2012-01-26T15:40:28.344-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>&lt;div&gt;&amp;gt;&lt;span style&gt; &lt;/span&gt;&lt;span style&gt;I was getting exception code 0xC00000FD (Stack overflow) in Classify.dll (Params::Classify?)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;Well. This goes to show that desperation is the mother of invention :)&lt;div&gt; &lt;br&gt;&lt;/div&gt;&lt;div&gt;I went so far as to look at the code for Params::Classify, and noticed that there is a pure Perl version if the XS load fails, so I renamed the Perl/site/lib/auto/Params/Classify directory to ClassifyXXX and restarted the server.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Now it hasn&amp;#39;t failed at all, even when I use my previously guaranteed-to-fail test case (triggering 5 simultaneous connections).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So according to this &amp;quot;solution&amp;quot; there must be non-thread-safe code in Classify.dll which is sometimes turning all infinitely-recursive on me...&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Hope I&amp;#39;m not suffering from premature solution declaration (i.e. it&amp;#39;ll crash again as soon as I post this), but it looks like for me it is fixed, although there may be something that needs to be looked at in the .dll?&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Cheers,&lt;/div&gt;&lt;div&gt;Andrew Merton&lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5410149113586613814?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5410149113586613814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5410149113586613814&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5410149113586613814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5410149113586613814'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_26.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5476877608845703507</id><published>2012-01-26T08:17:00.001-08:00</published><updated>2012-01-26T08:17:42.766-08:00</updated><title type='text'>RE: mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>Recompiling perl and producing a shared library seems to have worked.   Thanks!&lt;p&gt;&lt;p&gt;-----Original Message-----&lt;br&gt;From: Dave Hodgkinson [mailto:&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;] &lt;br&gt;Sent: Wednesday, January 25, 2012 3:50 PM&lt;br&gt;To: Jacobs, David (NIH/NCI) [C]&lt;br&gt;Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;Subject: Re: mod_perl.so: undefined symbol: PL_tainting&lt;p&gt;The copiousness of the ld fail suggested something fundamental missing to me.&lt;p&gt;Was there a .so in your perl tree?&lt;p&gt;&lt;br&gt;On 25 Jan 2012, at 20:03, Jacobs, David (NIH/NCI) [C] wrote:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5476877608845703507?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5476877608845703507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5476877608845703507&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5476877608845703507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5476877608845703507'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperlso-undefined-symbol_26.html' title='RE: mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2132527001621436980</id><published>2012-01-26T06:21:00.001-08:00</published><updated>2012-01-26T06:21:57.537-08:00</updated><title type='text'>Re: mod_perl and mod_rewrite can work together ?</title><content type='html'>On Thursday, 26 January 2012 13:02:09 Idel Fuschini wrote:&lt;br&gt;&amp;gt; $f-&amp;gt;headers_out-&amp;gt;set(Location =&amp;gt; $location);&lt;p&gt;err_headers_out?&lt;p&gt;Torsten F&amp;#246;rtsch&lt;p&gt;-- &lt;br&gt;Need professional modperl support? Hire me! (&lt;a href="http://foertsch.name"&gt;http://foertsch.name&lt;/a&gt;)&lt;p&gt;Like fantasy? &lt;a href="http://kabatinte.net"&gt;http://kabatinte.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2132527001621436980?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2132527001621436980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2132527001621436980&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2132527001621436980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2132527001621436980'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperl-and-modrewrite-can-work_26.html' title='Re: mod_perl and mod_rewrite can work together ?'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6790709230882797987</id><published>2012-01-26T05:44:00.000-08:00</published><updated>2012-01-26T05:45:03.135-08:00</updated><title type='text'>ap_get_brigade failed during prefetch</title><content type='html'>Hello, I am running apache2-mpm-prefork on ubuntu 11.04 with mod_perl. I have&lt;br&gt;googled as much as possible and it seems that in most cases its when there&lt;br&gt;is an upload that times out. I am not uploading anything but small json&lt;br&gt;objects. I only see this in my logs I have not been able to recreate it. The&lt;br&gt;one person I know who has this issue uses ie9 but google chrome is fine. Any&lt;br&gt;suggestions? I am at a loss.&lt;p&gt;(70007)The timeout specified has expired: ap_get_brigade failed during&lt;br&gt;prefetch, referer: &lt;a href="http://mysite.com/home?sid=e76840b3a6f36e7c1a23c86812368"&gt;http://mysite.com/home?sid=e76840b3a6f36e7c1a23c86812368&lt;/a&gt;                                                                                                                            &lt;p&gt;-- &lt;br&gt;View this message in context: &lt;a href="http://old.nabble.com/ap_get_brigade-failed-during-prefetch-tp33207456p33207456.html"&gt;http://old.nabble.com/ap_get_brigade-failed-during-prefetch-tp33207456p33207456.html&lt;/a&gt;&lt;br&gt;Sent from the mod_perl - General mailing list archive at Nabble.com.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6790709230882797987?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6790709230882797987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6790709230882797987&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6790709230882797987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6790709230882797987'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/apgetbrigade-failed-during-prefetch.html' title='ap_get_brigade failed during prefetch'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4925600997124580035</id><published>2012-01-26T05:15:00.000-08:00</published><updated>2012-01-26T05:16:11.092-08:00</updated><title type='text'>Re: mod_perl and mod_rewrite can work together ?</title><content type='html'>&lt;div&gt;I do not use the httpd.conf to redirect instead I use the following code:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #414305"&gt;&lt;span style="color: #2200a5"&gt;use&lt;/span&gt;&lt;span style="color: #000000"&gt; Apache2::Const &lt;/span&gt;qw(HTTP_MOVED_TEMPORARILY)&lt;span style="color: #000000"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #6b6c47"&gt;&lt;span style="color: #3000da"&gt;$r&lt;/span&gt;&lt;span style="color: #000000"&gt;-&amp;gt;headers_out-&amp;gt;add(Location =&amp;gt; &lt;/span&gt;"http://someplace.come/index.html?iphone=yes"&lt;span style="color: #000000"&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style="color: #3000da"&gt;$r&lt;/span&gt;&lt;span style="color: #000000"&gt;-&amp;gt;status( HTTP_MOVED_TEMPORARILY);&lt;br&gt;&lt;/span&gt;&lt;span style="color: #2200a5"&gt;return&lt;/span&gt;&lt;span style="color: #000000"&gt; HTTP_MOVED_TEMPORARILY;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;span id="OLK_SRC_BODY_SECTION"&gt;&lt;div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt"&gt;&lt;span style="font-weight:bold"&gt;From: &lt;/span&gt; Idel Fuschini &amp;lt;&lt;a href="mailto:idel.fuschini@gmail.com"&gt;idel.fuschini@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;Date: &lt;/span&gt; Thu, 26 Jan 2012 07:02:09 -0500&lt;br&gt;&lt;span style="font-weight:bold"&gt;To: &lt;/span&gt; modperl List &amp;lt;&lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&amp;gt;&lt;br&gt;&lt;span style="font-weight:bold"&gt;Subject: &lt;/span&gt; mod_perl and mod_rewrite can work together ?&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;I've got this issue, in httpd.conf:&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;PerlTransHandler +Apache2::MyRedirect&lt;/div&gt;&lt;div&gt;RewriteRule ^/$ &amp;nbsp; &amp;nbsp; /home/index.html [R=301]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;my mod_perl2 module in some condition need to redirect the browser to another site. But my web server ignored my module.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This is the code:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;use Apache2::RequestRec ();&lt;/div&gt;&lt;div&gt;&amp;nbsp; use Apache2::RequestUtil ();&lt;/div&gt;&lt;div&gt;&amp;nbsp; use Apache2::SubRequest ();&lt;/div&gt;&lt;div&gt;&amp;nbsp; use Apache2::Log;&lt;/div&gt;&lt;div&gt;&amp;nbsp; use Apache2::Filter ();&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; use APR::Table ();&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; use LWP::Simple;&lt;/div&gt;&lt;div&gt;&amp;nbsp; use Apache2::Const -compile =&amp;gt; qw(OK REDIRECT DECLINED);&lt;/div&gt;&lt;div&gt;sub handler &amp;nbsp; &amp;nbsp;{&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; my $f = shift;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; my $return_value=Apache2::Const::DECLINED;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; my $user_agent=lc($f-&amp;gt;headers_in-&amp;gt;{'User-Agent'}|| '');&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; if ($user_agent =~ m/iphone/i) {&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $f-&amp;gt;headers_out-&amp;gt;set(Location =&amp;gt; $location);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$f-&amp;gt;status(Apache2::Const::REDIRECT);&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$return_value=Apache2::Const::REDIRECT;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; return $return_value;&lt;/div&gt;&lt;div&gt;&amp;nbsp; }&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What is wrong, it's possible to do &amp;nbsp;?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;thanks&lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;=====================&lt;br&gt;E-Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt; Web Site: &lt;a href="http://www.idelfuschini.it" target="_blank"&gt;http://www.idelfuschini.it&lt;/a&gt;&lt;br&gt;AMF&amp;nbsp;project:&amp;nbsp; &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;AMF wiki: Apache Mobile Filter - http:/&lt;a href="http://wiki.apachemobilefilter.org" target="_blank"&gt;wiki.apachemobilefilter.org&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4925600997124580035?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4925600997124580035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4925600997124580035&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4925600997124580035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4925600997124580035'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperl-and-modrewrite-can-work.html' title='Re: mod_perl and mod_rewrite can work together ?'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2089980256721657228</id><published>2012-01-26T04:02:00.001-08:00</published><updated>2012-01-26T04:02:42.614-08:00</updated><title type='text'>mod_perl and mod_rewrite can work together ?</title><content type='html'>I&amp;#39;ve got this issue, in httpd.conf:&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;PerlTransHandler +Apache2::MyRedirect&lt;/div&gt;&lt;div&gt;RewriteRule ^/$     /home/index.html [R=301]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;my mod_perl2 module in some condition need to redirect the browser to another site. But my web server ignored my module.&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This is the code:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt; use Apache2::RequestRec ();&lt;/div&gt;&lt;div&gt;  use Apache2::RequestUtil ();&lt;/div&gt;&lt;div&gt;  use Apache2::SubRequest ();&lt;/div&gt;&lt;div&gt;  use Apache2::Log;&lt;/div&gt;&lt;div&gt;  use Apache2::Filter (); &lt;/div&gt; &lt;div&gt;  use APR::Table (); &lt;/div&gt;&lt;div&gt;  use LWP::Simple;&lt;/div&gt;&lt;div&gt;  use Apache2::Const -compile =&amp;gt; qw(OK REDIRECT DECLINED);&lt;/div&gt;&lt;div&gt;sub handler    {&lt;/div&gt;&lt;div&gt;    my $f = shift;&lt;/div&gt;&lt;div&gt;    my $return_value=Apache2::Const::DECLINED;&lt;/div&gt; &lt;div&gt;    my $user_agent=lc($f-&amp;gt;headers_in-&amp;gt;{&amp;#39;User-Agent&amp;#39;}|| &amp;#39;&amp;#39;);&lt;/div&gt;&lt;div&gt;    if ($user_agent =~ m/iphone/i) {&lt;/div&gt;&lt;div&gt;        $f-&amp;gt;headers_out-&amp;gt;set(Location =&amp;gt; $location);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$f-&amp;gt;status(Apache2::Const::REDIRECT); &lt;/div&gt; &lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$return_value=Apache2::Const::REDIRECT;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt;     &lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;    return $return_value;&lt;/div&gt; &lt;div&gt;  } &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What is wrong, it&amp;#39;s possible to do  ?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;thanks&lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;=====================&lt;br&gt;E-Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt; Web Site: &lt;a href="http://www.idelfuschini.it" target="_blank"&gt;http://www.idelfuschini.it&lt;/a&gt;&lt;br&gt;AMF project:  &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;AMF wiki: Apache Mobile Filter - http:/&lt;a href="http://wiki.apachemobilefilter.org" target="_blank"&gt;wiki.apachemobilefilter.org&lt;/a&gt;&lt;br&gt; &lt;/div&gt; &lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2089980256721657228?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2089980256721657228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2089980256721657228&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2089980256721657228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2089980256721657228'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/modperl-and-modrewrite-can-work.html' title='mod_perl and mod_rewrite can work together ?'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2687739723736279479</id><published>2012-01-26T00:01:00.000-08:00</published><updated>2012-01-30T09:42:13.562-08:00</updated><title type='text'>Font Problem</title><content type='html'>Hi There,&lt;p&gt;I have a probem using webfonts in Firefox. It won&amp;#39;t let me use webfonts &lt;br&gt;from another url than the original. Since i am working with a &lt;br&gt;perlhandler that &amp;quot;catches&amp;quot; all requests from / and up, i would like to &lt;br&gt;know of someone knows how i can bypass my handler for a specific &lt;br&gt;directory above / like for example /fonts/. It would be nice if the &lt;br&gt;handler can be told to handle all requests bot not for /fonts/ and pass &lt;br&gt;this request to apache....&lt;p&gt;Hoping for some help here....&lt;p&gt;Kindest regards,&lt;p&gt;Michel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2687739723736279479?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2687739723736279479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2687739723736279479&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2687739723736279479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2687739723736279479'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/font-problem.html' title='Font Problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4422131968254414730</id><published>2012-01-25T12:50:00.001-08:00</published><updated>2012-01-25T12:50:57.595-08:00</updated><title type='text'>Re: mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>The copiousness of the ld fail suggested something fundamental missing to me.&lt;p&gt;Was there a .so in your perl tree?&lt;p&gt;&lt;br&gt;On 25 Jan 2012, at 20:03, Jacobs, David (NIH/NCI) [C] wrote:&lt;p&gt;&amp;gt; Trying that now.   DOH!  I understand now.   Maybe that will fix it.  (I hope).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; David Jacobs&lt;br&gt;&amp;gt; Senior Network Engineer,&lt;br&gt;&amp;gt; NCI Computer Services&lt;br&gt;&amp;gt; Contractor, TerpSys&lt;br&gt;&amp;gt; &lt;a href="http://www.terpsys.com/"&gt;http://www.terpsys.com/&lt;/a&gt; &lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; Technology Driven. People Oriented.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; -----Original Message-----&lt;br&gt;&amp;gt; From: Jacobs, David (NIH/NCI) [C] &lt;br&gt;&amp;gt; Sent: Wednesday, January 25, 2012 2:45 PM&lt;br&gt;&amp;gt; To: Dave Hodgkinson&lt;br&gt;&amp;gt; Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;&amp;gt; Subject: RE: mod_perl.so: undefined symbol: PL_tainting&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I thought it did by default... Do you have a link to how to do that?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; -----Original Message-----&lt;br&gt;&amp;gt; From: Dave Hodgkinson [mailto:&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;]&lt;br&gt;&amp;gt; Sent: Wednesday, January 25, 2012 2:24 PM&lt;br&gt;&amp;gt; To: Jacobs, David (NIH/NCI) [C]&lt;br&gt;&amp;gt; Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;&amp;gt; Subject: Re: mod_perl.so: undefined symbol: PL_tainting&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Have you compiled perl with libperl.so?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; On 25 Jan 2012, at 18:41, Jacobs, David (NIH/NCI) [C] wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Please help.   After banging my head for a while, and trying in vain to find an answer from google, I am in need of some assistance.&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; This is on rhel5, and has the redhat perl 5.8.8 rpm installed (I am &lt;br&gt;&amp;gt;&amp;gt; not the one who did that, and I cant remove it) I have compiled&lt;br&gt;&amp;gt;&amp;gt; perl-5.14.2 and mod_perl-2.0.5 Perl seems to be working fine (for both&lt;br&gt;&amp;gt;&amp;gt; versions)&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; I run make test for mod_perl  as a non-privileged user I get the following:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4422131968254414730?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4422131968254414730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4422131968254414730&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4422131968254414730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4422131968254414730'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperlso-undefined-symbol_5598.html' title='Re: mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-914201030889487799</id><published>2012-01-25T12:03:00.000-08:00</published><updated>2012-01-25T12:04:56.273-08:00</updated><title type='text'>RE: mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>Trying that now.   DOH!  I understand now.   Maybe that will fix it.  (I hope).&lt;p&gt;David Jacobs&lt;br&gt;Senior Network Engineer,&lt;br&gt;NCI Computer Services&lt;br&gt;Contractor, TerpSys&lt;br&gt;&lt;a href="http://www.terpsys.com/"&gt;http://www.terpsys.com/&lt;/a&gt;&amp;#160;&lt;br&gt;&amp;#160;&lt;br&gt;Technology Driven. People Oriented.&lt;p&gt;&lt;br&gt;-----Original Message-----&lt;br&gt;From: Jacobs, David (NIH/NCI) [C] &lt;br&gt;Sent: Wednesday, January 25, 2012 2:45 PM&lt;br&gt;To: Dave Hodgkinson&lt;br&gt;Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;Subject: RE: mod_perl.so: undefined symbol: PL_tainting&lt;p&gt;I thought it did by default... Do you have a link to how to do that?&lt;p&gt;&lt;br&gt;-----Original Message-----&lt;br&gt;From: Dave Hodgkinson [mailto:&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;]&lt;br&gt;Sent: Wednesday, January 25, 2012 2:24 PM&lt;br&gt;To: Jacobs, David (NIH/NCI) [C]&lt;br&gt;Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;Subject: Re: mod_perl.so: undefined symbol: PL_tainting&lt;p&gt;Have you compiled perl with libperl.so?&lt;p&gt;&lt;br&gt;On 25 Jan 2012, at 18:41, Jacobs, David (NIH/NCI) [C] wrote:&lt;p&gt;&amp;gt;  &lt;br&gt;&amp;gt; Please help.   After banging my head for a while, and trying in vain to find an answer from google, I am in need of some assistance.&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; This is on rhel5, and has the redhat perl 5.8.8 rpm installed (I am &lt;br&gt;&amp;gt; not the one who did that, and I cant remove it) I have compiled&lt;br&gt;&amp;gt; perl-5.14.2 and mod_perl-2.0.5 Perl seems to be working fine (for both&lt;br&gt;&amp;gt; versions)&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; I run make test for mod_perl  as a non-privileged user I get the following:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-914201030889487799?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/914201030889487799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=914201030889487799&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/914201030889487799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/914201030889487799'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperlso-undefined-symbol_3944.html' title='RE: mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1375673046109280753</id><published>2012-01-25T11:45:00.000-08:00</published><updated>2012-01-25T11:46:05.023-08:00</updated><title type='text'>RE: mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>I thought it did by default... Do you have a link to how to do that?&lt;p&gt;&lt;br&gt;-----Original Message-----&lt;br&gt;From: Dave Hodgkinson [mailto:&lt;a href="mailto:davehodg@gmail.com"&gt;davehodg@gmail.com&lt;/a&gt;] &lt;br&gt;Sent: Wednesday, January 25, 2012 2:24 PM&lt;br&gt;To: Jacobs, David (NIH/NCI) [C]&lt;br&gt;Cc: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;Subject: Re: mod_perl.so: undefined symbol: PL_tainting&lt;p&gt;Have you compiled perl with libperl.so?&lt;p&gt;&lt;br&gt;On 25 Jan 2012, at 18:41, Jacobs, David (NIH/NCI) [C] wrote:&lt;p&gt;&amp;gt;  &lt;br&gt;&amp;gt; Please help.   After banging my head for a while, and trying in vain to find an answer from google, I am in need of some assistance.&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; This is on rhel5, and has the redhat perl 5.8.8 rpm installed (I am &lt;br&gt;&amp;gt; not the one who did that, and I cant remove it) I have compiled &lt;br&gt;&amp;gt; perl-5.14.2 and mod_perl-2.0.5 Perl seems to be working fine (for both &lt;br&gt;&amp;gt; versions)&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; I run make test for mod_perl  as a non-privileged user I get the following:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1375673046109280753?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1375673046109280753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1375673046109280753&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1375673046109280753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1375673046109280753'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperlso-undefined-symbol_25.html' title='RE: mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4881622810059708025</id><published>2012-01-25T11:24:00.000-08:00</published><updated>2012-01-25T11:25:05.915-08:00</updated><title type='text'>Re: mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>Have you compiled perl with libperl.so?&lt;p&gt;&lt;br&gt;On 25 Jan 2012, at 18:41, Jacobs, David (NIH/NCI) [C] wrote:&lt;p&gt;&amp;gt;  &lt;br&gt;&amp;gt; Please help.   After banging my head for a while, and trying in vain to find an answer from google, I am in need of some assistance.&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; This is on rhel5, and has the redhat perl 5.8.8 rpm installed (I am not the one who did that, and I cant remove it)&lt;br&gt;&amp;gt; I have compiled perl-5.14.2 and mod_perl-2.0.5&lt;br&gt;&amp;gt; Perl seems to be working fine (for both versions)&lt;br&gt;&amp;gt;  &lt;br&gt;&amp;gt; I run make test for mod_perl  as a non-privileged user I get the following:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4881622810059708025?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4881622810059708025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4881622810059708025&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4881622810059708025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4881622810059708025'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-modperlso-undefined-symbol.html' title='Re: mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4598283773837256246</id><published>2012-01-25T10:41:00.000-08:00</published><updated>2012-01-25T10:42:15.461-08:00</updated><title type='text'>mod_perl.so: undefined symbol: PL_tainting</title><content type='html'>&lt;div class=WordSection1&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;Please help.&amp;nbsp;&amp;nbsp; After banging my head for a while, and trying in vain to find an answer from google, I am in need of some assistance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;This is on rhel5, and has the redhat perl 5.8.8 rpm installed (I am not the one who did that, and I cant remove it)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;I have compiled perl-5.14.2 and mod_perl-2.0.5&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;Perl seems to be working fine (for both versions)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;I run make test for mod_perl &amp;nbsp;as a non-privileged user I get the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make test&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;cd &amp;quot;src/modules/perl&amp;quot; &amp;amp;&amp;amp; make&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/src/modules/perl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Nothing to be done for `all'.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/src/modules/perl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-Reload'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-Reload'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-SizeLimit'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-SizeLimit'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-Test'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/Apache-Test'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/ModPerl-Registry'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/ModPerl-Registry'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Base64'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Base64'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Brigade'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Brigade'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Bucket'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Bucket'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/BucketAlloc'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/BucketAlloc'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/BucketType'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/BucketType'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Date'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Date'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Error'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Error'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Finfo'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Finfo'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/IpSubnet'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/IpSubnet'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/OS'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/OS'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Pool'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Pool'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/SockAddr'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/SockAddr'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Socket'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Socket'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Status'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Status'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/String'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/String'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Table'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Table'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/ThreadMutex'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/ThreadMutex'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/ThreadRWLock'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/ThreadRWLock'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/URI'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/URI'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/UUID'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/UUID'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Access'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Access'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/CmdParms'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/CmdParms'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Command'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Command'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Connection'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Connection'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ConnectionUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ConnectionUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Directive'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Directive'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Filter'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Filter'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/FilterRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/FilterRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/HookRun'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/HookRun'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Log'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Log'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/MPM'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/MPM'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Module'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Module'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Process'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Process'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestIO'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestIO'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/RequestUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Response'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Response'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ServerRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ServerRec'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ServerUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/ServerUtil'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/SubProcess'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/SubProcess'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/SubRequest'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/SubRequest'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/URI'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/URI'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/Apache2'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl/Global'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl/Global'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl/Util'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS/ModPerl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/WrapXS'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/PerlIO'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/PerlIO'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/aprext'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR/aprext'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/APR'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/Apache2'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/Apache2/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/Apache2/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/Apache2'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/ModPerl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Entering directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/ModPerl/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[3]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/ModPerl/Const'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[2]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs/ModPerl'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make[1]: Leaving directory `/usr/local/src/mod_perl/mod_perl-2.0.5/xs'&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;/usr/local/bin/perl -Iblib/arch -Iblib/lib \&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t/TEST -clean&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;[warning] setting ulimit to allow core files&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl/mod_perl-2.0.5/t/TEST -clean&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= APACHE_TEST_APXS= \&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/bin/perl -Iblib/arch -Iblib/lib \&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t/TEST -bugreport -verbose=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;[warning] setting ulimit to allow core files&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl/mod_perl-2.0.5/t/TEST -bugreport -verbose=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;/usr/local/apache-2.2.21.x86_64/bin/httpd&amp;nbsp; -d /usr/local/src/mod_perl/mod_perl-2.0.5/t -f /usr/local/src/mod_perl/mod_perl-2.0.5/t/conf/httpd.conf -D APACHE2&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;using Apache/2.2.21 (prefork MPM)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;waiting 120 seconds for server to start: .[Wed Jan 25 13:18:10 2012] [warn] module ldap_module is already loaded, skipping&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;[Wed Jan 25 13:18:10 2012] [warn] module apreq_module is already loaded, skipping&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;httpd: Syntax error on line 97 of /usr/local/src/mod_perl/mod_perl-2.0.5/t/conf/httpd.conf: Cannot load /usr/local/src/mod_perl/mod_perl-2.0.5/src/modules/perl/mod_perl.so into server: /usr/local/src/mod_perl/mod_perl-2.0.5/src/modules/perl/mod_perl.so: undefined symbol: PL_tainting&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;[&amp;nbsp; error]&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;server has died with status 255 (t/logs/error_log wasn't created, start the server in the debug mode)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;sh: line 1: 27834 Terminated&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/bin/perl /usr/local/src/mod_perl/mod_perl-2.0.5/t/TEST -bugreport -verbose=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;make: *** [run_tests] Error 143&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;I then did:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;ldd -r mod_perl.so&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linux-vdso.so.1 =&amp;gt;&amp;nbsp; (0x00007fffc89fc000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libperl.so =&amp;gt; /usr/local/lib/libperl.so (0x00002b27ee708000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libnsl.so.1 =&amp;gt; /lib64/libnsl.so.1 (0x00002b27eea3f000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libdl.so.2 =&amp;gt; /lib64/libdl.so.2 (0x00002b27eec57000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libm.so.6 =&amp;gt; /lib64/libm.so.6 (0x00002b27eee5b000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libcrypt.so.1 =&amp;gt; /lib64/libcrypt.so.1 (0x00002b27ef0df000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libutil.so.1 =&amp;gt; /lib64/libutil.so.1 (0x00002b27ef317000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libc.so.6 =&amp;gt; /lib64/libc.so.6 (0x00002b27ef51a000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libresolv.so.2 =&amp;gt; /lib64/libresolv.so.2 (0x00002b27ef873000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; libpthread.so.0 =&amp;gt; /lib64/libpthread.so.0 (0x00002b27efa88000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /lib64/ld-linux-x86-64.so.2 (0x0000003ff5000000)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_shared_split&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_shared_copy&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_tainting&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: core_module&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_perl_destruct_level&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_curstash&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_origenviron&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_defstash&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_patchlevel (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_modglobal&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_stack_sp&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_input_filter&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_server_root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_cleanup_null (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_localizing (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_op (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_hash_seed&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_markstack_max&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_gid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: boot_DynaLoader&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_markstack_ptr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_tainted&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_uid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_server_config_defines&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_stderrgv&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_euid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_errgv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_curstackinfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_curstack&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_endav&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_sv_undef&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_output_filter&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_curcop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_rs (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_egid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_diehook&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_tmps_floor (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_type_eos&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_type_flush (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_defoutgv&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_envgv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_scopestack_ix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_rehash_seed_set&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_rehash_seed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_tmps_ix&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_stack_max&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_charclass&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_incgv&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_na (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_stack_base (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_top_module (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: PL_origalen&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_hash_get&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_is_empty_table&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_process_connection&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_strerror&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_create_per_dir_config&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_open_logs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_child_init&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_stat&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_elts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_flush_create&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_cpystrn&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_get_output_filter_handle&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_single_module_configure&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_sv_2bool_flags&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_unset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_cleanup_register (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_hv_eiter_p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_register_output_filter (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_insert_filter (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_pre_connection&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_pass_brigade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_remove_loaded_module&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_post_read_request (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_uuid_get&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_file_read (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_shared_destroy (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_merge&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_array_push&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_brigade_create&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_vsnprintf (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_os_thread_current (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_walk_config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_shared_make&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_auth_checker&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_create_ex&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_filepath_merge&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_free&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_compress&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_merge_per_dir_configs&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_hv_riter_p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_clear&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_build_config&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_mpm_query&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_destroy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_cgi_vars&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_sys_term (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_make&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_access_checker&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_scan_script_header_err_strs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_file_open (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_getword&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_pcfg_open_custom&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_header_parser (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_str_tolower&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_env_get&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_post_config&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_fixups&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pstrndup&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_get_input_filter_handle&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_overlap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_overlay&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_userdata_get (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_cfg_getline&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_translate_name&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_sv_free2 (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_handler&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_hash_set&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_check_cmd_context&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_clear&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pmemdup&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_psprintf&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_palloc&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_check_user_id (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_brigade_cleanup&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_snprintf&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_get_brigade&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_common_vars&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_array_copy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_file_write&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_setn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_type_checker&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_eos_create (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_loaded_module&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_cfg_closefile&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_hv_common_key_len&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_add_version_component&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_log_error&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_pre_config&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_hv_fill&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_userdata_set (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_gv_add_by_type&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pstrdup&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_internal_redirect_handler&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_copy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_get (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_uuid_format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pool_tag&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_file_printf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_hash_make (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_set (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pstrcat&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_brigade_destroy&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_getword_nc (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_pstrmemdup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_map_to_storage&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_newSV_type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_initialize&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_brigade_flatten&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: Perl_sys_init3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_log_rerror (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_alloc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_register_input_filter&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_log_transaction&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_array_make&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_file_close&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_pool_make&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_table_addn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: ap_hook_create_request&amp;nbsp;&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;undefined symbol: apr_bucket_transient_create&amp;nbsp;&amp;nbsp; (./mod_perl.so)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;Is there something I am missing?&amp;nbsp; When I compile mod_perl it shows perl-5.14.2 as the perl version.&amp;nbsp;&amp;nbsp; Something is wrong, and of course those above me want this fixed.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;Please advise.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;Thanks!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;David Jacobs&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4598283773837256246?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4598283773837256246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4598283773837256246&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4598283773837256246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4598283773837256246'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/modperlso-undefined-symbol-pltainting.html' title='mod_perl.so: undefined symbol: PL_tainting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2332453585138461997</id><published>2012-01-22T03:32:00.000-08:00</published><updated>2012-01-22T03:34:04.065-08:00</updated><title type='text'>RE: Content-Disposition</title><content type='html'>&lt;DIV dir=ltr id=idOWAReplyText27430&gt; &lt;DIV dir=ltr&gt;&lt;FONT color=#000000 size=2 face=Arial&gt;I'm all set, I had to use err_headers_out for some reason so,&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;$r-&amp;gt;err_headers_out-&amp;gt;add('Content-Disposition' =&amp;gt; 'attachment; filename="' . $download_name . '"');&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;Works.&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;-Chris&lt;/DIV&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;BR&gt; &lt;HR tabIndex=-1&gt; &lt;FONT size=2 face=Tahoma&gt;&lt;B&gt;From:&lt;/B&gt; cfaust-dougot [mailto:cfaust@doyougot.com]&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt; Sun 1/22/2012 6:20 AM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt; Earle Ake; modperl@perl.apache.org&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt; RE: Content-Disposition&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt; &lt;DIV dir=ltr id=idOWAReplyText65542&gt; &lt;DIV dir=ltr&gt;&lt;FONT color=#000000 size=2 face=Arial&gt;Thanks for the reply Earle, I actually did try both "attachment" and "inline" and neither worked (I should have said that in the org post).&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;FONT size=2 face=Arial&gt;-Chris&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;BR&gt; &lt;HR tabIndex=-1&gt; &lt;FONT size=2 face=Tahoma&gt;&lt;B&gt;From:&lt;/B&gt; Earle Ake [mailto:eake@woh.rr.com]&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt; Sat 1/21/2012 9:19 PM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt; cfaust-dougot; modperl@perl.apache.org&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt; RE: Content-Disposition&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;DIV class=Section1&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;I have done it before using something like:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;print &amp;#8220;Content-Disposition:attachment;filename=$download_name\n&amp;#8221;;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;So maybe try:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'attachment; filename="' . $download_name . '"');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt; &lt;DIV style="TEXT-ALIGN: center" class=MsoNormal align=center&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt; &lt;HR tabIndex=-1 align=center SIZE=2 width="100%"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt; &lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT size=2 face=Tahoma&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; FONT-SIZE: 10pt; FONT-WEIGHT: bold"&gt;From:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT size=2 face=Tahoma&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; FONT-SIZE: 10pt"&gt; cfaust-dougot [mailto:cfaust@doyougot.com] &lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Sent:&lt;/SPAN&gt;&lt;/B&gt; Saturday, January 21, 2012 7:02 PM&lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;To:&lt;/SPAN&gt;&lt;/B&gt; modperl@perl.apache.org&lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Subject:&lt;/SPAN&gt;&lt;/B&gt; Content-Disposition&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=black size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 10pt"&gt;Hello,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;I'm guessing there is a real simple answer to my question but as uasual, I can't find it :)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;Simply put I'm trying to create a Zip file and push it to the user using a filename I've defined. Everything works except the name of the file that comes up in the browser dialog. It always defaults to the script/location name. I thought that all I needed was Content-Disposition but that doesn't seem to be working.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;CentOS 5.5, mod_perl 2.0.4, apache 2.2.3 (both mod_perl and apache should be backported via yum update).&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $zip = Archive::Zip-&amp;gt;new();&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $member = $zip-&amp;gt;addString('yadda yadda yadda');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $download_name = 'download.zip';&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;if ( $zip-&amp;gt;writeToFileNamed('someothernamed.zip');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open(ZIP, 'someothernamed.zip') or die "could not open&amp;nbsp;sonz $!";&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; binmode ZIP;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $output = do { local $/; &amp;lt;ZIP&amp;gt; };&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(ZIP);&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;content_type('application/zip');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'inline; filename="' . $download_name . '"');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;send_http_header;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $output;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Apache2::Const::OK;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;}&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;I tried setting the header before the content_type and with and without "send_http_header". What am I doing wrong? How can I get the user to be prompted to save the file as "download.zip??&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;TIA!&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2332453585138461997?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2332453585138461997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2332453585138461997&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2332453585138461997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2332453585138461997'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-content-disposition_207.html' title='RE: Content-Disposition'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-8831951168877814063</id><published>2012-01-22T03:20:00.000-08:00</published><updated>2012-01-22T03:21:34.831-08:00</updated><title type='text'>RE: Content-Disposition</title><content type='html'>&lt;DIV dir=ltr id=idOWAReplyText65542&gt; &lt;DIV dir=ltr&gt;&lt;FONT color=#000000 size=2 face=Arial&gt;Thanks for the reply Earle, I actually did try both "attachment" and "inline" and neither worked (I should have said that in the org post).&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;FONT size=2 face=Arial&gt;-Chris&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt; &lt;DIV dir=ltr&gt;&lt;BR&gt; &lt;HR tabIndex=-1&gt; &lt;FONT size=2 face=Tahoma&gt;&lt;B&gt;From:&lt;/B&gt; Earle Ake [mailto:eake@woh.rr.com]&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt; Sat 1/21/2012 9:19 PM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt; cfaust-dougot; modperl@perl.apache.org&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt; RE: Content-Disposition&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;DIV class=Section1&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;I have done it before using something like:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;print &amp;#8220;Content-Disposition:attachment;filename=$download_name\n&amp;#8221;;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;So maybe try:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'attachment; filename="' . $download_name . '"');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=navy size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: navy; FONT-SIZE: 10pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt; &lt;DIV style="TEXT-ALIGN: center" class=MsoNormal align=center&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt; &lt;HR tabIndex=-1 align=center SIZE=2 width="100%"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt; &lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT size=2 face=Tahoma&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; FONT-SIZE: 10pt; FONT-WEIGHT: bold"&gt;From:&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;FONT size=2 face=Tahoma&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; FONT-SIZE: 10pt"&gt; cfaust-dougot [mailto:cfaust@doyougot.com] &lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Sent:&lt;/SPAN&gt;&lt;/B&gt; Saturday, January 21, 2012 7:02 PM&lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;To:&lt;/SPAN&gt;&lt;/B&gt; modperl@perl.apache.org&lt;BR&gt;&lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;Subject:&lt;/SPAN&gt;&lt;/B&gt; Content-Disposition&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT color=black size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; COLOR: black; FONT-SIZE: 10pt"&gt;Hello,&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;I'm guessing there is a real simple answer to my question but as uasual, I can't find it :)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;Simply put I'm trying to create a Zip file and push it to the user using a filename I've defined. Everything works except the name of the file that comes up in the browser dialog. It always defaults to the script/location name. I thought that all I needed was Content-Disposition but that doesn't seem to be working.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"&gt;CentOS 5.5, mod_perl 2.0.4, apache 2.2.3 (both mod_perl and apache should be backported via yum update).&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $zip = Archive::Zip-&amp;gt;new();&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $member = $zip-&amp;gt;addString('yadda yadda yadda');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;my $download_name = 'download.zip';&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;if ( $zip-&amp;gt;writeToFileNamed('someothernamed.zip');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open(ZIP, 'someothernamed.zip') or die "could not open&amp;nbsp;sonz $!";&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; binmode ZIP;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $output = do { local $/; &amp;lt;ZIP&amp;gt; };&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(ZIP);&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;content_type('application/zip');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'inline; filename="' . $download_name . '"');&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;send_http_header;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $output;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Apache2::Const::OK;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;}&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;I tried setting the header before the content_type and with and without "send_http_header". What am I doing wrong? How can I get the user to be prompted to save the file as "download.zip??&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;TIA!&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt; &lt;DIV&gt; &lt;P class=MsoNormal&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-8831951168877814063?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/8831951168877814063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=8831951168877814063&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8831951168877814063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/8831951168877814063'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-content-disposition_22.html' title='RE: Content-Disposition'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1660905145962330014</id><published>2012-01-21T18:19:00.001-08:00</published><updated>2012-01-21T18:19:47.466-08:00</updated><title type='text'>RE: Content-Disposition</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;I have done it before using something like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;print &amp;#8220;Content-Disposition:attachment;filename=$download_name\n&amp;#8221;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;So maybe try:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'attachment; filename=&amp;quot;' . $download_name . '&amp;quot;');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div&gt;  &lt;div class=MsoNormal align=center style='text-align:center'&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;  &lt;hr size=2 width="100%" align=center tabindex=-1&gt;  &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;font size=2 face=Tahoma&gt;&lt;span style='font-size:10.0pt; font-family:Tahoma;font-weight:bold'&gt;From:&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;font size=2 face=Tahoma&gt;&lt;span style='font-size:10.0pt;font-family:Tahoma'&gt; cfaust-dougot [mailto:cfaust@doyougot.com] &lt;br&gt; &lt;b&gt;&lt;span style='font-weight:bold'&gt;Sent:&lt;/span&gt;&lt;/b&gt; Saturday, January 21, 2012 7:02 PM&lt;br&gt; &lt;b&gt;&lt;span style='font-weight:bold'&gt;To:&lt;/span&gt;&lt;/b&gt; modperl@perl.apache.org&lt;br&gt; &lt;b&gt;&lt;span style='font-weight:bold'&gt;Subject:&lt;/span&gt;&lt;/b&gt; Content-Disposition&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=black face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:black'&gt;Hello,&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt; font-family:Arial'&gt;I'm guessing there is a real simple answer to my question but as uasual, I can't find it :)&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt; font-family:Arial'&gt;Simply put I'm trying to create a Zip file and push it to the user using a filename I've defined. Everything works except the name of the file that comes up in the browser dialog. It always defaults to the script/location name. I thought that all I needed was Content-Disposition but that doesn't seem to be working.&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt; font-family:Arial'&gt;CentOS 5.5, mod_perl 2.0.4, apache 2.2.3 (both mod_perl and apache should be backported via yum update).&lt;/span&gt;&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;my $zip = Archive::Zip-&amp;gt;new();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;my $member = $zip-&amp;gt;addString('yadda yadda yadda');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;my $download_name = 'download.zip';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;if ( $zip-&amp;gt;writeToFileNamed('someothernamed.zip');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open(ZIP, 'someothernamed.zip') or die &amp;quot;could not open&amp;nbsp;sonz $!&amp;quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; binmode ZIP;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $output = do { local $/; &amp;lt;ZIP&amp;gt; };&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(ZIP);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;content_type('application/zip');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'inline; filename=&amp;quot;' . $download_name . '&amp;quot;');&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;send_http_header;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $output;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Apache2::Const::OK;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;I tried setting the header before the content_type and with and without &amp;quot;send_http_header&amp;quot;. What am I doing wrong? How can I get the user to be prompted to save the file as &amp;quot;download.zip??&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;TIA!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1660905145962330014?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1660905145962330014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1660905145962330014&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1660905145962330014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1660905145962330014'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-content-disposition.html' title='RE: Content-Disposition'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2714488723945462855</id><published>2012-01-21T16:02:00.000-08:00</published><updated>2012-01-21T16:03:08.049-08:00</updated><title type='text'>Content-Disposition</title><content type='html'>&lt;DIV&gt;&lt;FONT color=#000000 size=2 face=Arial&gt;Hello,&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;I'm guessing there is a real simple answer to my question but as uasual, I can't find it :)&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;Simply put I'm trying to create a Zip file and push it to the user using a filename I've defined. Everything works except the name of the file that comes up in the browser dialog. It always defaults to the script/location name. I thought that all I needed was Content-Disposition but that doesn't seem to be working.&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;CentOS 5.5, mod_perl 2.0.4, apache 2.2.3 (both mod_perl and apache should be backported via yum update).&lt;/FONT&gt;&lt;/DIV&gt; &lt;DIV&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;my $zip = Archive::Zip-&amp;gt;new();&lt;/DIV&gt; &lt;DIV&gt;my $member = $zip-&amp;gt;addString('yadda yadda yadda');&lt;/DIV&gt; &lt;DIV&gt;my $download_name = 'download.zip';&lt;/DIV&gt; &lt;DIV&gt;if ( $zip-&amp;gt;writeToFileNamed('someothernamed.zip');&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; open(ZIP, 'someothernamed.zip') or die "could not open&amp;nbsp;sonz $!";&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; binmode ZIP;&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $output = do { local $/; &amp;lt;ZIP&amp;gt; };&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(ZIP);&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;content_type('application/zip');&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;header_out( 'Content-Disposition' =&amp;gt; 'inline; filename="' . $download_name . '"');&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $r-&amp;gt;send_http_header;&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print $output;&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return Apache2::Const::OK;&lt;/DIV&gt; &lt;DIV&gt;}&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;I tried setting the header before the content_type and with and without "send_http_header". What am I doing wrong? How can I get the user to be prompted to save the file as "download.zip??&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;TIA!&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt; &lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2714488723945462855?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2714488723945462855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2714488723945462855&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2714488723945462855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2714488723945462855'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/content-disposition.html' title='Content-Disposition'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6128371329631282005</id><published>2012-01-20T12:08:00.000-08:00</published><updated>2012-01-20T12:09:18.778-08:00</updated><title type='text'>RE: Reloading Apache::Registry modules without restarting Apache</title><content type='html'>&amp;gt; In other words, it does not really make sense to expect a different lib path per virtual&lt;br&gt;&amp;gt; host, since the perl modules and scripts exist on a &amp;quot;one per process&amp;quot; base, not a &amp;quot;one per&lt;br&gt;&amp;gt; virtual host&amp;quot; base.&lt;br&gt;&amp;gt; Or, you have to really set the lib path dynamically, on a per-request base, not just when&lt;br&gt;&amp;gt; your script is first compiled.&lt;p&gt;Thx Andre.&lt;p&gt;What do you make of this page then:&lt;p&gt;&lt;a href="http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost"&gt;http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost&lt;/a&gt;&lt;p&gt;which says:&lt;p&gt;---&lt;br&gt;If Perl used with mod_perl was built with ithreads support one can specify different @INC values for different VirtualHosts, using a combination of PerlOptions +Parent and PerlSwitches. &lt;br&gt;---&lt;p&gt;Is this wrong? &lt;p&gt;Maybe it&amp;#39;s that my version is not compiled with ithreads support? &lt;p&gt;I know I have a thread-enabled version of perl, because when I run the following script:&lt;p&gt;---&lt;br&gt;use Config;&lt;br&gt;if ($Config{useithreads}) {&lt;br&gt;	print &amp;quot;threads compiled&amp;quot;&lt;br&gt;} else {&lt;br&gt;	print &amp;quot;NOT threads compiled&amp;quot;&lt;br&gt;}&lt;br&gt;---&lt;p&gt;It tells me that it IS threads compiled. But I know that there are two versions of thread support (an older one, and a newer one), and I am not sure which of the two is meant by &amp;#39;built with ithreads support&amp;#39;.&lt;p&gt;Alain&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6128371329631282005?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6128371329631282005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6128371329631282005&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6128371329631282005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6128371329631282005'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-reloading-apacheregistry-modules_5866.html' title='RE: Reloading Apache::Registry modules without restarting Apache'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1110902673847182408</id><published>2012-01-20T11:42:00.000-08:00</published><updated>2012-01-20T11:43:30.459-08:00</updated><title type='text'>Re: Reloading Apache::Registry modules without restarting Apache</title><content type='html'>Andr&amp;#233; Warnier wrote:&lt;br&gt;&amp;gt; Desilets, Alain wrote:&lt;br&gt;&amp;gt;&amp;gt; I&amp;#39;m using mod_perl on Windows 7, and am trying to set things up so &lt;br&gt;&amp;gt;&amp;gt; that I can reload my script and all the modules it uses, without &lt;br&gt;&amp;gt;&amp;gt; having to restart Apache.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; The problem is that my script (called webitext.cgi) updates the @INC &lt;br&gt;&amp;gt;&amp;gt; variable using statements like these:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt; use lib &amp;quot;$ENV{WEBITEXT_HOME}&amp;quot;;&lt;br&gt;&amp;gt;&amp;gt; use lib &amp;quot;$ENV{WEBITEXT_HOME}/bin&amp;quot;;&lt;br&gt;&amp;gt;&amp;gt; etc...&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; where the value of $ENV{WEBITEXT_HOME} is set differently depending on &lt;br&gt;&amp;gt;&amp;gt; the virtual host it&amp;#39;s running on. I use this so I can have two &lt;br&gt;&amp;gt;&amp;gt; versions of my app on the server, a production and a test version, &lt;br&gt;&amp;gt;&amp;gt; each running under a different vhost which defines the env variable &lt;br&gt;&amp;gt;&amp;gt; differently (using Apache SetEnv).&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; The problem is that when Apache::Reload tries to reload the modules, &lt;br&gt;&amp;gt;&amp;gt; it does not find them, because it seems to use the value of @INC as it &lt;br&gt;&amp;gt;&amp;gt; was BEFORE the script was run (i.e. not including the ones added with &lt;br&gt;&amp;gt;&amp;gt; the &amp;#39;use lib&amp;#39; statements).&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; This problem occurs whether I use the &amp;#39;PerlSetVar ReloadTouchFile&amp;#39; &lt;br&gt;&amp;gt;&amp;gt; approach or the Apache::StatINC approach. It seems to be a well &lt;br&gt;&amp;gt;&amp;gt; documented limitation of Apache::Reload.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; So... I thought about setting the @INC path outside of the script. But &lt;br&gt;&amp;gt;&amp;gt; I need to do this on a per-vhost basis. According to this page:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost"&gt;http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost&lt;/a&gt; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; I should be able to do this with something like this:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;VirtualHost ...&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;       ServerName webitextprod&lt;br&gt;&amp;gt;&amp;gt;       PerlOptions +Parent&lt;br&gt;&amp;gt;&amp;gt;       PerlSwitches -Idir1 -Idir2 etc...&lt;br&gt;&amp;gt;&amp;gt;   &amp;lt;/VirtualHost&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; But when I tried this and ran httpd.exe -t -c httpd.conf, it crashed &lt;br&gt;&amp;gt;&amp;gt; with the dreaded &amp;quot;free to wrong pool&amp;quot; error:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt; Free to wrong pool 2b60100 not 3d4f10.&lt;br&gt;&amp;gt;&amp;gt; ---&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; This error seems to be caused by the PerlOptions +Parent line.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Any suggestion for how to fix or get around this problem would be &lt;br&gt;&amp;gt;&amp;gt; greatly appreciated.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt; Hi.&lt;br&gt;&amp;gt; I do not know much about the &amp;quot;reload&amp;quot; side of things, but something in &lt;br&gt;&amp;gt; the general logic of what you explain above is going against what I know &lt;br&gt;&amp;gt; of the Apache logic.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Contrarily to what you seem to expect above, an Apache &amp;quot;virtual host&amp;quot; is &lt;br&gt;&amp;gt; not a separate process.&lt;br&gt;&amp;gt; Apache starts as a single process, and then it forks &amp;quot;children&amp;quot;. Each of &lt;br&gt;&amp;gt; these children is a separate process.  But the &amp;quot;virtual host identity&amp;quot; &lt;br&gt;&amp;gt; is something dynamic.  Each Apache child can &amp;quot;become&amp;quot; one of the virtual &lt;br&gt;&amp;gt; hosts, at each request.  It just &amp;quot;switches personality&amp;quot; depending on &lt;br&gt;&amp;gt; which Host: header is contained in the current request that it processes.&lt;br&gt;&amp;gt; In other words, it does not really make sense to expect a different lib &lt;br&gt;&amp;gt; path per virtual host, since the perl modules and scripts exist on a &lt;br&gt;&amp;gt; &amp;quot;one per process&amp;quot; base, not a &amp;quot;one per virtual host&amp;quot; base.&lt;br&gt;&amp;gt; Or, you have to really set the lib path dynamically, on a per-request &lt;br&gt;&amp;gt; base, not just when your script is first compiled.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;Addendum :&lt;br&gt;I re-read your post, and noticed that you were under Windows.  In that case, Apache does &lt;br&gt;not really &amp;quot;fork children&amp;quot;, it runs threads. But the general idea above remains : each &lt;br&gt;thread will adopt the personality of the virtual host corresponding to the Host: header of &lt;br&gt;the current request.  Things may even be a little bit more confusing; I am not sure, but I &lt;br&gt;think that if you change the lib path on-the-fly in one thread, it may even affect all &lt;br&gt;threads currently running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1110902673847182408?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1110902673847182408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1110902673847182408&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1110902673847182408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1110902673847182408'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-reloading-apacheregistry-modules_20.html' title='Re: Reloading Apache::Registry modules without restarting Apache'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2878042282542407105</id><published>2012-01-20T11:32:00.000-08:00</published><updated>2012-01-20T11:33:17.711-08:00</updated><title type='text'>Re: Reloading Apache::Registry modules without restarting Apache</title><content type='html'>Desilets, Alain wrote:&lt;br&gt;&amp;gt; I&amp;#39;m using mod_perl on Windows 7, and am trying to set things up so that I can reload my script and all the modules it uses, without having to restart Apache.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The problem is that my script (called webitext.cgi) updates the @INC variable using statements like these:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; use lib &amp;quot;$ENV{WEBITEXT_HOME}&amp;quot;;&lt;br&gt;&amp;gt; use lib &amp;quot;$ENV{WEBITEXT_HOME}/bin&amp;quot;;&lt;br&gt;&amp;gt; etc...&lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; where the value of $ENV{WEBITEXT_HOME} is set differently depending on the virtual host it&amp;#39;s running on. I use this so I can have two versions of my app on the server, a production and a test version, each running under a different vhost which defines the env variable differently (using Apache SetEnv).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The problem is that when Apache::Reload tries to reload the modules, it does not find them, because it seems to use the value of @INC as it was BEFORE the script was run (i.e. not including the ones added with the &amp;#39;use lib&amp;#39; statements).&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; This problem occurs whether I use the &amp;#39;PerlSetVar ReloadTouchFile&amp;#39; approach or the Apache::StatINC approach. It seems to be a well documented limitation of Apache::Reload.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; So... I thought about setting the @INC path outside of the script. But I need to do this on a per-vhost basis. According to this page:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;a href="http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost"&gt;http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I should be able to do this with something like this:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; &amp;lt;VirtualHost ...&amp;gt;&lt;br&gt;&amp;gt;       ServerName webitextprod&lt;br&gt;&amp;gt;       PerlOptions +Parent&lt;br&gt;&amp;gt;       PerlSwitches -Idir1 -Idir2 etc...&lt;br&gt;&amp;gt;   &amp;lt;/VirtualHost&amp;gt;&lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; But when I tried this and ran httpd.exe -t -c httpd.conf, it crashed with the dreaded &amp;quot;free to wrong pool&amp;quot; error:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; Free to wrong pool 2b60100 not 3d4f10.&lt;br&gt;&amp;gt; ---&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; This error seems to be caused by the PerlOptions +Parent line.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Any suggestion for how to fix or get around this problem would be greatly appreciated.&lt;br&gt;&amp;gt; &lt;br&gt;Hi.&lt;br&gt;I do not know much about the &amp;quot;reload&amp;quot; side of things, but something in the general logic &lt;br&gt;of what you explain above is going against what I know of the Apache logic.&lt;p&gt;Contrarily to what you seem to expect above, an Apache &amp;quot;virtual host&amp;quot; is not a separate &lt;br&gt;process.&lt;br&gt;Apache starts as a single process, and then it forks &amp;quot;children&amp;quot;. Each of these children is &lt;br&gt;a separate process.  But the &amp;quot;virtual host identity&amp;quot; is something dynamic.  Each Apache &lt;br&gt;child can &amp;quot;become&amp;quot; one of the virtual hosts, at each request.  It just &amp;quot;switches &lt;br&gt;personality&amp;quot; depending on which Host: header is contained in the current request that it &lt;br&gt;processes.&lt;br&gt;In other words, it does not really make sense to expect a different lib path per virtual &lt;br&gt;host, since the perl modules and scripts exist on a &amp;quot;one per process&amp;quot; base, not a &amp;quot;one per &lt;br&gt;virtual host&amp;quot; base.&lt;br&gt;Or, you have to really set the lib path dynamically, on a per-request base, not just when &lt;br&gt;your script is first compiled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2878042282542407105?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2878042282542407105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2878042282542407105&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2878042282542407105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2878042282542407105'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-reloading-apacheregistry-modules.html' title='Re: Reloading Apache::Registry modules without restarting Apache'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5975825284654328322</id><published>2012-01-20T09:49:00.000-08:00</published><updated>2012-01-20T09:50:25.288-08:00</updated><title type='text'>Reloading Apache::Registry modules without restarting Apache</title><content type='html'>I&amp;#39;m using mod_perl on Windows 7, and am trying to set things up so that I can reload my script and all the modules it uses, without having to restart Apache.&lt;p&gt;The problem is that my script (called webitext.cgi) updates the @INC variable using statements like these:&lt;p&gt;---&lt;br&gt;use lib &amp;quot;$ENV{WEBITEXT_HOME}&amp;quot;;&lt;br&gt;use lib &amp;quot;$ENV{WEBITEXT_HOME}/bin&amp;quot;;&lt;br&gt;etc...&lt;br&gt;---&lt;p&gt;where the value of $ENV{WEBITEXT_HOME} is set differently depending on the virtual host it&amp;#39;s running on. I use this so I can have two versions of my app on the server, a production and a test version, each running under a different vhost which defines the env variable differently (using Apache SetEnv).&lt;p&gt;The problem is that when Apache::Reload tries to reload the modules, it does not find them, because it seems to use the value of @INC as it was BEFORE the script was run (i.e. not including the ones added with the &amp;#39;use lib&amp;#39; statements).&lt;p&gt;This problem occurs whether I use the &amp;#39;PerlSetVar ReloadTouchFile&amp;#39; approach or the Apache::StatINC approach. It seems to be a well documented limitation of Apache::Reload.&lt;p&gt;So... I thought about setting the @INC path outside of the script. But I need to do this on a per-vhost basis. According to this page:&lt;p&gt;&lt;a href="http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost"&gt;http://perl.apache.org/docs/2.0/user/config/config.html#Modifying_C__INC__on_a_Per_VirtualHost&lt;/a&gt;&lt;p&gt;I should be able to do this with something like this:&lt;p&gt;---&lt;br&gt;&amp;lt;VirtualHost ...&amp;gt;&lt;br&gt;      ServerName webitextprod&lt;br&gt;      PerlOptions +Parent&lt;br&gt;      PerlSwitches -Idir1 -Idir2 etc...&lt;br&gt;  &amp;lt;/VirtualHost&amp;gt;&lt;br&gt;---&lt;p&gt;But when I tried this and ran httpd.exe -t -c httpd.conf, it crashed with the dreaded &amp;quot;free to wrong pool&amp;quot; error:&lt;p&gt;---&lt;br&gt;Free to wrong pool 2b60100 not 3d4f10.&lt;br&gt;---&lt;p&gt;This error seems to be caused by the PerlOptions +Parent line.&lt;p&gt;Any suggestion for how to fix or get around this problem would be greatly appreciated.&lt;p&gt;Thx.&lt;p&gt;Alain D&amp;#233;silets&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5975825284654328322?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5975825284654328322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5975825284654328322&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5975825284654328322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5975825284654328322'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/reloading-apacheregistry-modules.html' title='Reloading Apache::Registry modules without restarting Apache'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-7155038582906295008</id><published>2012-01-19T09:59:00.001-08:00</published><updated>2012-01-19T09:59:47.453-08:00</updated><title type='text'>Re: preloading modules and apache::dbi</title><content type='html'>On Thu, Jan 19, 2012 at 8:48 AM, Josh Narins &amp;lt;&lt;a href="mailto:jnarins@seniorbridge.com"&gt;jnarins@seniorbridge.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; The idea of Apache::DBI is that you get to pool connections.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; If you call Apache::DBI-&amp;gt;new and there is a spare connection, you get it, if not, one is created for you.&lt;p&gt;That&amp;#39;s a little misleading.  There&amp;#39;s no actual pooling.  Connections&lt;br&gt;can&amp;#39;t be shared between processes or threads.&lt;p&gt;What Apache::DBI does is keep connections that you open around in a&lt;br&gt;global hash, and if you ask for another connection with the same&lt;br&gt;parameters it gives you back the one you already opened.  There will&lt;br&gt;never be two connections with the same parameters.  I like to call it&lt;br&gt;persistence, not pooling.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-7155038582906295008?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/7155038582906295008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=7155038582906295008&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7155038582906295008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/7155038582906295008'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi_5040.html' title='Re: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-25729834183634945</id><published>2012-01-19T06:41:00.001-08:00</published><updated>2012-01-19T06:41:44.757-08:00</updated><title type='text'>Re: preloading modules and apache::dbi</title><content type='html'>&amp;gt; From: Perrin Harkins &amp;lt;&lt;a href="mailto:perrin@elem.com"&gt;perrin@elem.com&lt;/a&gt;&amp;gt;&lt;p&gt;&lt;p&gt;&amp;gt; However, if you are trying to make the handle persistent&lt;br&gt;&amp;gt;yourself, by putting it in a global variable or something similar,&lt;br&gt;&amp;gt;that will be a problem.&amp;#160; You have to close all connections you open&lt;br&gt;&amp;gt;during startup, and open new ones in the child processes.&lt;br&gt;&amp;gt;&lt;p&gt;&lt;br&gt;heres kinda sorta whats going on.&amp;#160;&amp;#160; The library Main.pm is preloaded at apache startup.&amp;#160; it exports a variable $dbh which is empty.&lt;p&gt;When a cgi script runs and uses Main.pm it runs an initialize subroutine from Main.pm.&amp;#160; In that subroutine the&amp;#160; $dbh variable gets the return from DBI::connect.&amp;#160; &lt;p&gt;&lt;br&gt;Since Main.pm is preloaded in apache startup, is there 1 $dbh variable shared amongst all httpd processes; or does each process have it&amp;#39;s own $dbh variable?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-25729834183634945?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/25729834183634945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=25729834183634945&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/25729834183634945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/25729834183634945'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi_1692.html' title='Re: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-9137855731960311779</id><published>2012-01-19T06:29:00.001-08:00</published><updated>2012-01-19T06:29:37.302-08:00</updated><title type='text'>Re: preloading modules and apache::dbi</title><content type='html'>On 01/19/2012 08:48 AM, Josh Narins wrote:&lt;br&gt;&amp;gt; The idea of Apache::DBI is that you get to pool connections.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; If you call Apache::DBI-&amp;gt;new and there is a spare connection, you get&lt;br&gt;&amp;gt; it, if not, one is created for you.&lt;p&gt;This isn&amp;#39;t quite accurate. Apache::DBI doesn&amp;#39;t do connection pooling, it &lt;br&gt;manages persistent connections. It&amp;#39;s still one connection per-process &lt;br&gt;(per connection attributes) and connections aren&amp;#39;t shared between child &lt;br&gt;processes (that&amp;#39;s where things get messy).&lt;p&gt;Apache::DBI makes sure you don&amp;#39;t create more connections than needed and &lt;br&gt;makes sure that the persistent connections are still connected before &lt;br&gt;handing them back.&lt;p&gt;&amp;gt; You almost certainly don&amp;#39;t want one $db object being shared as a member&lt;br&gt;&amp;gt; of a class, unless your entire program also happens to represent one DB&lt;br&gt;&amp;gt; transaction.&lt;p&gt;This is actually a pretty common and ok pattern. Remember that execution &lt;br&gt;through a request is still linear (not threaded or handled by multiple &lt;br&gt;processes) so if you want your whole request to be a single transaction &lt;br&gt;you can, or if you want it to auto-commit you can, or if you want it to &lt;br&gt;be a mix of transactions and auto-committed statements, you can do that too.&lt;p&gt;When you use Apache::DBI and then call DBI-&amp;gt;connect or &lt;br&gt;DBI-&amp;gt;connect_cached you&amp;#39;ll get the same database connection every time &lt;br&gt;(per process of course).&lt;p&gt;-- &lt;br&gt;Michael Peters&lt;br&gt;Plus Three, LP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-9137855731960311779?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/9137855731960311779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=9137855731960311779&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/9137855731960311779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/9137855731960311779'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi_9011.html' title='Re: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3428981107563986098</id><published>2012-01-19T05:48:00.001-08:00</published><updated>2012-01-19T05:48:55.637-08:00</updated><title type='text'>RE: preloading modules and apache::dbi</title><content type='html'>&lt;!--ppd1000037--&gt;&lt;!--ppd1000035--&gt;  &lt;div class=WordSection1&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;The idea of Apache::DBI is that you get to pool connections.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;If you call Apache::DBI-&amp;gt;new and there is a spare connection, you get it, if not, one is created for you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;You almost certainly don't want one $db object being shared as a member of a class, unless your entire program also happens to represent one DB transaction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:11.0pt;font-family:"Calibri","sans-serif"; color:#1F497D'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt; &lt;P&gt;&lt;FONT size=2 face=Verdana&gt;&lt;STRONG&gt;Josh&amp;nbsp;Narins&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT size=1 face=Verdana&gt;Director of Application Development&lt;BR&gt;SeniorBridge&lt;/FONT&gt;&lt;/P&gt; &lt;P&gt;&lt;FONT size=1 face=Verdana&gt;845 Third Ave&lt;br/&gt; 7th Floor&lt;BR&gt;New York,&amp;nbsp;NY&amp;nbsp;10022 &lt;br/&gt; Tel:  (212) 994-6194 &lt;br/&gt; Fax: (212) 994-4260 &lt;br/&gt; Mobile: (917) 488-6248&lt;BR&gt;jnarins@seniorbridge.com&lt;BR&gt;&lt;A  href="http://www.seniorbridge.com/"&gt;seniorbridge.com&lt;/A&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;&lt;IMG  border=0 hspace=0 alt=SeniorBridge align=baseline  src="http://www.seniorbridge.com/images/seniorbridgedisclaimerTAG.gif"&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt; &lt;HR style="HEIGHT: 1px"&gt; &lt;FONT size=1 face=Verdana&gt;&lt;FONT color=silver&gt;&lt;STRONG&gt;SeniorBridge Statement of  Confidentiality:&lt;/STRONG&gt; The contents of this email message are intended for  the exclusive use of the addressee(s) and may contain confidential or privileged  information. Any dissemination, distribution or copying of this email by an  unintended or mistaken recipient is strictly prohibited. In said event, kindly  reply to the sender and destroy all entries of this message and any attachments  from your system. Thank you.&lt;/FONT&gt;&lt;/FONT&gt;&lt;div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'&gt;  &lt;div&gt;  &lt;div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'&gt;From:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'&gt; mike cardeiro [mailto:mcardeiro@yahoo.com] &lt;br&gt; &lt;b&gt;Sent:&lt;/b&gt; Wednesday, January 18, 2012 5:08 PM&lt;br&gt; &lt;b&gt;To:&lt;/b&gt; modper&lt;br&gt; &lt;b&gt;Subject:&lt;/b&gt; preloading modules and apache::dbi&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;Hi,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;I am totally new to mod perl (after 13+ years of building web applications on shared servers I now am developing on a dedicated box woo-hoo)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;I have installed apache::dbi and set it to preload in the apache config file.&amp;nbsp; Here is what I think my problem might be.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;I have a library I want to preload.&amp;nbsp; This library makes a database connection and assigns it to a variable that is exported so all programs can use this handle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;will this global handle db handle be a single handle amongst all apache processes, or will each process load this library on its own thus having a unique db handle for each httpd process?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;sorry if this is incoherent.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div&gt;  &lt;p class=MsoNormal style='background:white'&gt;&lt;span style='color:black'&gt;Mike Cardeiro&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3428981107563986098?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3428981107563986098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3428981107563986098&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3428981107563986098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3428981107563986098'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi_4554.html' title='RE: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3829025591430666339</id><published>2012-01-19T03:57:00.002-08:00</published><updated>2012-01-19T03:58:06.603-08:00</updated><title type='text'>Re: Problem withe memcached inside the handler</title><content type='html'>Another information, in other platform working well&lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;On 19 January 2012 12:50, Idel Fuschini &lt;span dir="ltr"&gt;&amp;lt;&lt;a href="mailto:idel.fuschini@gmail.com"&gt;idel.fuschini@gmail.com&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt; &lt;blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"&gt;Hi I&amp;#39;ve got this simple module:&lt;br&gt;&lt;br&gt;#file:Apache2/AMFTest.pm;&lt;br&gt;#--------------------------------&lt;br&gt;&lt;br&gt;#&lt;br&gt;# Created by Idel Fuschini&lt;br&gt; # Date: 01/08/10&lt;br&gt;# Site: &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;br&gt; # Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;package Apache2::AMFTest;&lt;br&gt;&lt;br&gt;  use strict;&lt;br&gt;  use warnings;&lt;br&gt;  use Apache2::AMFCommonLib ();&lt;br&gt;  use Cache::Memcached;&lt;br&gt;   use Apache2::RequestRec ();&lt;br&gt;   use Apache2::RequestUtil ();&lt;br&gt;  use Apache2::SubRequest ();&lt;br&gt;  use Apache2::Log;&lt;br&gt;  use Apache2::Filter ();&lt;br&gt;  use Apache2::Connection ();&lt;br&gt;  use APR::Table ();&lt;br&gt;  use Apache2::Const -compile =&amp;gt; qw(OK REDIRECT DECLINED);&lt;br&gt;    use constant BUFF_LEN =&amp;gt; 1024;&lt;br&gt;  use vars qw($VERSION);&lt;br&gt;  $VERSION= &amp;quot;3.50&amp;quot;;&lt;br&gt;  #&lt;br&gt;  # Define the global environment&lt;br&gt;  #&lt;br&gt;  my $memd = new Cache::Memcached {&lt;br&gt;    &amp;#39;debug&amp;#39; =&amp;gt; 2,&lt;br&gt;      &amp;#39;compress_threshold&amp;#39; =&amp;gt; 10_000,&lt;br&gt;    &amp;#39;enable_compress&amp;#39; =&amp;gt; 1,&lt;br&gt;  };&lt;br&gt;my $server=&amp;quot;localhost:11211&amp;quot;;&lt;br&gt;my @Server = split(/,/, $server);&lt;br&gt;  $memd-&amp;gt;set_servers(\@Server);&lt;br&gt;  $memd-&amp;gt;set(&amp;#39;AMFtest&amp;#39;,&amp;#39;test&amp;#39;);&lt;br&gt;   if ($memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;)) {&lt;br&gt;   &lt;span style="color:rgb(153,153,0)"&gt;print &amp;quot;OK: &amp;gt;&amp;quot;.$memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;).&amp;quot;&amp;lt;\n&amp;quot;;&lt;/span&gt;&lt;br&gt; } else {&lt;br&gt;   print &amp;quot;KO&amp;quot;;&lt;br&gt;   exit;&lt;br&gt;  }&lt;br&gt;&lt;br&gt;sub handler    {&lt;br&gt;    my $f = shift;&lt;br&gt;    my $user_agent=$f-&amp;gt;headers_in-&amp;gt;{&amp;#39;User-Agent&amp;#39;}|| &amp;#39;&amp;#39;;&lt;br&gt;    my $x_user_agent=$f-&amp;gt;headers_in-&amp;gt;{&amp;#39;X-Device-User-Agent&amp;#39;}|| &amp;#39;&amp;#39;;&lt;br&gt;      $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - User_Agent:$user_agent&amp;quot;);&lt;br&gt;    $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - Try to connect&amp;quot;);&lt;br&gt;    &lt;span style="color:rgb(255,0,0)"&gt;my $result=$memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;);&lt;/span&gt;&lt;br&gt;      $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - Finish to connect the result is:&amp;quot;.$result);&lt;br&gt;    return Apache2::Const::DECLINED;&lt;br&gt;}&lt;br&gt;&lt;br&gt;And this is the error log:&lt;br&gt;&lt;br&gt;&lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;  &lt;span style="color:rgb(0,153,0)"&gt;Cache::Memcache: set AMFtest = test (set AMFtest 0 0 4&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;test)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x209264b0)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;  &lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x209264b0)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;  &lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [notice] Digest: generating secret for digest authentication ...&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [notice] Digest: done&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;  &lt;span style="color:rgb(0,153,0)"&gt;Cache::Memcache: set AMFtest = test (set AMFtest 0 0 4&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;test)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x20236b40)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;  &lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x20236b40)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br&gt;  [Thu Jan 19 12:43:59 2012] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0e DAV/2 mod_perl/2.0.5 Perl/v5.8.8 configured -- resuming normal operations&lt;br&gt;[Thu Jan 19 12:44:59 2012] [warn] [client 10.5.31.85] AMFTest - User_Agent:Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&lt;br&gt;  [Thu Jan 19 12:44:59 2012] [warn] [client 10.5.31.85] AMFTest - Try to connect&lt;br&gt;&lt;span style="color:rgb(255,0,0)"&gt;[Thu Jan 19 12:44:59 2012] [error] [client 10.5.31.85] No map found matching for GLOB(0x202fee10) at /usr/lib/perl5/site_perl/5.8.8/Cache/Memcached.pm line 717.\n&lt;/span&gt;&lt;br style="color:rgb(255,0,0)"&gt;  &lt;br&gt;So outside the handler is connecting correctly, but when inside the handler I&amp;#39;ve got this problem (the line in red color), I don&amp;#39;t think is a memcached problem.&lt;br&gt;&lt;br&gt;The version of S.O. is:&lt;br&gt;&lt;br&gt;Red Hat Enterprise Linux Server release 5.6 (Tikanga)&lt;br&gt;  &lt;br&gt;&lt;br&gt;thanks &lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;=====================&lt;br&gt;E-Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt;Web Site: &lt;a href="http://www.idelfuschini.it" target="_blank"&gt;http://www.idelfuschini.it&lt;/a&gt;&lt;br&gt;  AMF project:  &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;AMF wiki: Apache Mobile Filter - http:/&lt;a href="http://wiki.apachemobilefilter.org" target="_blank"&gt;wiki.apachemobilefilter.org&lt;/a&gt;&lt;br&gt;  ------&lt;br&gt;La presente comunicazione ed i suoi allegati e&amp;#39; destinata esclusivamente  &lt;br&gt;ai destinatari. Qualsiasi suo utilizzo, comunicazione o diffusione non autorizzata&lt;br&gt;e&amp;#39; proibita. Se ha ricevuto questa comunicazione per errore, la preghiamo di darne &lt;br&gt;  immediata comunicazione al mittente e di cancellare tutte le informazioni&lt;br&gt;erroneamente acquisite. (Rif. D.Lgs. 196/2003). Grazie&lt;br&gt;&lt;br&gt;This message and its attachments are intended only for use by the addressees. Any use, &lt;br&gt;  re-transmission or dissemination not authorized of it is prohibited. If you received &lt;br&gt;this e-mail in error, please inform the sender immediately and delete all the material. &lt;br&gt;(Rif. D.Lgs. 196/2003). Thank you. &lt;br&gt; &lt;/div&gt; &lt;br&gt; &lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3829025591430666339?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3829025591430666339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3829025591430666339&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3829025591430666339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3829025591430666339'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-withe-memcached-inside.html' title='Re: Problem withe memcached inside the handler'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6013853280472997112</id><published>2012-01-19T03:57:00.001-08:00</published><updated>2012-01-19T03:57:53.657-08:00</updated><title type='text'>Re: preloading modules and apache::dbi</title><content type='html'>On Wed, Jan 18, 2012 at 5:08 PM, mike cardeiro &amp;lt;&lt;a href="mailto:mcardeiro@yahoo.com"&gt;mcardeiro@yahoo.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; I have a library I want to preload.&amp;#160; This library makes a database&lt;br&gt;&amp;gt; connection and assigns it to a variable that is exported so all programs can&lt;br&gt;&amp;gt; use this handle.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; will this global handle db handle be a single handle amongst all apache&lt;br&gt;&amp;gt; processes, or will each process load this library on its own thus having a&lt;br&gt;&amp;gt; unique db handle for each httpd process?&lt;p&gt;Apache::DBI does not make handles persistent when you open them during&lt;br&gt;startup.  However, if you are trying to make the handle persistent&lt;br&gt;yourself, by putting it in a global variable or something similar,&lt;br&gt;that will be a problem.  You have to close all connections you open&lt;br&gt;during startup, and open new ones in the child processes.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6013853280472997112?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6013853280472997112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6013853280472997112&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6013853280472997112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6013853280472997112'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi_19.html' title='Re: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4978040473563190878</id><published>2012-01-19T03:50:00.001-08:00</published><updated>2012-01-19T03:50:43.417-08:00</updated><title type='text'>Problem withe memcached inside the handler</title><content type='html'>Hi I&amp;#39;ve got this simple module:&lt;br&gt;&lt;br&gt;#file:Apache2/AMFTest.pm;&lt;br&gt;#--------------------------------&lt;br&gt;&lt;br&gt;#&lt;br&gt;# Created by Idel Fuschini&lt;br&gt;# Date: 01/08/10&lt;br&gt;# Site: &lt;a href="http://www.apachemobilefilter.org"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;br&gt; # Mail: &lt;a href="mailto:idel.fuschini@gmail.com"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;package Apache2::AMFTest;&lt;br&gt;&lt;br&gt;  use strict;&lt;br&gt;  use warnings;&lt;br&gt;  use Apache2::AMFCommonLib ();&lt;br&gt;  use Cache::Memcached;&lt;br&gt;  use Apache2::RequestRec ();&lt;br&gt;   use Apache2::RequestUtil ();&lt;br&gt;  use Apache2::SubRequest ();&lt;br&gt;  use Apache2::Log;&lt;br&gt;  use Apache2::Filter ();&lt;br&gt;  use Apache2::Connection ();&lt;br&gt;  use APR::Table ();&lt;br&gt;  use Apache2::Const -compile =&amp;gt; qw(OK REDIRECT DECLINED);&lt;br&gt;   use constant BUFF_LEN =&amp;gt; 1024;&lt;br&gt;  use vars qw($VERSION);&lt;br&gt;  $VERSION= &amp;quot;3.50&amp;quot;;&lt;br&gt;  #&lt;br&gt;  # Define the global environment&lt;br&gt;  #&lt;br&gt;  my $memd = new Cache::Memcached {&lt;br&gt;    &amp;#39;debug&amp;#39; =&amp;gt; 2,&lt;br&gt;     &amp;#39;compress_threshold&amp;#39; =&amp;gt; 10_000,&lt;br&gt;    &amp;#39;enable_compress&amp;#39; =&amp;gt; 1,&lt;br&gt;  };&lt;br&gt;my $server=&amp;quot;localhost:11211&amp;quot;;&lt;br&gt;my @Server = split(/,/, $server);&lt;br&gt;  $memd-&amp;gt;set_servers(\@Server);&lt;br&gt;  $memd-&amp;gt;set(&amp;#39;AMFtest&amp;#39;,&amp;#39;test&amp;#39;);&lt;br&gt;  if ($memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;)) {&lt;br&gt;   &lt;span style="color:rgb(153,153,0)"&gt;print &amp;quot;OK: &amp;gt;&amp;quot;.$memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;).&amp;quot;&amp;lt;\n&amp;quot;;&lt;/span&gt;&lt;br&gt; } else {&lt;br&gt;   print &amp;quot;KO&amp;quot;;&lt;br&gt;   exit;&lt;br&gt; }&lt;br&gt;&lt;br&gt;sub handler    {&lt;br&gt;    my $f = shift;&lt;br&gt;    my $user_agent=$f-&amp;gt;headers_in-&amp;gt;{&amp;#39;User-Agent&amp;#39;}|| &amp;#39;&amp;#39;;&lt;br&gt;    my $x_user_agent=$f-&amp;gt;headers_in-&amp;gt;{&amp;#39;X-Device-User-Agent&amp;#39;}|| &amp;#39;&amp;#39;;&lt;br&gt;     $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - User_Agent:$user_agent&amp;quot;);&lt;br&gt;    $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - Try to connect&amp;quot;);&lt;br&gt;    &lt;span style="color:rgb(255,0,0)"&gt;my $result=$memd-&amp;gt;get(&amp;#39;AMFtest&amp;#39;);&lt;/span&gt;&lt;br&gt;     $f-&amp;gt;log-&amp;gt;warn(&amp;quot;AMFTest - Finish to connect the result is:&amp;quot;.$result);&lt;br&gt;    return Apache2::Const::DECLINED;&lt;br&gt;}&lt;br&gt;&lt;br&gt;And this is the error log:&lt;br&gt;&lt;br&gt;&lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt; &lt;span style="color:rgb(0,153,0)"&gt;Cache::Memcache: set AMFtest = test (set AMFtest 0 0 4&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;test)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x209264b0)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt; &lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x209264b0)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt; &lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [notice] Digest: generating secret for digest authentication ...&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;[Thu Jan 19 12:43:58 2012] [notice] Digest: done&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt; &lt;span style="color:rgb(0,153,0)"&gt;Cache::Memcache: set AMFtest = test (set AMFtest 0 0 4&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;test)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x20236b40)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt; &lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;processing socket GLOB(0x20236b40)&lt;/span&gt;&lt;br style="color:rgb(0,153,0)"&gt;&lt;span style="color:rgb(0,153,0)"&gt;MemCache: got AMFtest = test&lt;/span&gt;&lt;br&gt; [Thu Jan 19 12:43:59 2012] [notice] Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/1.0.0e DAV/2 mod_perl/2.0.5 Perl/v5.8.8 configured -- resuming normal operations&lt;br&gt;[Thu Jan 19 12:44:59 2012] [warn] [client 10.5.31.85] AMFTest - User_Agent:Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1&lt;br&gt; [Thu Jan 19 12:44:59 2012] [warn] [client 10.5.31.85] AMFTest - Try to connect&lt;br&gt;&lt;span style="color:rgb(255,0,0)"&gt;[Thu Jan 19 12:44:59 2012] [error] [client 10.5.31.85] No map found matching for GLOB(0x202fee10) at /usr/lib/perl5/site_perl/5.8.8/Cache/Memcached.pm line 717.\n&lt;/span&gt;&lt;br style="color:rgb(255,0,0)"&gt; &lt;br&gt;So outside the handler is connecting correctly, but when inside the handler I&amp;#39;ve got this problem (the line in red color), I don&amp;#39;t think is a memcached problem.&lt;br&gt;&lt;br&gt;The version of S.O. is:&lt;br&gt;&lt;br&gt;Red Hat Enterprise Linux Server release 5.6 (Tikanga)&lt;br&gt; &lt;br&gt;&lt;br&gt;thanks &lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;=====================&lt;br&gt;E-Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt;Web Site: &lt;a href="http://www.idelfuschini.it" target="_blank"&gt;http://www.idelfuschini.it&lt;/a&gt;&lt;br&gt; AMF project:  &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;AMF wiki: Apache Mobile Filter - http:/&lt;a href="http://wiki.apachemobilefilter.org" target="_blank"&gt;wiki.apachemobilefilter.org&lt;/a&gt;&lt;br&gt; ------&lt;br&gt;La presente comunicazione ed i suoi allegati e&amp;#39; destinata esclusivamente  &lt;br&gt;ai destinatari. Qualsiasi suo utilizzo, comunicazione o diffusione non autorizzata&lt;br&gt;e&amp;#39; proibita. Se ha ricevuto questa comunicazione per errore, la preghiamo di darne &lt;br&gt; immediata comunicazione al mittente e di cancellare tutte le informazioni&lt;br&gt;erroneamente acquisite. (Rif. D.Lgs. 196/2003). Grazie&lt;br&gt;&lt;br&gt;This message and its attachments are intended only for use by the addressees. Any use, &lt;br&gt; re-transmission or dissemination not authorized of it is prohibited. If you received &lt;br&gt;this e-mail in error, please inform the sender immediately and delete all the material. &lt;br&gt;(Rif. D.Lgs. 196/2003). Thank you. &lt;br&gt;&lt;/div&gt; &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4978040473563190878?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4978040473563190878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4978040473563190878&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4978040473563190878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4978040473563190878'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/problem-withe-memcached-inside-handler.html' title='Problem withe memcached inside the handler'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5017826473705497107</id><published>2012-01-18T14:17:00.000-08:00</published><updated>2012-01-18T14:18:01.188-08:00</updated><title type='text'>Re: preloading modules and apache::dbi</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"&gt;&lt;div&gt;&lt;span&gt;Hi Mike,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;I believe the answer is that each http process will have its own handle.&amp;nbsp; At least that's what it appears to be when I view the handles via http://hostname/perl-status.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Hope you enjoy mod_perl.&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Best regards,&lt;br&gt;- -&lt;br&gt;Brett Lee&lt;br&gt;Encrypt your data with PDS - http://crypto.brettlee.com/&lt;br&gt;&lt;blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"&gt;  &lt;div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt; &lt;div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"&gt; &lt;div dir="ltr"&gt; &lt;font face="Arial" size="2"&gt; &lt;hr size="1"&gt;  &lt;b&gt;&lt;span style="font-weight: bold;"&gt;From:&lt;/span&gt;&lt;/b&gt; mike  cardeiro &amp;lt;mcardeiro@yahoo.com&amp;gt;&lt;br&gt; &lt;b&gt;&lt;span style="font-weight: bold;"&gt;To:&lt;/span&gt;&lt;/b&gt; modper &amp;lt;modperl@perl.apache.org&amp;gt; &lt;br&gt; &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Sent:&lt;/span&gt;&lt;/b&gt; Wednesday, January 18, 2012 10:08 PM&lt;br&gt; &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Subject:&lt;/span&gt;&lt;/b&gt; preloading modules and apache::dbi&lt;br&gt; &lt;/font&gt; &lt;/div&gt; &lt;br&gt; &lt;div id="yiv774707317"&gt;&lt;div&gt;&lt;div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: times new roman,new york,times,serif; font-size: 12pt;"&gt;&lt;div&gt;Hi,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I am totally new to mod perl (after 13+ years of building web applications on shared servers I now am developing on a dedicated box woo-hoo)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have installed apache::dbi and set it to preload in the apache config file.&amp;nbsp; Here is what I think my problem might be.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have a library I want to preload.&amp;nbsp; This library makes a database connection and assigns it to a variable that is exported so all programs can use this handle.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;will this global handle db handle be a single handle amongst all apache processes, or will each process load this library on its own thus having a unique db handle for each httpd process?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;sorry if this is  incoherent.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Mike  Cardeiro&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;/div&gt; &lt;/div&gt; &lt;/blockquote&gt;&lt;/div&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5017826473705497107?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5017826473705497107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5017826473705497107&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5017826473705497107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5017826473705497107'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-preloading-modules-and-apachedbi.html' title='Re: preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1523780204188843440</id><published>2012-01-18T14:08:00.001-08:00</published><updated>2012-01-18T14:08:58.514-08:00</updated><title type='text'>preloading modules and apache::dbi</title><content type='html'>&lt;div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"&gt;&lt;div&gt;Hi,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I am totally new to mod perl (after 13+ years of building web applications on shared servers I now am developing on a dedicated box woo-hoo)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have installed apache::dbi and set it to preload in the apache config file.&amp;nbsp; Here is what I think my problem might be.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I have a library I want to preload.&amp;nbsp; This library makes a database connection and assigns it to a variable that is exported so all programs can use this handle.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;will this global handle db handle be a single handle amongst all apache processes, or will each process load this library on its own thus having a unique db handle for each httpd process?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;sorry if this is incoherent.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Mike  Cardeiro&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1523780204188843440?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1523780204188843440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1523780204188843440&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1523780204188843440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1523780204188843440'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/preloading-modules-and-apachedbi.html' title='preloading modules and apache::dbi'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-2194653536436448766</id><published>2012-01-17T10:41:00.000-08:00</published><updated>2012-01-17T10:42:17.157-08:00</updated><title type='text'>Re: Problem with long http request generation time - process restarting</title><content type='html'>On Fri, Dec 16, 2011 at 1:20 PM, Randolf Richardson &amp;lt;&lt;a href="mailto:randolf@modperl.pl"&gt;randolf@modperl.pl&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160;I&amp;#39;ve been using DBI in threaded Perl environments for many years,&lt;br&gt;&amp;gt; and it works just fine for me. &amp;#160;I used Oracle 8i in the past on&lt;br&gt;&amp;gt; NetWare (with ModPerl 1 in a threaded environment because the NetWare&lt;br&gt;&amp;gt; OS is a thread-based architecture and Apache HTTPd and ModPerl were&lt;br&gt;&amp;gt; both compiled accordingly), but I switched to PostgreSQL many years&lt;br&gt;&amp;gt; ago so I&amp;#39;m not up-to-date with the more recent Oracle DBD issues...&lt;p&gt;I can&amp;#39;t really suggest anything for the main question on this thread,&lt;br&gt;but I wanted to mention that mod_perl 1 only supported a single&lt;br&gt;thread, i.e. running on Windows means running one thread that all&lt;br&gt;requests had to line up for.  By contrast, mod_perl 2 runs multiple&lt;br&gt;threads so it may bring threading issues in CPAN libraries to light&lt;br&gt;where they didn&amp;#39;t show up in mod_perl 1.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-2194653536436448766?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/2194653536436448766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=2194653536436448766&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2194653536436448766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/2194653536436448766'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-problem-with-long-http-request_17.html' title='Re: Problem with long http request generation time - process restarting'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3146304857589204879</id><published>2012-01-17T10:19:00.000-08:00</published><updated>2012-01-17T10:20:13.310-08:00</updated><title type='text'>Re: Cache::Memcached problem</title><content type='html'>On Tue, Jan 17, 2012 at 10:50 AM, Idel Fuschini &amp;lt;&lt;a href="mailto:idel.fuschini@gmail.com"&gt;idel.fuschini@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; No map found matching for GLOB(0x1ed02710) at&lt;br&gt;&amp;gt; /usr/lib/perl5/site_perl/5.8.8/Cache/Memcached.pm line 717.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; anybody know what could be ? I don&amp;#39;t find any documentation about that.&lt;p&gt;You&amp;#39;d probably be better off asking on the memcached mailing list,&lt;br&gt;since it&amp;#39;s an error from the Cache::Memcached module.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3146304857589204879?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3146304857589204879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3146304857589204879&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3146304857589204879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3146304857589204879'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-cachememcached-problem.html' title='Re: Cache::Memcached problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-5106937303391729174</id><published>2012-01-17T10:16:00.001-08:00</published><updated>2012-01-17T10:16:48.288-08:00</updated><title type='text'>Re: serve items in "lib" or "PATH" fashion</title><content type='html'>On Tue, Jan 17, 2012 at 10:02 AM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; But isn&amp;#39;t there an error in the examples shown ?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; RewriteCond &amp;#160; &amp;#160; &amp;#160; &amp;#160; /your/docroot/dir1/%{REQUEST_FILENAME} &amp;#160;-f&lt;br&gt;&amp;gt; RewriteRule &amp;#160;^(.+) &amp;#160;/your/docroot/dir1/$1 &amp;#160;[L]&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; If the original URL is e.g. &amp;quot;/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;, and I wanted to check&lt;br&gt;&amp;gt; the local directory &amp;quot;/cgi-local&amp;quot; first, then this would evaluate to&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; RewriteCond &amp;#160; &amp;#160; &amp;#160; &amp;#160; /my/docroot/cgi-local/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt; &amp;#160;-f&lt;br&gt;&amp;gt; but the &amp;quot;^(.+)&amp;quot; of the second line would evaluate to &amp;quot;/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;&lt;br&gt;&amp;gt; which would give a final URL of :&lt;br&gt;&amp;gt; &amp;quot;/my/docroot/cgi-local/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;&lt;br&gt;&amp;gt; which is probably not what I want.&lt;p&gt;It&amp;#39;s kind of out-of-scope for the mod_perl list, but I think&lt;br&gt;REQUEST_FILENAME is the whole path.  Check the docs.&lt;p&gt;Regardless of the details, you seem to grasp how to make it work using&lt;br&gt;a -f RewriteCond, so play around with it until you get what you want.&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-5106937303391729174?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/5106937303391729174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=5106937303391729174&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5106937303391729174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/5106937303391729174'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-serve-items-in-lib-or-path-fashion_8045.html' title='Re: serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1601102101597464262</id><published>2012-01-17T07:50:00.000-08:00</published><updated>2012-01-17T07:51:25.970-08:00</updated><title type='text'>Cache::Memcached problem</title><content type='html'>I&amp;#39;ve got this problem on RedHat in production server:&lt;br&gt;&lt;b&gt;&lt;br&gt;No map found matching for GLOB(0x1ed02710) at /usr/lib/perl5/site_perl/5.8.8/Cache/Memcached.pm line 717.&lt;/b&gt;&lt;br&gt;&lt;br&gt;anybody know what could be ? I don&amp;#39;t find any documentation about that.&lt;br&gt; &lt;br&gt;Thanks&lt;br&gt;&lt;br clear="all"&gt;&lt;div&gt;Idel&lt;br&gt;=====================&lt;br&gt;E-Mail: &lt;a href="mailto:idel.fuschini@gmail.com" target="_blank"&gt;idel.fuschini@gmail.com&lt;/a&gt;&lt;br&gt;Web Site: &lt;a href="http://www.idelfuschini.it" target="_blank"&gt;http://www.idelfuschini.it&lt;/a&gt;&lt;br&gt; AMF project:  &lt;a href="http://www.apachemobilefilter.org" target="_blank"&gt;http://www.apachemobilefilter.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;AMF wiki: Apache Mobile Filter - http:/&lt;a href="http://wiki.apachemobilefilter.org" target="_blank"&gt;wiki.apachemobilefilter.org&lt;/a&gt;&lt;br&gt; ------&lt;br&gt;La presente comunicazione ed i suoi allegati e&amp;#39; destinata esclusivamente  &lt;br&gt;ai destinatari. Qualsiasi suo utilizzo, comunicazione o diffusione non autorizzata&lt;br&gt;e&amp;#39; proibita. Se ha ricevuto questa comunicazione per errore, la preghiamo di darne &lt;br&gt; immediata comunicazione al mittente e di cancellare tutte le informazioni&lt;br&gt;erroneamente acquisite. (Rif. D.Lgs. 196/2003). Grazie&lt;br&gt;&lt;br&gt;This message and its attachments are intended only for use by the addressees. Any use, &lt;br&gt; re-transmission or dissemination not authorized of it is prohibited. If you received &lt;br&gt;this e-mail in error, please inform the sender immediately and delete all the material. &lt;br&gt;(Rif. D.Lgs. 196/2003). Thank you. &lt;br&gt;&lt;/div&gt; &lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1601102101597464262?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1601102101597464262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1601102101597464262&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1601102101597464262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1601102101597464262'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/cachememcached-problem.html' title='Cache::Memcached problem'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-3436707528855297579</id><published>2012-01-17T07:02:00.000-08:00</published><updated>2012-01-17T07:03:07.008-08:00</updated><title type='text'>Re: serve items in "lib" or "PATH" fashion</title><content type='html'>Perrin Harkins wrote:&lt;br&gt;&amp;gt; On Tue, Jan 17, 2012 at 4:31 AM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; E.g. I would be happy if I could write this in the Apache configuration :&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; ScriptAlias /cgi-bin/ /var/www/site1/cgi-bin/;/var/www/global/cgi-bin/&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; and have Apache look first in the local one, then in the global one each&lt;br&gt;&amp;gt;&amp;gt; time it is looking for a given script.  And similarly for other documents&lt;br&gt;&amp;gt;&amp;gt; like javascript libraries.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Use mod_rewrite.  See &amp;quot;Search pages in more than one directory&amp;quot;:&lt;br&gt;&amp;gt; &lt;a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html"&gt;http://httpd.apache.org/docs/2.0/misc/rewriteguide.html&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;Thanks, Perrin.&lt;br&gt;I didn&amp;#39;t know mod_rewrite could to do that.&lt;p&gt;But isn&amp;#39;t there an error in the examples shown ?&lt;p&gt;RewriteCond         /your/docroot/dir1/%{REQUEST_FILENAME}  -f&lt;br&gt;RewriteRule  ^(.+)  /your/docroot/dir1/$1  [L]&lt;p&gt;If the original URL is e.g. &amp;quot;/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;, and I wanted to check the local &lt;br&gt;directory &amp;quot;/cgi-local&amp;quot; first, then this would evaluate to&lt;p&gt;RewriteCond         /my/docroot/cgi-local/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;  -f&lt;br&gt;but the &amp;quot;^(.+)&amp;quot; of the second line would evaluate to &amp;quot;/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;&lt;br&gt;which would give a final URL of : &amp;quot;/my/docroot/cgi-local/cgi-bin/&lt;a href="http://myscript.pl"&gt;myscript.pl&lt;/a&gt;&amp;quot;&lt;br&gt;which is probably not what I want.&lt;p&gt;Instead, should the example rule not be something like :&lt;p&gt;RewriteRule  ^.*$  /dir1/%{REQUEST_FILENAME}  [L]&lt;p&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-3436707528855297579?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/3436707528855297579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=3436707528855297579&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3436707528855297579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/3436707528855297579'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-serve-items-in-lib-or-path-fashion_4464.html' title='Re: serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1232974165846030255</id><published>2012-01-17T06:20:00.000-08:00</published><updated>2012-01-17T06:21:28.741-08:00</updated><title type='text'>Re: serve items in "lib" or "PATH" fashion</title><content type='html'>On Tue, Jan 17, 2012 at 4:31 AM, Andr&amp;#233; Warnier &amp;lt;&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; E.g. I would be happy if I could write this in the Apache configuration :&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; ScriptAlias /cgi-bin/ /var/www/site1/cgi-bin/;/var/www/global/cgi-bin/&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; and have Apache look first in the local one, then in the global one each&lt;br&gt;&amp;gt; time it is looking for a given script. &amp;#160;And similarly for other documents&lt;br&gt;&amp;gt; like javascript libraries.&lt;p&gt;Use mod_rewrite.  See &amp;quot;Search pages in more than one directory&amp;quot;:&lt;br&gt;&lt;a href="http://httpd.apache.org/docs/2.0/misc/rewriteguide.html"&gt;http://httpd.apache.org/docs/2.0/misc/rewriteguide.html&lt;/a&gt;&lt;p&gt;- Perrin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1232974165846030255?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1232974165846030255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1232974165846030255&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1232974165846030255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1232974165846030255'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-serve-items-in-lib-or-path-fashion_2563.html' title='Re: serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-711173848509323696</id><published>2012-01-17T06:07:00.000-08:00</published><updated>2012-01-17T06:08:25.349-08:00</updated><title type='text'>Re: serve items in "lib" or "PATH" fashion</title><content type='html'>Josh Narins wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Josh Narins&lt;br&gt;&amp;gt; Director of Application Development&lt;br&gt;&amp;gt; SeniorBridge&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; 845 Third Ave&lt;br&gt;&amp;gt; 7th Floor&lt;br&gt;&amp;gt; New York, NY 10022&lt;br&gt;&amp;gt; Tel: (212) 994-6194&lt;br&gt;&amp;gt; Mobile: (917) 488-6248&lt;br&gt;&amp;gt; Fax: (212) 994-4260&lt;br&gt;&amp;gt; &lt;a href="mailto:jnarins@seniorbridge.com"&gt;jnarins@seniorbridge.com&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; SeniorBridge&lt;br&gt;&amp;gt; Managing Complex Chronic Care&lt;br&gt;&amp;gt; &lt;a href="http://www.seniorbridge.com"&gt;http://www.seniorbridge.com&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; SeniorBridge Statement of Confidentiality: The contents of this email message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. Any dissemination, distribution or copying of this email by an unintended or mistaken recipient is strictly prohibited. In said event, kindly reply to the sender and destroy all entries of this message and any attachments from your system. Thank you.-----Original Message-----&lt;br&gt;&amp;gt;&amp;gt; From: Andr&amp;#233; Warnier [mailto:&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;]&lt;br&gt;&amp;gt;&amp;gt; Sent: Tuesday, January 17, 2012 4:32 AM&lt;br&gt;&amp;gt;&amp;gt; To: mod_perl list&lt;br&gt;&amp;gt;&amp;gt; Subject: serve items in &amp;quot;lib&amp;quot; or &amp;quot;PATH&amp;quot; fashion&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; [snip]&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; I have already searched, but as I do not know exactly which terms to&lt;br&gt;&amp;gt;&amp;gt; use for such a&lt;br&gt;&amp;gt;&amp;gt; search, I have not found anything yet.&lt;br&gt;&amp;gt;&amp;gt; I&amp;#39;ll write my own PerlFixupHandler or so to do this if I have to, but&lt;br&gt;&amp;gt;&amp;gt; if it already&lt;br&gt;&amp;gt;&amp;gt; exists, I would not bother.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Not sure if there is a pre-made answer already for you, but you should handle the url -&amp;gt; file mapping with a PerlMapToStorageHandler.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; That way (among other things?) Authen/Authz/Access and MIME are working with the right stuff.&lt;p&gt;Thanks.  I wasn&amp;#39;t sure, and this will save me one bad iteration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-711173848509323696?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/711173848509323696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=711173848509323696&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/711173848509323696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/711173848509323696'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-serve-items-in-lib-or-path-fashion_17.html' title='Re: serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-6437655380510969937</id><published>2012-01-17T05:58:00.000-08:00</published><updated>2012-01-17T05:59:30.325-08:00</updated><title type='text'>RE: serve items in "lib" or "PATH" fashion</title><content type='html'>&amp;gt;&lt;br&gt;&lt;br&gt;Josh Narins&lt;br&gt;Director of Application Development&lt;br&gt;SeniorBridge&lt;br&gt;&lt;br&gt;845 Third Ave&lt;br&gt;7th Floor&lt;br&gt;New York, NY 10022&lt;br&gt;Tel: (212) 994-6194&lt;br&gt;Mobile: (917) 488-6248&lt;br&gt;Fax: (212) 994-4260&lt;br&gt;&lt;a href="mailto:jnarins@seniorbridge.com"&gt;jnarins@seniorbridge.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;SeniorBridge&lt;br&gt;Managing Complex Chronic Care&lt;br&gt;&lt;a href="http://www.seniorbridge.com"&gt;http://www.seniorbridge.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;SeniorBridge Statement of Confidentiality: The contents of this email message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. Any dissemination, distribution or copying of this email by an unintended or mistaken recipient is strictly prohibited. In said event, kindly reply to the sender and destroy all entries of this message and any attachments from your system. Thank you.-----Original Message-----&lt;br&gt;&amp;gt; From: Andr&amp;#233; Warnier [mailto:&lt;a href="mailto:aw@ice-sa.com"&gt;aw@ice-sa.com&lt;/a&gt;]&lt;br&gt;&amp;gt; Sent: Tuesday, January 17, 2012 4:32 AM&lt;br&gt;&amp;gt; To: mod_perl list&lt;br&gt;&amp;gt; Subject: serve items in &amp;quot;lib&amp;quot; or &amp;quot;PATH&amp;quot; fashion&lt;br&gt;&lt;br&gt;[snip]&lt;br&gt;&lt;br&gt;&amp;gt; I have already searched, but as I do not know exactly which terms to&lt;br&gt;&amp;gt; use for such a&lt;br&gt;&amp;gt; search, I have not found anything yet.&lt;br&gt;&amp;gt; I&amp;#39;ll write my own PerlFixupHandler or so to do this if I have to, but&lt;br&gt;&amp;gt; if it already&lt;br&gt;&amp;gt; exists, I would not bother.&lt;br&gt;&lt;br&gt;Not sure if there is a pre-made answer already for you, but you should handle the url -&amp;gt; file mapping with a PerlMapToStorageHandler.&lt;br&gt;&lt;br&gt;That way (among other things?) Authen/Authz/Access and MIME are working with the right stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-6437655380510969937?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/6437655380510969937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=6437655380510969937&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6437655380510969937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/6437655380510969937'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-serve-items-in-lib-or-path-fashion.html' title='RE: serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-1482553383192285772</id><published>2012-01-17T01:31:00.000-08:00</published><updated>2012-01-17T01:32:39.126-08:00</updated><title type='text'>serve items in "lib" or "PATH" fashion</title><content type='html'>Hi.&lt;p&gt;I run a series of mostly-identical websites under Apache2/mod_perl2 (and Template::Toolkit).&lt;br&gt;Most of the time, these websites use a common /js/*.js javascript snippets directory, a &lt;br&gt;common /cgi-bin/*.pl directory and so on. This is done via Alias&amp;#39;es in each website&amp;#39;s &lt;br&gt;&amp;lt;VirtualHost&amp;gt; configuration file, pointing to a common location.&lt;p&gt;However, once in a while - tending over time to become &amp;quot;quite often&amp;quot; - one of these &lt;br&gt;websites will need a modified version of for example one of these javascript snippets or &lt;br&gt;cgi-bin scripts.  At the moment, I solve that by giving this website, then, its own &lt;br&gt;/cgi-bin/ directory, copying *all* the standard cgi-bin scripts there, changing the &lt;br&gt;/cgi-bin/ Alias to point to this own cgi-bin directory, and then modifying the one cgi-bin &lt;br&gt;script that is special for that website.&lt;p&gt;But of course then I am stuck forever now with this separate cgi-bin directory to &lt;br&gt;maintain, containing not only the one script which is different, but all the others too.&lt;p&gt;I would much prefer if I could give each of these &amp;lt;VirtualHost&amp;gt; sections a list of &lt;br&gt;directories in which to look for a target document or script, much like the way in which &lt;br&gt;the PATH or PERL5LIB variables are used.&lt;p&gt;E.g. I would be happy if I could write this in the Apache configuration :&lt;p&gt;ScriptAlias /cgi-bin/ /var/www/site1/cgi-bin/;/var/www/global/cgi-bin/&lt;p&gt;and have Apache look first in the local one, then in the global one each time it is &lt;br&gt;looking for a given script.  And similarly for other documents like javascript libraries.&lt;p&gt;Now my question is : does anyone know of an Apache add-on module doing something similar ? &lt;br&gt;; does anyone know of an add-on mod_perl module which would do something of the kind ?&lt;p&gt;I have already searched, but as I do not know exactly which terms to use for such a &lt;br&gt;search, I have not found anything yet.&lt;br&gt;I&amp;#39;ll write my own PerlFixupHandler or so to do this if I have to, but if it already &lt;br&gt;exists, I would not bother.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-1482553383192285772?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/1482553383192285772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=1482553383192285772&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1482553383192285772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/1482553383192285772'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/serve-items-in-lib-or-path-fashion.html' title='serve items in &quot;lib&quot; or &quot;PATH&quot; fashion'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2729532248015856321.post-4198838219355339063</id><published>2012-01-16T14:38:00.000-08:00</published><updated>2012-01-16T14:39:15.499-08:00</updated><title type='text'>RE: Perl sections in Apache conf files</title><content type='html'>OK, figured out how to make the SetEnv bit work. Just set $ENV directly in the &amp;lt;Perl&amp;gt; section. Seems a bit inconsistent that you can&amp;#39;t push on @SetEnv as you would for other directives, but oh, well.&lt;p&gt;So now, I am trying to figure out how to do the equivalent of this in a Perl section:&lt;p&gt;---&lt;br&gt;&amp;lt;Directory &amp;quot;C:/Users/Desiletsa/Documents/eclipse_workspace/WeBiText/htdocs&amp;quot;&amp;gt;&lt;br&gt;  Order Deny,Allow&lt;br&gt;  Allow from all&lt;br&gt;&amp;lt;/Directory&amp;gt;&lt;br&gt;---&lt;p&gt;Here is what I tried;&lt;p&gt;---&lt;br&gt;&amp;lt;Perl&amp;gt;&lt;br&gt;	$Directory{&amp;quot;C:/Users/Desiletsa/Documents/eclipse_workspace/WeBiText/htdocs&amp;quot;} =&lt;br&gt;		{&lt;br&gt;			Order =&amp;gt; &amp;#39;Deny,Allow&amp;#39;,&lt;br&gt;			Allow =&amp;gt; &amp;#39;from,all&amp;#39;&lt;br&gt;		};&lt;br&gt;&amp;lt;/Perl&amp;gt;&lt;br&gt;---&lt;p&gt;But Apache does not start. What am I doing wrong here?&lt;p&gt;________________________________________&lt;br&gt;From: Desilets, Alain [&lt;a href="mailto:Alain.Desilets@nrc-cnrc.gc.ca"&gt;Alain.Desilets@nrc-cnrc.gc.ca&lt;/a&gt;]&lt;br&gt;Sent: Monday, January 16, 2012 4:36 PM&lt;br&gt;To: &lt;a href="mailto:modperl@perl.apache.org"&gt;modperl@perl.apache.org&lt;/a&gt;&lt;br&gt;Subject: Perl sections in Apache conf files&lt;p&gt;I am trying to use &amp;lt;Perl&amp;gt; sections in my Apache conf files, in order to automate management of my various installations on various servers.&lt;p&gt;Looking at this page:&lt;p&gt;&lt;a href="http://perl.apache.org/docs/2.0/api/Apache2/PerlSections.html#Configuration_Variables"&gt;http://perl.apache.org/docs/2.0/api/Apache2/PerlSections.html#Configuration_Variables&lt;/a&gt;&lt;p&gt;I gather that any directive that can be written in an Apache conf file, can also be written as a perl statement in a &amp;lt;Perl&amp;gt; section of the Apache conf file.&lt;p&gt;As I understand it, you do this by pushing the directives arguments to an array whose name is the same as the directive.&lt;p&gt;For example, if I want to write a Perl statement which does the equivalent of this:&lt;p&gt;---&lt;br&gt;SetEnv HELLO_WORLD &amp;quot;Salutation earthlings&amp;quot;&lt;br&gt;---&lt;p&gt;I would write this:&lt;p&gt;---&lt;br&gt;&amp;lt;Perl&amp;gt;&lt;br&gt;   push @SetEnv, &amp;quot;HELLO_WORLD&amp;quot;, &amp;quot;Salutation earthlings&amp;quot;;&lt;br&gt;&amp;lt;/Perl&amp;gt;&lt;br&gt;---&lt;p&gt;Is that correct?&lt;p&gt;I have tried this, but it does not seem to work. The reason I say this is that if I run a script that prints the environment:&lt;p&gt;--- print_env.cgi:&lt;br&gt;print &amp;quot;Content-type: text/plain\r\n\r\n&amp;quot;;&lt;p&gt;print &amp;quot;Environment variables are:\n&amp;quot;;&lt;br&gt;foreach my $a_key ( keys %ENV ) {&lt;br&gt;    print &amp;quot;$a_key:\t$ENV{$a_key}\n&amp;quot;;&lt;br&gt;}&lt;br&gt;--- end of print_env.cgi&lt;p&gt;I do see a HELLO_WORLD variable,  but it&amp;#39;s empty. I also see a Salutation variable (also empty), which I guess is what Apache did with the first word the value which I intended for HELLO_WORLD. There is no &amp;quot;earthlings&amp;quot; variable.&lt;p&gt;What am I doing wrong?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2729532248015856321-4198838219355339063?l=modperlist.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://modperlist.blogspot.com/feeds/4198838219355339063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2729532248015856321&amp;postID=4198838219355339063&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4198838219355339063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2729532248015856321/posts/default/4198838219355339063'/><link rel='alternate' type='text/html' href='http://modperlist.blogspot.com/2012/01/re-perl-sections-in-apache-conf-files.html' title='RE: Perl sections in Apache conf files'/><author><name>gegewan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
