RE: Bugs 5.6.0 modperl use?
We are running 5.6 on 2 production servers with mod_perl 1.23 and 1.24, Apache 1.3.12, Apache::DBI, DBD::Sybase (to MSSQL), and DBD::mysql. One box is Linux. The other is Solaris 2.7. So far no issues other than "depreciated" notices on some modules, and our own programming errors. Serving ~6M dynamic page views per month between the two boxes. They both seem quite stable now that our own bugs are ironed out... ;-) -Original Message- From: Jeff Stuart [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 12:37 AM To: Jim Winstead; Modperl Mailing List Cc: [EMAIL PROTECTED] Subject: RE: Bugs 5.6.0 modperl use? Ok, follow up question if I may. :) Are any of you using it with DBI and DBD::mysql? I see on the Mason list that people are using it with HTML::Mason so that module is safe. :) Looks like I'm gonna have to pull out that old Linux box and do a test on it. :) -- Jeff (FurBall) WebOverdrive Newbie Tech Board http://www.topniche.com/tech/ [EMAIL PROTECTED] -Original Message- From: Jim Winstead [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 25, 2000 10:46 PM To: Modperl Mailing List Subject: Re: Bugs 5.6.0 modperl use? On May 25, Jeff Stuart wrote: That's a GOOD question. Is there anyone at the moment using perl 5.6.0 in production? Is it ready for production yet? We have one site in production with it, and a number of others going into production soon. We've been using is exclusively in our development environment for all new development since shortly after 5.6.0 came out. It has been rock-solid for us. (The basic setup is Apache 1.3.12, mod_perl 1.24, perl 5.6.0, and FreeBSD 3.4.) Jim
Urgent : How do I redirect to multiple frames?
Hi all, How can one redirect HTML docs to different frames from WITHIN a single PERL script Example I have a perl script which generates 3 HTML code output for three frames. Now how can I specify that this HTML is for this frame Please suggest me. Thanks sadha ([EMAIL PROTECTED]) Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
RE: Wierd problem with redirect
Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
Re: Search for Apache::Safe
thanx, i will try with it. al ;-) REPLY- at 25.05.00 12:24 Doug MacEachern wrote: On Thu, 25 May 2000, Alexander Lazic wrote: hi, i search for the Apache::Safe Module which isnĀ“t in mod_perl-1.24 included. it doesn't exist. i had written a version once, but wasn't happy with it. there is an experimental PerlOpmask directive that was added to mod_perl in 1.15_01 (see Changes 9/98), but i haven't looked at since. this directive is intended to mask op codes (e.g. system, backticks) and skips the namespace protection that Safe.pm attempts to provide, that simply cause too much trouble when trying to implement Apache::Safe. END REPLY-
Re: High-volume mod_perl based ecommerce sites?
On Thu, 25 May 2000, Jason Bodnar wrote: Definitely read the perltoot (Tom's OO Tutorial). I've heard alot of good things about Damian Conway's OO Perl book but I haven't read it myself. Damian's book is the book to end all perl books in my opinion - I wouldn't dream of hiring anyone who hasn't read it yet. -- Matt/ Fastnet Software Ltd. High Performance Web Specialists Providing mod_perl, XML, Sybase and Oracle solutions Email for training and consultancy availability. http://sergeant.org http://xml.sergeant.org
Re: Bugs 5.6.0 modperl use?
On Fri, May 26, 2000 at 01:36:33AM -0400, Jeff Stuart wrote: Ok, follow up question if I may. :) Are any of you using it with DBI and DBD::mysql? I see on the Mason list that people are using it with HTML::Mason so that module is safe. :) Looks like I'm gonna have to pull out that old Linux box and do a test on it. :) Using DBI, DBD:mysql, and perl 5.60 (compiled with -DUseThreads) here. Doug was kind enough to post a couple of patches for DBI and DBD:mysql to get them to compile (when using -DUseThreads). I wouldn't call it a production server though since its very low volume, but I haven't had any problems with it. You can search the archives for 'Subject: Re: mod_perl 2.x/perl 5.6.x ?' to find the patches or email me and I'll send them. -- He was so crooked you could use him to pull corks with. Mike Hall, Unix Admin - Rock Island Communications [EMAIL PROTECTED] System Admin - riverside.org[EMAIL PROTECTED]
URL rewriting logging
Hi, I'm trying to use Eagle book-like URL rewriting to track sessions and I'd like to log session id in the 'user' field (so Analog can do all kind of usefull stats about sessions). I hoped I could just set 'user' throught Apache::Connection's user method, but it seems to be read-only. Is there any simple way to make Apache log some knowN string (say $ENV{SESSION_id}) to the user field? Or do I have to write complete LogHandler for it? Thanks for your help. - Robert
Re: High-volume mod_perl based ecommerce sites?
Jason Bodnar [EMAIL PROTECTED] writes: Definitely read the perltoot (Tom's OO Tutorial). I've heard alot of good things about Damian Conway's OO Perl book but I haven't read it myself. The advanced perl programming book has a nice section on OO. But, learning OO in a Java or C++ context would probably be the best way to start. The Conway book is excellent. I've made several runs at C++ and Java at various times but I've never been involved in OO development that went beyond the the "toy" stage. This book taught me as much about how perl works as how to apply it to OO. That said, I've used the Conway book as the bible for my latest development and in terms of all the OO Good Things the book offered good examples and good code templates. Recommended. -- Dave Hodgkinson, http://www.hodgkinson.org Editor-in-chief, The Highway Star http://www.deep-purple.com Apache, mod_perl, MySQL, Sybase hired gun for, well, hire -
Re: URL rewriting logging
On Fri, May 26, 2000 at 09:55:12AM +0200, Robert wrote: I'm trying to use Eagle book-like URL rewriting to track sessions and I'd like to log session id in the 'user' field (so Analog can do all kind of usefull stats about sessions). I hoped I could just set 'user' throught Apache::Connection's user method, but it seems to be read-only. Is there any simple way to make Apache log some knowN string (say $ENV{SESSION_id}) to the user field? Or do I have to write complete LogHandler for it? Thanks for your help. I wrote a PerlTransHandler to allow access from a specific to a client when a certain header was presenet (and had the right information) for a project at where I work and for this I did set the "user" via Apache::Connection's user method. I have a mod_perl 1.19 reference card from http://www.refcards.com/ which states that the method is both read/writeable. I use it like this: my $c = $r-connection; $c-user("user"); and it shows up in the log like this: 195.24.22.201 - user [25/May/2000:15:50:16 +0200] "GET /index.html HTTP/1.0" 304 - -- Thomas Eibner
Job: mod_perl developer in London
The guys I've been working with for the last couple of weeks need a contractor to start moving their more heavily hit scripts to mod_perl. It's likely to be at least a three month gig, but they're looking for someone with real world mod_perl battlefield experience. Then some general code analysis and re-engineering. They're nice guys in nice offices in Farringdon. Plus there's a Fuller's pub right next door. Better than reasonable rates too. Mail me if you're interested... Dave -- Dave Hodgkinson, http://www.hodgkinson.org Editor-in-chief, The Highway Star http://www.deep-purple.com Apache, mod_perl, MySQL, Sybase hired gun for, well, hire -
Re: URL rewriting logging
On Fri, 26 May 2000, Robert wrote: Hi, I'm trying to use Eagle book-like URL rewriting to track sessions and I'd like to log session id in the 'user' field (so Analog can do all kind of usefull stats about sessions). I hoped I could just set 'user' throught Apache::Connection's user method, but it seems to be read-only. Is there any simple way to make Apache log some knowN string (say $ENV{SESSION_id}) to the user field? Or do I have to write complete LogHandler for it? Thanks for your help. $r-auth_name($username); -- Matt/ Fastnet Software Ltd. High Performance Web Specialists Providing mod_perl, XML, Sybase and Oracle solutions Email for training and consultancy availability. http://sergeant.org http://xml.sergeant.org
Re: URL rewriting logging
On Fri, 26 May 2000, Robert wrote: Hi, I'm trying to use Eagle book-like URL rewriting to track sessions and I'd like to log session id in the 'user' field (so Analog can do all kind of usefull stats about sessions). I hoped I could just set 'user' throught Apache::Connection's user method, but it seems to be read-only. Is there any simple way to make Apache log some knowN string (say $ENV{SESSION_id}) to the user field? Or do I have to write complete LogHandler for it? Thanks for your help. You can log anything in $r-notes with log_config using the %{}n notation. Say you put your session in $r-notes('SESSION' = $session). You would log it as %{SESSION}n This saved me from writing my own log handler. :-) -- -- Tom Mornini -- InfoMania Printing and Prepress
Cache control
I have written a handler for delivering select images for a particular class of URIs based upon a database item that the user sets in advance. This allows us to "skin" some HTML allowing the user to select their look of choice. The problem I have is that IE5 (and perhaps other browsers and versions) but NOT Netscape 4.x have absolutely no respect for cache-control. My code does this: $r-no_cache(1); # some code to calculate a date 10 years ago (!) goes here... $r-header_out( 'Expires' = "$day_text, $day $mon_text $year $hour:$min:$sec GMT" ); $r-send_http_header($subreq-content_type); And the HTTP headers via Lynx look like this: HTTP/1.0 200 OK Date: Fri, 26 May 2000 08:58:38 GMT Server: Apache/1.3.12 (Unix) mod_perl/1.23 Pragma: no-cache Cache-control: no-cache Expires: Tue, 29 May 1990 1:58:38 GMT Content-length: 1332 Content-Type: image/gif But IE5 still caches the damn things! Does anyone have a suggestion? Please note that I don't have the ability to modify the IMG SRC dynamically since the HTML resides on our customers' servers. -- -- Tom Mornini -- InfoMania Printing and Prepress
does mod_perl with USE_DSO=1 require perl built with -Duseshrplib ?
I have a number of apache servers on various hosts, not all of them are to be mod_perl enabled. So, I tried to build apache with mod_perl as a DSO in order to enable mod_perl via the httpd.conf file if needed. I tried building mod_perl-1.24 as a DSO for apache-1.3.14 on my Irix platform. Building went well, I got a libperl.so etc. However, the resulting httpd failed during make test, with a message about not being able to find PL_curpad when loading IO.so - similar to what is described in mod_perl_traps.pod. The unsatisfied symbol is in libperl.a. This looks like mod_perl as DSO *requires* perl to be built with -Duseshrplib . Is this correct? I like the improvements in mod_perl Makefile.PL which checks consistency between perl and apache regarding -D_LARGEFILE_SOURCE. If USE_DSO=1 requires a perl built with -Duseshrplib, perhaps mod_perl Makefile.PL could be modified to check this as well? --- benedict -- Benedict Lofstedt [EMAIL PROTECTED] University of Aarhus, Department of Computer Science Fax: + 45 8942 3255 Building 540, Ny Munkegade, DK-8000 Aarhus C, Denmark.Phone: + 45 8942 3222
Re: Error in running apache::asp, part 3
Hi there, On Thu, 25 May 2000, Ime Smits wrote: | [error] Undefined subroutine Apache::ASP::handler called. | what does it mean? | How to fix it? I think something went wrong during the Apache::ASP installation. Consider installing Apache::ASP once again with the cpan installer (possibly use force install) and examine the output very carefully for missing dependencies. My experience is that most of the time a single "install Apache::ASP" in cpan isn't sufficient and the installer doesn't seem te resolve all dependencies right automatically, so you have to do some things manually on a really clean system. And... don't forget to restart your mod_perl enhanced Apache after that. And make notes about what you do as you do it. If you find that there are any missing dependencies, post details to the List. I'm sure Joshua will be very grateful. 73, Ged.
Re: mod_perl 1.24 testing keeps failing
X-Authentication-Warning: mojo.covalent.net: dougm owned process doing -bs Date: Thu, 25 May 2000 13:21:04 -0700 (PDT) From: Doug MacEachern [EMAIL PROTECTED] To: Mark Murphy [EMAIL PROTECTED] cc: [EMAIL PROTECTED] Subject: Re: mod_perl 1.24 testing keeps failing MIME-Version: 1.0 On Thu, 25 May 2000, Mark Murphy wrote: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' those are the flags added when largefile support is enabled. try with a fresh source tree and run: sh Configure -des -Dcc=gcc -Ubincompat5005 -Uuselargefiles -des will use all defaults except those you override and you don't have to answer all those darn questions. Thanks, everything worked out much better then before once I reconfigured perl and then reinstalled apache, mod_ssl, and mod_perl. I have one more issue with the "make test" for mod_perl. The documentation indicates that SSL doesn't like /dev/null and that SSLDisable is set. Well, after changing /dev/null and making sure SSLDisable is set in the httpd.conf file, I was still getting an error with mod_ssl [Thu May 25 19:34:31 2000] [error] mod_ssl: Init: Failed to generate temporary 5 12 bit RSA private key I had to comment out the LoadModule for libssl in the test httpd.conf file. Once I did that I got results. During the "make test" for mod_perl I received 1 failure. cp t/conf/mod_perl_srm.conf t/conf/srm.conf ./apaci/load_modules.pl /usr/local/src/apache/1.3.12/apache_1.3.12/src /usr/local/src/apache/1.3.12/apache_1.3.12/src/httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t httpd listening on port 8529 will write error_log to: t/logs/error_log letting apache warm up...done /bin/perl t/TEST 0 still waiting for server to warm up.ok ok modules/actions.ok modules/cgi.ok modules/constants...ok modules/cookie..skipped test on this platform modules/fileok modules/httpdconf...ok modules/include.ok modules/log.ok modules/module..skipped test on this platform modules/perlrun.ok modules/psections...skipped test on this platform modules/request.skipped test on this platform modules/src.ok modules/ssi.FAILED before any test output arrived modules/stage...skipped test on this platform modules/status..ok modules/symbol..skipped test on this platform modules/uri.ok modules/utilok internal/apiok internal/auth...ok internal/croak..ok internal/dirmagic...ok internal/error..ok internal/headersok internal/hooks..ok internal/http-get...ok internal/http-post..ok internal/proxy..ok internal/redirect...ok internal/rwrite.ok internal/stackedok internal/table..ok internal/taint..ok Failed Test Status Wstat Total Fail Failed List of failed --- modules/ssi.t?? ?? % ?? 6 tests skipped. httpd terminated Failed 1/34 test scripts, 97.06% okay. 0/373 subtests failed, 100.00% okay. *** Error code 29 make: Fatal error: Command failed for target `run_tests' I'm happy I received a 97.06% ok, but I'm concerned that server side includes test failed. The error_log indicates the
RE: Cache control
The problem I have is that IE5 (and perhaps other browsers and versions) but NOT Netscape 4.x have absolutely no respect for cache-control. IE5 can be set up to ignore any cache directives and keep a document for either the duration of the session or forever. (Or reload it every single time or check if it should be reloaded...) This might be the cause of its respectlessness :-) -- Eric Jain
Re: High-volume mod_perl based ecommerce sites?
Jason Bodnar wrote: Probably the best way to learn good OO Perl is to learn Java or C++. As Gunther said, other languages are much more strict so they force you to write good OO stuff. I had been programming with Perl 4 before Java came out and had never done any OO stuff. I actually argued against OO with a friend. I tried to learn Perl OO but it didn't click. I taught myself Java since it was the cool thing to do and then went back to Perl OO. I think my Perl OO is better from knowing Java first. That is an interesting observation, but it makes perfect sense. I've been reading a bit here and there about Java, so I guess this is one more reason to finish "Thinking in Java". Definitely read the perltoot (Tom's OO Tutorial). I've heard alot of good things about Damian Conway's OO Perl book but I haven't read it myself. The advanced perl programming book has a nice section on OO. But, learning OO in a Java or C++ context would probably be the best way to start. I'll third Damian's book. It is clear, concise, and VERY informative. It has helped me (with no formal programming background) tremendously in learning OO Perl and OO in general. A Must Read IMHO. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
[OT] Re: Cache control
Tom Mornini wrote: I have written a handler for delivering select images for a particular class of URIs based upon a database item that the user sets in advance. This allows us to "skin" some HTML allowing the user to select their look of choice. The problem I have is that IE5 (and perhaps other browsers and versions) but NOT Netscape 4.x have absolutely no respect for cache-control. But IE5 still caches the damn things! Does anyone have a suggestion? Please note that I don't have the ability to modify the IMG SRC dynamically since the HTML resides on our customers' servers. I don't yet have a suggestion, but I have the same problem with IE. I'm building a web-based admin section, and IE keeps caching everything. One more reason to hate IE - on IE 5 Mac they changed the default resolution to 96 dpi (up from the std 72 dpi). So now all our style sheets for the mac side have to be tweaked, and I have a lot of code to rework to send the proper stylesheet! Microsoft seems to be very partial to standards - CSS1 is completely implemented in IE5 mac, but it still caches dynamic content! Anyway, sorry for the OT post. I just had to vent... :-) -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Cache control
In our experience the only thing that guarantees no cacheing is returning 302. Also appending a query string (even an empty one) to the redirect URI seems to make it even more solid. So in your script you would build up your destination URI, append '?foo=bar' to the end of it, and return it as a redirect. That way not even MSIE will cache it. HTH, Nick On Fri, 26 May 2000, Tom Mornini wrote: I have written a handler for delivering select images for a particular class of URIs based upon a database item that the user sets in advance. This allows us to "skin" some HTML allowing the user to select their look of choice. The problem I have is that IE5 (and perhaps other browsers and versions) but NOT Netscape 4.x have absolutely no respect for cache-control. My code does this: $r-no_cache(1); # some code to calculate a date 10 years ago (!) goes here... $r-header_out( 'Expires' = "$day_text, $day $mon_text $year $hour:$min:$sec GMT" ); $r-send_http_header($subreq-content_type); And the HTTP headers via Lynx look like this: HTTP/1.0 200 OK Date: Fri, 26 May 2000 08:58:38 GMT Server: Apache/1.3.12 (Unix) mod_perl/1.23 Pragma: no-cache Cache-control: no-cache Expires: Tue, 29 May 1990 1:58:38 GMT Content-length: 1332 Content-Type: image/gif But IE5 still caches the damn things! Does anyone have a suggestion? Please note that I don't have the ability to modify the IMG SRC dynamically since the HTML resides on our customers' servers. -- -- Tom Mornini -- InfoMania Printing and Prepress - nick
Apache::ASP doesn't initialize variables?
I've noticed something peculiar with Apache::ASP. It does not seem to be initializing variables to 0. That is, if I load one ASP webpage that sets a variable to X, then in the next ASP webpage the variable is initialized to X instead of 0. Is this intended behavior, or is it a bug? Also, I was wondering if there is a way to make Apache::ASP print more meaningful error messages when a compile error is encountered, instead of "500 Internal Server Error". Right now I have to look in my HTTP error log, which gives something like this: [Fri May 26 05:56:54 2000] [error] [asp] [31714] [error] Bad name after Arrest' at (eval 31) line 96. -- , /usr/lib/perl5/site_perl/5.005/Apache/ASP.pm line 1180 Bareword found where operator expected at (eval 20) line 96, near "'yuarrest/|You're" (Missing operator before re?) This also does not tell me the filename of the script that caused the problem, so sometimes I have to guess when my script uses #include file. It would be nice if Apache::ASP would display the error message right there on the webpage (a la IIS ASP). -Philip Mak ([EMAIL PROTECTED])
Re: High-volume mod_perl based ecommerce sites?
"Jason" == Jason Bodnar [EMAIL PROTECTED] writes: Jason Definitely read the perltoot (Tom's OO Tutorial). And don't forget "perlboot" in the 5.6 distribution, aimed more at the "I know some Perl but nothing about OO crowd". The approach I took in perlboot is the one that Damian would have taken had he seen it six months earlier, so he says. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 [EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
Re: High-volume mod_perl based ecommerce sites?
"Jason" == Jason Bodnar [EMAIL PROTECTED] writes: Jason Probably the best way to learn good OO Perl is to learn Java or C++. No. Gawd no. Java and C++ are "hybrid" OO languages, with some "real" objects and some "primitive" non-objects. You learn evil habits that way. (Of course, Perl is also a hybrid OO language, which occasionally upsets me, but not as much now that we have decent tie interfaces.) To learn OO, go to the granddaddy, Smalltalk. Get a free smalltalk for nearly every platform at www.squeak.org. *Everything* is an object, and open source and in a great IDE (essentially unchanged from 1980!!), and there's a big pile of literature of basic smalltalk intros both on the net and off. I've heard another good one is Eiffel, but I can't vouch for that personally. Or, I hesitate to say this here, but it's accurate: try Python. Decent object model... just an overly verbose syntax and that horrific "you must indent your code the way Guido wanted or Guido will make a visit to your house" indenting style. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 [EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
Re: High-volume mod_perl based ecommerce sites?
At 09:50 AM 5/26/00 -0400, Drew Taylor wrote: Jason Bodnar wrote: Probably the best way to learn good OO Perl is to learn Java or C++. As Gunther said, other languages are much more strict so they force you to write good OO stuff. I had been programming with Perl 4 before Java came out and had never done any OO stuff. I actually argued against OO with a friend. I tried to learn Perl OO but it didn't click. I taught myself Java since it was the cool thing to do and then went back to Perl OO. I think my Perl OO is better from knowing Java first. That is an interesting observation, but it makes perfect sense. I've been reading a bit here and there about Java, so I guess this is one more reason to finish "Thinking in Java". I would agree that Bruce's book (Thinking in Java) is excellent as it was developed as an open source text incorporating and evolving over a year of comments before being published. Definitely read the perltoot (Tom's OO Tutorial). I've heard alot of good things about Damian Conway's OO Perl book but I haven't read it myself. The advanced perl programming book has a nice section on OO. But, learning OO in a Java or C++ context would probably be the best way to start. I'll third Damian's book. It is clear, concise, and VERY informative. It has helped me (with no formal programming background) tremendously in learning OO Perl and OO in general. A Must Read IMHO. Wasn't going to respond, but I figured I would 2nd the Java one... So I guess I 4th the Damien Conway book as well. Later, Gunther __ Gunther Birznieks ([EMAIL PROTECTED]) Extropia - The Web Technology Company http://www.extropia.com/
Sending multiple cookies per request
I'm trying to set multiple cookies with $r-header_out('Set-Cookie' = $custCookie); I tried having 2 header_out calls with the Set-Cookie key, but then only the second one got set. Do I need to use Apache::Cookie? Is there a way to set multiple cookies ala CGI.pm? ( ie $self-{CGI}-header(-cookie = [$customerCookie,$lightboxCookie]); ) It's not a problem to add Apache::Cookie, but if I don't have to load it I won't. :-) TIA. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Sending multiple cookies per request
From the man pages of Apache $r-headers_out-add('Set-Cookie',$cookie); :)
Re: Sending multiple cookies per request
Thank you both for the quick response. I was just reading pg 443 which was telling me about the $r-headers_out reference to Apache::Table. [EMAIL PROTECTED] wrote: From the man pages of Apache $r-headers_out-add('Set-Cookie',$cookie); :) -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Wierd problem with redirect
Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. Thanks for the helps Vijay Nair - Original Message - From: "Gerald Richter" [EMAIL PROTECTED] To: "Vijay" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 3:05 AM Subject: RE: Wierd problem with redirect Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
RE: Sending multiple cookies per request
-Original Message- From: Drew Taylor [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 10:44 AM To: modperl Subject: Sending multiple cookies per request I'm trying to set multiple cookies with $r-header_out('Set-Cookie' = $custCookie); I tried having 2 header_out calls with the Set-Cookie key, use $r-headers_out-add insead note the s^ that should work ok HTH --Geoff but then only the second one got set. Do I need to use Apache::Cookie? Is there a way to set multiple cookies ala CGI.pm? ( ie $self-{CGI}-header(-cookie = [$customerCookie,$lightboxCookie]); ) It's not a problem to add Apache::Cookie, but if I don't have to load it I won't. :-) TIA. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Apache::GzipChain and scalability
I tried out Apache::GzipChain for dynamic mod_perl pages (using Apache::Registry), and it was great for reducing the download time (especially over modem). I am seriously thinking about using it for our production environment. However, some people are concerned about it using up too much resource. Has anyone looked into scalability issues? Would I see significant reduced throughput using GzipChain? Also why don't most sites gzip their pages (do redirect based on browser support)? ___ Why pay when you don't have to? Get AltaVista Free Internet Access now! http://jump.altavista.com/freeaccess4.go ___
Repost: Apache::GzipChain and scalability
I tried out Apache::GzipChain for dynamic mod_perl pages (using Apache::Registry), and it was great for reducing the download ime (especially over modem). I am seriously thinking about using it for our production environment. However, some people are concerned about it using up too much resource. Has anyone looked into scalability issues? Would I see significant reduced throughput using GzipChain? Also why don't most sites gzip their pages (do redirect based on browser support)? Thanks.
Re: Urgent : How do I redirect to multiple frames?
| Hi all, | | How can one redirect HTML docs to |different frames from WITHIN a single PERL script | | Example I have a perl script which generates 3 HTML code output for | three frames. Now how can I specify that this HTML is for this frame You can't. What I do is let my script generate a document with a frameset and dynamically generate querystrings for each frame src="somewhere?something" tag. Another approach is to just let your script generate just a htmlbody onLoad="alotofjavascript"/body/html, possibly in a 0-sized frame and let javascript load all the other frame contents. Ime
Problem with mod_perl
Hi all, Sorry if it is an incorrect list to ask... I have a strange problem with mod_perl. I've tested mod_perl using a very simple scripts (one of them is attached). The network load is emulated via LAN using a special proggy. The problem is: under load above 20 requests per second after working some time (about 15-30 sec) Apache daemon stopts accepting new connections and blocks forever (without -X option httpd at this moment begin forking until it eats all resources) . I've found that the problem exists only when scripts use modules (tested with CGI v 2.46, IPC::Shareable, our own modules). Test scripts without modules work fine even under load of 200 requests per second. I observed this on two machines, both under FreeBSD/i386 (3.3-RELEASE and 3.4-RELEASE, kernel options: maxusers 256, NMBCLUSTERS=4096). I've tried Apache v. 1.3.9 through 1.3.12, perl 5.005_03, mod_perl 1.22 and 1.24. Most Apache's config variables have default values, except that I added several lines which are nessesary for mod_perl scripts: Alias /scripts/ /usr/local/www/scripts/ Directory /usr/local/www/scripts SetHandler perl-script PerlHandler Apache::Registry PerlSendHeader On PerlModule CGI Options +ExecCGI /Directory -- Regards, Eugene. test2.ple
Re: Authentication implementation
James G Smith wrote: Sergey Ivanyuk [EMAIL PROTECTED] wrote: Hi All. I'm trying to implement a real simple authentication scheme, where the login page sets a cookie to the users's browser, and unless the cookie is set, any request beyond the login page gets redirected to login. I've tried the PerlTransHandler, but the cookies aren't available to the handler for some reason. How is something like this normally done? I thought I was on the right track, but apparently that doesn't seem to be right. Thanks in advance. I would suggest looking at some of the modules available on CPAN that do this -- Apache::AuthCookie, for example, which uses the Authentication and Authorization phases to do this. I can verify that AuthCookie works great. I had it running on one particular site in less than an hour. It was very easy to setup. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Probably for a general perl discussion
"MOORHOUSE," == MOORHOUSE, John NW Group Risk [EMAIL PROTECTED] writes: MOORHOUSE, Can anyone advice me of a good general perl mail list, The newsgroup comp.lang.perl.moderated works pretty well - subscribe via www.deja.com if you prefer not to fire up a Usenet newsreader. [this answer could have given privately, but I want the modperl archives to have the answer as well.] -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 [EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
[ANNOUNCE] Apache::Session 1.50 has been released
Greetings, I am pleased to announce that Apache::Session version 1.50 has been released. This is a major update from the previous version. Notable updates include: *Support for Postgres as a backing store *Support for Berkeley DB as a backing store *Support for serialization into ASCII instead of binary data *Pluggable ID generation policies and serialization schemes *Database backing stores can now use existing database connections *Apache::Session::Flex lets you choose modules at runtime *Full transactional consistency is now available with all backing stores Subtle incompatibilities: *Default IDs are now 32 characters instead of 16 *Apache::Session::DBI is gone, in favor of specific MySQL and Postgres modules. *Semaphores are no longer used by default on any platform. You can get the new module at http://www.cpan.org/modules/by-module/Apache/Apache-Session-1.50.tar.gz Best, Jeffrey
Re: High-volume mod_perl based ecommerce sites?
Well forcing you to write objects does not mean you know how to write good objects. With that said here is my very small cookbook: 1: know your tools, what they can and cannot do AND what they should and should not do. 2: when you get the problem try to understand it before you start the design 3: design before you code 4: code it the way you would want it done if you were getting someone else's code to fix 5: version control aka CVS 6: write code, write lots of code and get some peer review if possible 7: review your own code Most of the bad code I have seen and written is caused by a lack of self discipline on the part of the team( 1 or 100 people). Cutting corners always costs you time or if you do it right you do it once. Good luck marc - Original Message - From: Jason Bodnar [EMAIL PROTECTED] To: Neil Conway [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Thursday, May 25, 2000 11:28 PM Subject: Re: High-volume mod_perl based ecommerce sites? I'm probably a novice programmer, at least by the standards of most of the people on this list. I'm 16, and since I haven't taken Computer Science at university yet, I'm a bit lacking in 'formal programming education'. I'd rather not form bad habits - is there any advice anyone can give me on how to write, clean Perl (OO or otherwise)? Are there any good books I can pick up? Probably the best way to learn good OO Perl is to learn Java or C++. As Gunther said, other languages are much more strict so they force you to write good OO stuff. I had been programming with Perl 4 before Java came out and had never done any OO stuff. I actually argued against OO with a friend. I tried to learn Perl OO but it didn't click. I taught myself Java since it was the cool thing to do and then went back to Perl OO. I think my Perl OO is better from knowing Java first. Definitely read the perltoot (Tom's OO Tutorial). I've heard alot of good things about Damian Conway's OO Perl book but I haven't read it myself. The advanced perl programming book has a nice section on OO. But, learning OO in a Java or C++ context would probably be the best way to start. -- Jason Bodnar + Tivoli Systems = [EMAIL PROTECTED]
RE: Bugs 5.6.0 modperl use?
On Fri, 26 May 2000, Jeff Stuart wrote: Ok, follow up question if I may. :) Are any of you using it with DBI and DBD::mysql? I see on the Mason list that people are using it with HTML::Mason so that module is safe. :) Looks like I'm gonna have to pull Except that if you use the html error mode your traces will be hosed by a bug in the caller function. -dave (waiting for 5.6.1) /*== www.urth.org We await the New Sun ==*/
Re: High-volume mod_perl based ecommerce sites?
Randal L. Schwartz writes: [snip] Or, I hesitate to say this here, but it's accurate: try Python. Decent object model... just an overly verbose syntax and that horrific "you must indent your code the way Guido wanted or Guido will make a visit to your house" indenting style. What about Ruby? A pure OO language: http://www.ruby-lang.org Didn't try it yet. Quoting its creator (comp.lang.ruby): Here's the quote from my (yet unpublished) article. On the Python newsgroup, questions/requests/complains like the following have been repeated time to time. * I dislike code structuring by indentation. * Why Python has no "real" garbage collection? * Why there are two distinct data types, list and tuple? * Separating types and classes are annoying. Why all values are not class instances? * Why no method is available for numbers, tuples, strings? * Explicit conversion between small integers and long integer are annoying. * Maintaining reference count in the extensions is tiresome and error prone. All of these are already solved in Ruby. matz. -- Adriano
Books, was Re: High-volume mod_perl based ecommerce sites?
Neil Conway writes: I'm probably a novice programmer, at least by the standards of most of the people on this list. I'm 16, and since I haven't taken Computer Science at university yet, I'm a bit lacking in 'formal programming education'. I'd rather not form bad habits - is there any advice anyone can give me on how to write, clean Perl (OO or otherwise)? Are there any good books I can pick up? Maybe you should begin with some OO theory: * Object Oriented Software Construction, 2nd Edition by Bertrand Meyer * Design Patterns Gamma et al And this one is very nice also (good, readable programming): * Refactoring Martin Fowler, Editor Regards, -- Adriano
REPOST: Wierd problem with redirect
Reposting. - Original Message - From: "Vijay" [EMAIL PROTECTED] To: "Gerald Richter" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 10:58 AM Subject: Re: Wierd problem with redirect Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. Thanks for the helps Vijay Nair - Original Message - From: "Gerald Richter" [EMAIL PROTECTED] To: "Vijay" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 3:05 AM Subject: RE: Wierd problem with redirect Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
RE: ques on error msg
-Original Message- From: amy [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 1:51 PM To: [EMAIL PROTECTED] Subject: ques on error msg every now and then I got some error messages in the file /logs/error_log, but everything works fine. ## first error Use of uninitialized value at /usr/local/bin/apache/cgi-bin/lib.pl line 749. ## 721 $name = ''; are you running under Apache::Registry? If so, you should always use strict; and declare all variables with my (as you did below) you can also set PerlWarn On in httpd.conf to help troubleshoot errors like this 722 my $fieldname = $cursor-{NAME-[$i]; 723 $name = lc($fieldname); : 749 if ( $name eq 'eventnum' || $name eq 'debugnum' ) { -- is it true line 721 already initilialized it ? ## second error DBI::db=HASH(0x1ff304)-disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /usr/local/bin/apache/cgi-bin/lib.pl line 41. ## the error typically means that you are calling disconnect (or the script is ending) before calling $sth-finish. HTH --Geoff any comment Thank You.
Should I note any concerns?
I get the following on startup: Script started on Fri May 26 12:02:56 2000 doctor.nl2k.ab.ca//var/www/conf$ apachectl top stop /usr/contrib/bin/apachectl stop: httpd stopped doctor.nl2k.ab.ca//var/www/conf$ apachectl stop /usr/contrib/bin/apachectl stop: httpd (no pid file) not running doctor.nl2k.ab.ca//var/www/conf$ apachectl stop art defined(@array) is deprecated at /usr/contrib/lib/perl5/site_perl/5.6.0/Apache/DBI.pm line 135. (Maybe you should just omit the defined()?) /usr/contrib/bin/apachectl start: httpd started doctor.nl2k.ab.ca//var/www/conf$ exit exit Script done on Fri May 26 12:03:31 2000 Using Embedded Perl version v5.6.0 for Apache/1.3.12 BSDI BSD/OS 4.1 (Unix) mod_fastcgi/2.2.2 DAV/0.9.14 PHP/3.0.15 mod_perl/1.24 FrontPage/4.0.4.3 process 27405,
Re: [ANNOUNCE] Apache::Session 1.50 has been released
Does this new release mean I connot use Oracle as the backing store? -Bill I am pleased to announce that Apache::Session version 1.50 has been released. This is a major update from the previous version. Notable updates include: *Support for Postgres as a backing store *Support for Berkeley DB as a backing store *Support for serialization into ASCII instead of binary data *Pluggable ID generation policies and serialization schemes *Database backing stores can now use existing database connections *Apache::Session::Flex lets you choose modules at runtime *Full transactional consistency is now available with all backing stores Subtle incompatibilities: *Default IDs are now 32 characters instead of 16 *Apache::Session::DBI is gone, in favor of specific MySQL and Postgres modules. *Semaphores are no longer used by default on any platform. You can get the new module at http://www.cpan.org/modules/by-module/Apache/Apache-Session-1.50.tar.gz Best, Jeffrey -- *** * Never ascribe to malice that which is * * adequately explained by incompetence * *** begin:vcard n:Deegan;William tel;fax:650-413-1355 tel;work:650-598-3858 x-mozilla-html:FALSE url:http://www.iescrow.com org:iEscrow,Inc. version:2.1 email;internet:[EMAIL PROTECTED] title:Web Site Operations Manager adr;quoted-printable:;;2600 Bridge Parkway=0D=0ASuite 201;Redwood Shores;CA;94065; note;quoted-printable:Work:=0D=0Ahttp://www.iescrow.com=0D=0A=0D=0APersonal:=0D=0Ahttp://www.hitmyspot.com x-mozilla-cpt:;-19264 fn:William Deegan end:vcard
mod_perl, multiple virtual hosts, and DBI weirdness
Hello all... Having a wacky problem that I can't seem to figure out... (Apache-1.3.12, mod_perl-1.24, ApacheDBI-0.87) I have two NameVirtualHosts, we'll call them host1.foo.com and host2.foo.com, both running on the same IP on the same server. Both are similar sites, so I've moved a lot of code common to both sites into library files - there's a library for database access, utilities, ecommerce integration, etc Each library file defines its own package (although it is NOT object oriented). I also have site-wide configuration files for each site which also define their own package. Now, here's my problem... host1.foo.com was developed first... it runs fine... I finished host2, and started testing it, and discovered that when both host1 and host2 are running, and users are hitting both sites, sometimes the configuration gets messed up. For example, I have a search page on each site with drop-down boxes for options. Host1 will sometimes display options for Host2, and vice-versa -- these options are being dynamically generated from the databases, so it looks like the scripts are sporadically using the wrong database handles. The file structure looks like this: host1/ perl-bin/ bunch of .cgi scripts that run under mod_perl config/ all of my .pl library files and a .rc config file doc/ host2/ perl2-bin/ bunch of .cgi scripts that have the same names (but are different) than those in host1 config2/ all of the .pl files (exactly the same files as in host1 - I had actually symlinked them at one point) plus a different .rc file doc/ The package names in the library files are the same across both sites... there's package dbAccess, cgiUtil, etc site.rc declares package "site" for both sites, and contains database name, login info, and such... Anyway... I had thought that because the URIs are different, it wouldn't matter that the package names are the same from one site to another-- on host1, search.cgi has this: require "config1/site.rc"; require "config1/dbAccess.pl"; and on host2... require "config2/site.rc"; require "config2/dbAccess.pl"; ... But this doesn't seem to keep the server from sporadically crossing database handles... I hope I've explained this well enough that someone can figure out what I've got and help me fix it... Thanks... e. [EMAIL PROTECTED]
Re: Apache::GzipChain and scalability
Bruce Lo wrote: I tried out Apache::GzipChain for dynamic mod_perl pages (using Apache::Registry), and it was great for reducing the download time (especially over modem). I am seriously thinking about using it for our production environment. However, some people are concerned about it using up too much resource. Has anyone looked into scalability issues? Would I see significant reduced throughput using GzipChain? We've been gzipping for a while at eMerchandise.com (though not using gzip chain). We addressed this issue by making the gzip pass decide whether to just pass it through or to do the compression based on current CPU load on the server. So when you've got extra cycles you shrink the file to improve bandwidth utilization, if you're running near peak processor utilization you send the bytes raw. We've had no scaling problems. What kind of system load do your production server(s) see now? What is it during peak traffic periods? Also why don't most sites gzip their pages (do redirect based on browser support)? Because they're lazy or stupid? :) -- Devin Ben-Hur | President / CTO | mailto:[EMAIL PROTECTED] The eMarket Group | eMerchandise.com | http://www.eMerchandise.com 503/944-5044 x228 | "Forrester Research projects that by 2003, Internet start-ups will have focused so relentlessly on infrastructure that there will be no remaining actual content on the Web. " -- Salon.com 14-Apr-2000
Re: [ANNOUNCE] Apache::Session 1.50 has been released
On Fri, May 26, 2000 at 11:48:41AM -0700, Jeffrey W. Baker wrote: Doesn't 1.03 fail with truncated longs? If not, can you send me a description of your table? -jwb I was using Oracle for the DBIstore with the following table: SQL desc sessions NameNull?Type --- DATE_IN DATE ID VARCHAR2(16) LENGTH VARCHAR2(11) A_SESSIONLONG And I was using the foll. to make the connections: $self-{dbh} = DBI-connect($session-{args}-{DataSource}, $session-{args}-{UserName}, $session-{args}-{Password}, { RaiseError = 1, AutoCommit = 1, LongReadLen = $session-{args}-{LongReadLen} }) || die $DBI::errstr; Ajit
Apache::ASP
My Apache::ASP module doesn't seem to work. I have built Apache 1.3.12 with mod_perl enabled in static mode. All the necessary modules like Apache-Filter, Apache-SSI,Devel-Symdump have been installed. Copied the ./site/eg/ directory from the Apache::ASP installation to the Apache document tree (under htdocs directory). I have put 'Allow Override All' in the httpd.conf Directory config section.Also added the following to the httpd.conf file; Location /asp/ SetHandler PerlScript PerlHandler Apache::ASP PerlSetVar Global /tmp /Location When I try to run the sample asp applications from the eg directory, for example http://localhost/eg/application.asp I don't get any errors, but the asp part doesn't seem to work. Please advice as to what I should do for my asp to start ticking in my Apache server. regardsSridhar Balaramemail:[EMAIL PROTECTED]om
Re: Apache::GzipChain and scalability
Devin Ben-Hur wrote: Bruce Lo wrote: I tried out Apache::GzipChain for dynamic mod_perl pages (using Apache::Registry), and it was great for reducing the download time (especially over modem). I am seriously thinking about using it for our production environment. However, some people are concerned about it using up too much resource. Has anyone looked into scalability issues? Would I see significant reduced throughput using GzipChain? We've been gzipping for a while at eMerchandise.com (though not using gzip chain). We addressed this issue by making the gzip pass decide whether to just pass it through or to do the compression based on current CPU load on the server. So when you've got extra cycles you shrink the file to improve bandwidth utilization, if you're running near peak processor utilization you send the bytes raw. Devin, I have read debates in the past about which browsers will reliably accept gzip content. Do you have a list of such browsers? IIRC, it was IE that was the most troublesome w/ proper display. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: global variables and reparsing question (low priority ;)
On Fri, May 26, 2000 at 10:33:15AM -0400, Geoffrey Young [EMAIL PROTECTED] wrote: mod_perl sometimes requires special perl coding guidelines, due in part to the way mod_perl works with and within apache. I know this and I have no problems with that (as I made very clear in my last mail). But when mod_perl requires special programming techniques this does not mean that code not using that techniques is "broken anyway", as dougm said, at least not in perl. It might be "broken code", but then the language is not perl (where the problematic technique is documented to work in perltoot). For example, you shouldn't do things under Registry that are otherwise ok Exactly what I said. These things are otherwise ok, but mod_perl requires special treatment. mod_perl. that doesn't make mod_perl a dialect of perl, However, you can't claim that mod_perl _is_ perl and at the same time claim that perfectly valid perl code is broken. Either it's broken code in the mod_perl dialect or it's valid code not working due to environment constraints. actually, it makes perfect sense, if you think of it in apache/mod_perl I can understand why it happens, if you mean that. Wether it makes perfect sense is, unfortunately, not so clear to me. and, there's no reason to get real argumentative or defensive about any of this, Marc - we're all friends here, in modest persuit of the same things :) As I explained I was getting defensive simply because _not_ all are friends here. I am still defensive because calling somebody else's code broken should not be done so lightly. What happened, if you go back and read the thread, is that I had a question and had a very hard time explaining what I actually meant (because my initial mails were simply not verbose enough on the problem). Many responses (especially the private ones) were very aggressive, so "we are all friends" is a myth. Since this is my first contact with modperl, however, this just means that I wasn't able to adjust myself to the tone on (and around) the modperl mailinglist.. Next time I will simply ignore most of the responses. -- -==- | ==-- _ | ---==---(_)__ __ __ Marc Lehmann +-- --==---/ / _ \/ // /\ \/ / [EMAIL PROTECTED] |e| -=/_/_//_/\_,_/ /_/\_\ XX11-RIPE --+ The choice of a GNU generation | |
Apache::Session::Pg blob support?
Hello there... I was wondering, with the new Pg-specific support you've got going with Apache::Session, does it handle Pg blobs transparently? The regular limit on the size of a tuple in Pg is 8k, which can be a problem if I'm trying to put more than that into my Apache::Session tied hash. (Yes, I do that sometimes. It's a handy place to hide stuff, those sessions...) If that's not part of the new release, probably me and/or another guy I'm working with is going to code that up. We talked about it a few days ago but wanted to wait until the new release to see what the status of this would be. Cheers, Richard Richard Dice * Personal 514 816 9568 * Fax 514 816 9569 ShadNet Creator * http://shadnet.shad.ca/ * [EMAIL PROTECTED] Occasional Writer, HotWired * http://www.hotwired.com/webmonkey/ "squeeze the world 'til it's small enough to join us heel to toe" - jesus jones
Re: Problem compiling mod_perl 1.24 on Solaris 2.6
Doug MacEachern wrote: On Wed, 24 May 2000, Fred Miller wrote: Like I said, I'm a bit naive in these matters. I didn't specify using gcc or cc. I used the same path to compile Perl, Apache, and Mod_Perl. When I aaksed which gcc and which cc, my machine does report gcc appearing in my path ahead of cc. Could that be the problem? i could try re-building Perl like so: % ./Configure -des -Dcc=gcc make test make install that is, go with all the defaults, but force Perl to use gcc. Thank you very much. Sorry for being such a newbie. I rebuilt Perl with gcc, and then was able to get a build of Apache with mod_perl. Now to try and make this puppy learn a few tricks... I appreciate your help and patience. Best regards, Fred Miller -- [EMAIL PROTECTED] http://titan.iwu.edu/~fmiller/
RE: mod_perl, multiple virtual hosts, and DBI weirdness
you should be able to debug this pretty well by doing some or all of the following: set $Apache::DBI::DEBUG=2 in startup.pl set PerlWarn On in httpd.conf use strict; run in httpd -X see http://perl.apache.org/guide/porting.html#Sometimes_it_Works_Sometimes_it HTH --Geoff -Original Message- From: ? [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 2:12 PM To: [EMAIL PROTECTED] Subject: mod_perl, multiple virtual hosts, and DBI weirdness Hello all... Having a wacky problem that I can't seem to figure out... (Apache-1.3.12, mod_perl-1.24, ApacheDBI-0.87) I have two NameVirtualHosts, we'll call them host1.foo.com and host2.foo.com, both running on the same IP on the same server. Both are similar sites, so I've moved a lot of code common to both sites into library files - there's a library for database access, utilities, ecommerce integration, etc Each library file defines its own package (although it is NOT object oriented). I also have site-wide configuration files for each site which also define their own package. Now, here's my problem... host1.foo.com was developed first... it runs fine... I finished host2, and started testing it, and discovered that when both host1 and host2 are running, and users are hitting both sites, sometimes the configuration gets messed up. For example, I have a search page on each site with drop-down boxes for options. Host1 will sometimes display options for Host2, and vice-versa -- these options are being dynamically generated from the databases, so it looks like the scripts are sporadically using the wrong database handles. The file structure looks like this: host1/ perl-bin/ bunch of .cgi scripts that run under mod_perl config/ all of my .pl library files and a .rc config file doc/ host2/ perl2-bin/ bunch of .cgi scripts that have the same names (but are different) than those in host1 config2/ all of the .pl files (exactly the same files as in host1 - I had actually symlinked them at one point) plus a different .rc file doc/ The package names in the library files are the same across both sites... there's package dbAccess, cgiUtil, etc site.rc declares package "site" for both sites, and contains database name, login info, and such... Anyway... I had thought that because the URIs are different, it wouldn't matter that the package names are the same from one site to another-- on host1, search.cgi has this: require "config1/site.rc"; require "config1/dbAccess.pl"; . and on host2... require "config2/site.rc"; require "config2/dbAccess.pl"; But this doesn't seem to keep the server from sporadically crossing database handles... I hope I've explained this well enough that someone can figure out what I've got and help me fix it... Thanks... e. [EMAIL PROTECTED]
Re: Apache::Session::Pg blob support?
On Fri, 26 May 2000, Richard Dice wrote: Hello there... I was wondering, with the new Pg-specific support you've got going with Apache::Session, does it handle Pg blobs transparently? The regular limit on the size of a tuple in Pg is 8k, which can be a problem if I'm trying to put more than that into my Apache::Session tied hash. (Yes, I do that sometimes. It's a handy place to hide stuff, those sessions...) If that's not part of the new release, probably me and/or another guy I'm working with is going to code that up. We talked about it a few days ago but wanted to wait until the new release to see what the status of this would be. Yes it would be great to break the 8K (actually slightly less) limit, if it doesn't hamper performance too much. I read the docs on the Postgres web site, but I didn't find anything interesting about blob support. I would welcome a patch. Are you trying to stuff GIFs into the session hash? ;) Regards, Jeffrey
Re: Apache::GzipChain and scalability
"Drew" == Drew Taylor [EMAIL PROTECTED] writes: Drew I have read debates in the past about which browsers will reliably Drew accept gzip content. Do you have a list of such browsers? IIRC, it was Drew IE that was the most troublesome w/ proper display. Why base it on browser? Won't checking the request "accept:" for /gzip/ be enough? Then the browser can tell you whether it works or not, and you can just have an exceptions list for those that lie. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 [EMAIL PROTECTED] URL:http://www.stonehenge.com/merlyn/ Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
[OT] Tone on this list
I've been lurking on this list for a long time, learning tons, implementing some things on my own, helping out as I can (which isn't much). I feel like I know all the frequent posters on the list by now. It's funny how that happens, but I can recognize each person's "tone," like a familiar co-worker. I really enjoy the friendly atmosphere, and how much help and information flows here. Now and then, someone new posts, and sometimes s/he gets off on the wrong foot. One problem is the medium. I know I've made the mistake in the past (hopefully not on this list) of being too passionate in my phrasing, and it can be very easily misinterpreted, smilies notwithstanding. All in all, I'm proud of this list's tone. As always, when a problem is laid before others, it's necessary to work through the chaff in order to convince everyone that it isn't some problem we've seen before, or some issue we've beaten to death. Until we establish some independent credibility here, we are likely to get a number of answers that aren't correct, and maybe even a bunch of blow-off answers that are way off-base. But this list always gets to an answer eventually, and that's what's great about it. I'm sorry that Marc Lehmann got some private answers that annoyed him. As someone posted recently, maybe one solution is to keep substantive dialogue on the list, and then we can make sure not only that our discussion is moderated properly, but that others can share the information.
Re: Apache::GzipChain and scalability
"Randal L. Schwartz" wrote: "Drew" == Drew Taylor [EMAIL PROTECTED] writes: Drew I have read debates in the past about which browsers will reliably Drew accept gzip content. Do you have a list of such browsers? IIRC, it was Drew IE that was the most troublesome w/ proper display. Why base it on browser? Won't checking the request "accept:" for /gzip/ be enough? Then the browser can tell you whether it works or not, and you can just have an exceptions list for those that lie. Well, in the discussion I was following, it seemed that the browsers didn't always do what they said. IE seemed to be the usual culprit. ;-) I probably won't be using compression any time soon as most of my bandwidth comes from images. But it's good to know that it does work pretty reliably. -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Apache::Session::Pg blob support?
On Fri, May 26, 2000 at 12:25:39PM -0700, Jeffrey W. Baker wrote: Yes it would be great to break the 8K (actually slightly less) limit, if it doesn't hamper performance too much. I read the docs on the Postgres web site, but I didn't find anything interesting about blob support. I'm working on such a package. I will send it to you when I have it working to my liking :). Mike
Re: Wierd problem with redirect
Repost of my earlier message. Sorry for the inconvenience. As this is very irksome, I am really sorry for any troubles. Vijay - Original Message - From: "Vijay" [EMAIL PROTECTED] To: "Gerald Richter" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 10:58 AM Subject: Re: Wierd problem with redirect Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. Thanks for the help Vijay Nair - Original Message - From: "Gerald Richter" [EMAIL PROTECTED] To: "Vijay" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 3:05 AM Subject: RE: Wierd problem with redirect Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
Re: Wierd problem with redirect
Vijay wrote: Repost of my earlier message. Sorry for the inconvenience. As this is very irksome, I am really sorry for any troubles. Vijay - Original Message - From: "Vijay" [EMAIL PROTECTED] To: "Gerald Richter" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 10:58 AM Subject: Re: Wierd problem with redirect Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. You might want to try adding a Status 302 (moved temporarily) header. I don't know if it would solve your problem, but it shouldn't hurt since it's already "broken" in your eyes. :-) -- Drew Taylor Vialogix Communications, Inc. 501 N. College Street Charlotte, NC 28202 704 370 0550 http://www.vialogix.com/
Re: Cache control
On Fri, 26 May 2000, Nick Tonkin wrote: In our experience the only thing that guarantees no cacheing is returning 302. Also appending a query string (even an empty one) to the redirect URI seems to make it even more solid. So in your script you would build up your destination URI, append '?foo=bar' to the end of it, and return it as a redirect. That way not even MSIE will cache it. Though you walk the Earth, you may indeed be a God! Thank you very much. I wish I would have thought of this myself. -- -- Tom Mornini -- InfoMania Printing and Prepress
Re: Weird problem with redirect
Hi, This solved my problem. Thanks everyone for your help. Vijay - Original Message - From: "Biggs, Jody" [EMAIL PROTECTED] To: "'Vijay'" [EMAIL PROTECTED] Cc: "Modperl Mailing List (E-mail)" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 4:59 PM Subject: RE: Weird problem with redirect Unless you specify an absolute URL for the Location header, Apache will do an internal redirect (i.e., it won't send a redirect to the browser, it will just recognize that you're trying to redirect them, and just transfer the request to the new page). so do: print "$mycookie\n"; print "Location: http://www.yourhost.com/scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n \n" by the way - when doing a 302 redirect, it is not necessary to do a Content-type header. - Jody Biggs -Original Message- From: Vijay [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 3:27 PM To: Gerald Richter; Modperl Mailing List Subject: Re: Wierd problem with redirect Repost of my earlier message. Sorry for the inconvenience. As this is very irksome, I am really sorry for any troubles. Vijay - Original Message - From: "Vijay" [EMAIL PROTECTED] To: "Gerald Richter" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 10:58 AM Subject: Re: Wierd problem with redirect Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. Thanks for the help Vijay Nair - Original Message - From: "Gerald Richter" [EMAIL PROTECTED] To: "Vijay" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 3:05 AM Subject: RE: Wierd problem with redirect Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
RE: Weird problem with redirect
Unless you specify an absolute URL for the Location header, Apache will do an internal redirect (i.e., it won't send a redirect to the browser, it will just recognize that you're trying to redirect them, and just transfer the request to the new page). so do: print "$mycookie\n"; print "Location: http://www.yourhost.com/scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n \n" by the way - when doing a 302 redirect, it is not necessary to do a Content-type header. - Jody Biggs -Original Message- From: Vijay [mailto:[EMAIL PROTECTED]] Sent: Friday, May 26, 2000 3:27 PM To: Gerald Richter; Modperl Mailing List Subject: Re: Wierd problem with redirect Repost of my earlier message. Sorry for the inconvenience. As this is very irksome, I am really sorry for any troubles. Vijay - Original Message - From: "Vijay" [EMAIL PROTECTED] To: "Gerald Richter" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 10:58 AM Subject: Re: Wierd problem with redirect Hello, Thanks for the suggestion. However, I have a problem still left out. The redirection is loading the redirected page properly. But, it still shows the URL as the same from where it is redirected. As below: My form calls the script "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". In visitorinfo,.cgi, I have following steps print "Content-type: text/html\n"; print "$mycookie\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit; It really goes to the page mailhdr with appropriate details. But the address in the browser is still "/scripts/visitorinfo.cgi?pageid=delmaillang=ENadno=1". This gives a problem. If the user reloads the page, it will again try to do what I am doing in this, which I don't want to happen. How do I make the address (URL) to change according to the page it is showing. Thanks for the help Vijay Nair - Original Message - From: "Gerald Richter" [EMAIL PROTECTED] To: "Vijay" [EMAIL PROTECTED]; "Modperl Mailing List" [EMAIL PROTECTED] Sent: Friday, May 26, 2000 3:05 AM Subject: RE: Wierd problem with redirect Hello, print "Content-type: text/html\n\n"; print "HTMLHEAD"; print "META HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"visirotid=$visitorid; path=/ ; domain=www.trichurgateway.com;\""; print "/HEADBODY/BODY/HTML\n"; Immediately after this, Iam trying the recirect. print "Content-type: text/html "."\n\n"; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; exit 0; You cannot send a second http header. Do a print "Content-type: text/html\n"; print "Set-Cookie: visirotid=$visitorid;... \n" ; print "Location: /scripts/visitorinfo.cgi?pageid=mailhdramp;lang=EN\n\n"; Gerald - Gerald Richterecos electronic communication services gmbh Internetconnect * Webserver/-design/-datenbanken * Consulting Post: Tulpenstrasse 5 D-55276 Dienheim b. Mainz E-Mail: [EMAIL PROTECTED] Voice:+49 6133 925151 WWW:http://www.ecos.de Fax: +49 6133 925152 -
Microsoft SQL 7.0 interface
Any body knows how to access Microsoft SQL/on NT from Apache on Linux ? Our data base is running on NT/SQL , but web server is running Apache/Linux Thanks, PC Wang
Re: ques on error msg
On Fri, 26 May 2000, amy wrote: ## second error DBI::db=HASH(0x1ff304)-disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at /usr/local/bin/apache/cgi-bin/lib.pl line 41. ## I avoid this type of error by pushing a cleanup handler to take care of it, like this: sub finisher { while ((my $key, my $sth) = each %{$dbh-{'CachedKids'}}) { $sth-finish(); } } I call finish on my statements explicitly when I can, but if something exits in an irregular way (i.e. before I was able to call finsih) this handler will take care of it. Maybe this should be folded into Apache::DBI, like the automatic rollback? - Perrin
OT: defined(@array) v. if(@array) WAS: Re: Should I note any concerns?
yes - i agree - but i think it is strict or strict vars, not strict subs or refs. Ed Phillips wrote: with the caveat that if(@array) will produce a warning under strict sub refs if as yet undefined. You may sometimes still want to use defined. comments? Ed ___cliff rayman___ wrote: you may want to see if there is a later Apache::DBI.pm. i did not look at the code but normally: if (defined(@array)) should be replaced by: if(@array) from perldoc -f defined Currently, using Cdefined() on an entire array or hash reports whether memory for that aggregate has ever been allocated. So an array you set to the empty list appears undefined initially, and one that once was full and that you then set to the empty list still appears defined. You should instead use a simple test for size: if (@an_array) { print "has array elements\n" } if (%a_hash) { print "has hash members\n" } -- ___cliff [EMAIL PROTECTED] The Doctor wrote: I get the following on startup: Script started on Fri May 26 12:02:56 2000 doctor.nl2k.ab.ca//var/www/conf$ apachectl top stop /usr/contrib/bin/apachectl stop: httpd stopped doctor.nl2k.ab.ca//var/www/conf$ apachectl stop /usr/contrib/bin/apachectl stop: httpd (no pid file) not running doctor.nl2k.ab.ca//var/www/conf$ apachectl stop art defined(@array) is deprecated at /usr/contrib/lib/perl5/site_perl/5.6.0/Apache/DBI.pm line 135. (Maybe you should just omit the defined()?) /usr/contrib/bin/apachectl start: httpd started doctor.nl2k.ab.ca//var/www/conf$ exit exit Script done on Fri May 26 12:03:31 2000 Using Embedded Perl version v5.6.0 for Apache/1.3.12 BSDI BSD/OS 4.1 (Unix) mod_fastcgi/2.2.2 DAV/0.9.14 PHP/3.0.15 mod_perl/1.24 FrontPage/4.0.4.3 process 27405, -- ___cliff [EMAIL PROTECTED] -- ___cliff [EMAIL PROTECTED]
[preview] Guide's new design
I've been working lately on releasing the new documentation build package. Among other new things creating the split guide version, to accomodate the search engines needs. Along the way I've improved the design a bit, you have seen a part of it at the beginning of the month, here is the second part. It includes the new search engine forms as well. Please tell if you experience any problems (especially the CSS on various browsers/platforms and broken fonts). Thanks. If everything is fine, please don't respond. Thanks! The new preview full version is at: http://www.stason.org/test/rel/ The split version is at: http://www.stason.org/test/split (it might take another 15m for ftp to complete the copying of 758 files... I'm going to sleep...) Don't link to these URLs, I'll delete them soon. It's just a preview. _ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide http://perl.apache.org/guide mailto:[EMAIL PROTECTED] http://perl.org http://stason.org/TULARC http://singlesheaven.com http://perlmonth.com http://sourcegarden.org
Re: [ANNOUNCE] Apache::Session 1.51
On Fri, 26 May 2000, Jeffrey W. Baker wrote: I have released Apache::Session 1.51. The addition of the Oracle backing store took less time than expected. It is included and tested in this release. This is the only change from 1.50. http://www.cpan.org/modules/by-module/Apache/Apache-Session-1.51.tar.gz This new stuff looks really good. This module has come a long way in the time I've been watching the list. A couple of notes on the Oracle storage module: - Using "FOR UPDATE" forces the transactional lock model. Is it possible to make this optional? The other modes allow the use of a "enforce data integrity only" locking style which is sometimes needed. I'm less worried about people overwriting their own session data than I am about stale locks, although I suppose Apache::DBI's cleanup handler should take care of them. - Oracle (the company) says not to use LONG anymore. They are trying to move everything to CLOB/BLOB. I modified my Apache::Session::DBI to support this, which mostly involved specifying "ora_type = ORA_BLOB" in my bind variable parameters. Maybe we need and Oracle8 module, separate from the standard one? By the way, BLOBs don't work with synonyms, so you have to specify the schema name in the SQL when using them. I know you were working on a BerkeleyDB storage module. Are you still working on it, or did you throw up your hands in disgust over the BerkeleyDB module? Although I don't have time right now, I could eventually work on this if you aren't already doing it. Finally, everybody loves benchmarks. Do you have any cool speed comparisons between the various storage and locking options? I'm sure the list would be very interested. Even better would be a little benhcmarking script that people could use on their own systems to do comparisons. - Perrin
Apache::ASP
My Apache::ASP module doesn't seem to work. I have built Apache 1.3.12 with mod_perl enabled in static mode. All the necessary modules like Apache-Filter, Apache-SSI,Devel-Symdump have been installed. Copied the ./site/eg/ directory from the Apache::ASP installation to the Apache document tree (under htdocs directory). I have put 'Allow Override All' in the httpd.conf Directory config section.Also added the following to the httpd.conf file; Location /asp/ SetHandler PerlScript PerlHandler Apache::ASP PerlSetVar Global /tmp /Location When I try to run the sample asp applications from the eg directory, for example http://localhost/eg/application.asp I don't get any errors, but the asp part doesn't seem to work. Please advice as to what I should do for my asp to start ticking in my Apache server. regards Sridhar Balaram email:[EMAIL PROTECTED] __ Do You Yahoo!? Kick off your party with Yahoo! Invites. http://invites.yahoo.com/
Re: global variables and reparsing question (low priority ;)
On Tue, May 23, 2000 at 10:05:01AM +0200, Marc Lehmann wrote: On Tue, May 23, 2000 at 12:56:28AM -0500, Autarch [EMAIL PROTECTED] wrote: On Tue, 23 May 2000, Marc Lehmann wrote: stable (mod_perl really is very unstable for large applications). Apart Wow, I wish you'd warned me before I did several large applications using mod_perl. Fortunately, they haven't experienced any mod_perl related Well, add XML::Parser, some large and twisted perl modules (like XML::XSLT), do a lot of things dynamically (recompiling etc..) and apache segfaults quite a lot, at random times, and even with some weird effects (adding a comment makes httpd segfault, removing it and it works again). Fortunately, once you found a source form where httpd starts up, mod_perl seems to run fine for a long time. Did you follow the thread about XML::Parser's bug WRT apache embedding? You need to change the configure arguments to apache if you want this to work... Dan /\ /\ | Daniel Jacobowitz|__|SCS Class of 2002 | | Debian GNU/Linux Developer__Carnegie Mellon University | | [EMAIL PROTECTED] | | [EMAIL PROTECTED] | \/ \/
Re: Apache::Session::Pg blob support?
At 03:08 PM 5/26/00 -0400, Richard Dice wrote: Hello there... I was wondering, with the new Pg-specific support you've got going with Apache::Session, does it handle Pg blobs transparently? The regular limit on the size of a tuple in Pg is 8k, which can be a problem if I'm trying to put more than that into my Apache::Session tied hash. (Yes, I do that sometimes. It's a handy place to hide stuff, those sessions...) Well, they are handy at that. But on the other hand, I tend to question the use of storing a LOT of data in sessions. At the point that the data reaches a critical mass, then it is likely that the data is getting more crucial to the application. If the data is crucial to the application, that also tends to mean that it would be best served (ultimately) by having an appropriate data structure where the session ID happens to be a key. eg I may make a file based session for just storing sundry things, but I would rarely want to store a shopping cart for a web store inside a session. A shopping cart is a data structure that has potential links to other information such as inventory tables. Now, the cart should be tied to the session id anyway, but whether the data should be stored as one big blob is another issue. Another thing about huge sessions is that depending on your locking and concurrency considerations, one big blob can become suboptimal for performance if you are not careful. Anyway, I guess this is just a philosophical issue with me. I know others like to store everything in their sessions. :) Later, Gunther __ Gunther Birznieks ([EMAIL PROTECTED]) Extropia - The Web Technology Company http://www.extropia.com/
Re: Books, was Re: High-volume mod_perl based ecommerce sites?
At 02:24 PM 5/26/00 -0300, you wrote: Neil Conway writes: I'm probably a novice programmer, at least by the standards of most of the people on this list. I'm 16, and since I haven't taken Computer Science at university yet, I'm a bit lacking in 'formal programming education'. I'd rather not form bad habits - is there any advice anyone can give me on how to write, clean Perl (OO or otherwise)? Are there any good books I can pick up? Maybe you should begin with some OO theory: * Object Oriented Software Construction, 2nd Edition by Bertrand Meyer * Design Patterns Gamma et al IMHO, Design Patterns is a very hard book for beginners. But in general I think you are right about OO design being useful I tend to prefer Bruce Eckel's approach in Thinking in Java. He talks about good OO Theory in general (eg devoting a chapter to Polymorphism which nearly all design patterns rely on) and then only later does he lead into design patterns -- but he does so as a case study of no less than 3 different ways of doing the same thing -- all logicaly but walks the user through the reasoning behind the patterns in a more practical, constructive way. And this one is very nice also (good, readable programming): * Refactoring Martin Fowler, Editor Regards, -- Adriano __ Gunther Birznieks ([EMAIL PROTECTED]) Extropia - The Web Technology Company http://www.extropia.com/
Re: [ANNOUNCE] Apache::Session 1.51
On Fri, 26 May 2000, Perrin Harkins wrote: On Fri, 26 May 2000, Jeffrey W. Baker wrote: I have released Apache::Session 1.51. The addition of the Oracle backing store took less time than expected. It is included and tested in this release. This is the only change from 1.50. http://www.cpan.org/modules/by-module/Apache/Apache-Session-1.51.tar.gz This new stuff looks really good. This module has come a long way in the time I've been watching the list. A couple of notes on the Oracle storage module: - Using "FOR UPDATE" forces the transactional lock model. Is it possible to make this optional? The other modes allow the use of a "enforce data integrity only" locking style which is sometimes needed. I'm less worried about people overwriting their own session data than I am about stale locks, although I suppose Apache::DBI's cleanup handler should take care of them. I assume that if people are using a transactional database, they are knowledgable about transactions. That's why I made the Commit argument mandatory for the Oracle and Postgres backing stores: it forces people to consider their transaction policy. - Oracle (the company) says not to use LONG anymore. They are trying to move everything to CLOB/BLOB. I modified my Apache::Session::DBI to support this, which mostly involved specifying "ora_type = ORA_BLOB" in my bind variable parameters. Maybe we need and Oracle8 module, separate from the standard one? By the way, BLOBs don't work with synonyms, so you have to specify the schema name in the SQL when using them. That's lame. So, we would need to pass the schema name as an argument? Remind me again what's wrong with LONG? I know you were working on a BerkeleyDB storage module. Are you still working on it, or did you throw up your hands in disgust over the BerkeleyDB module? Although I don't have time right now, I could eventually work on this if you aren't already doing it. Finally, everybody loves benchmarks. Do you have any cool speed comparisons between the various storage and locking options? I'm sure the list would be very interested. Even better would be a little benhcmarking script that people could use on their own systems to do comparisons. Maybe i'll whip something up that;s portable. For benchmarks that aren't portable, check the b/ directory in the distro. -jwb
cvs commit: modperl-2.0/src/modules/perl modperl_tipool.c modperl_tipool.h
dougm 00/05/26 08:07:53 Modified:src/modules/perl modperl_tipool.c modperl_tipool.h Log: fix #ifdefs Revision ChangesPath 1.2 +2 -2 modperl-2.0/src/modules/perl/modperl_tipool.c Index: modperl_tipool.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_tipool.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- modperl_tipool.c 2000/05/23 20:53:36 1.1 +++ modperl_tipool.c 2000/05/26 15:07:52 1.2 @@ -1,6 +1,6 @@ -#ifdef USE_ITHREADS - #include "mod_perl.h" + +#ifdef USE_ITHREADS /* * tipool == "thread item pool" 1.2 +1 -0 modperl-2.0/src/modules/perl/modperl_tipool.h Index: modperl_tipool.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_tipool.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- modperl_tipool.h 2000/05/23 20:53:36 1.1 +++ modperl_tipool.h 2000/05/26 15:07:52 1.2 @@ -1,4 +1,5 @@ #ifndef MODPERL_TIPOOL_H +#define MODPERL_TIPOOL_H #ifdef USE_ITHREADS
cvs commit: modperl-2.0/src/modules/perl modperl_callback.c modperl_callback.h modperl_interp.c modperl_log.h modperl_tipool.c modperl_tipool.h modperl_types.h
dougm 00/05/26 13:34:51 Modified:src/modules/perl modperl_callback.c modperl_callback.h modperl_interp.c modperl_log.h modperl_tipool.c modperl_tipool.h modperl_types.h Log: don't cache get_cv() in the server config structure fixup max/min logic Revision ChangesPath 1.10 +18 -8 modperl-2.0/src/modules/perl/modperl_callback.c Index: modperl_callback.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- modperl_callback.c2000/05/01 23:57:52 1.9 +++ modperl_callback.c2000/05/26 20:34:49 1.10 @@ -223,11 +223,25 @@ return 0; } -int modperl_callback(pTHX_ modperl_handler_t *handler) +int modperl_callback(pTHX_ modperl_handler_t *handler, ap_pool_t *p) { dSP; int count, status; +#ifdef USE_ITHREADS +if (p) { +/* under ithreads, each handler needs to get_cv() from the + * selected interpreter so the proper CvPADLIST is used + * XXX: this should probably be reworked so threads can cache + * parsed handlers + */ +modperl_handler_t *new_handler = +modperl_handler_new(p, (void*)handler-name, +MP_HANDLER_TYPE_CHAR); +handler = new_handler; +} +#endif + if (!MpHandlerPARSED(handler)) { if (!modperl_handler_parse(aTHX_ handler)) { MP_TRACE_h(MP_FUNC, "failed to parse handler `%s'\n", @@ -278,12 +292,6 @@ status = HTTP_INTERNAL_SERVER_ERROR; } -/* XXX: since the interpreter from which this data was allocated - * can be knocked off (PerlInterpMax{Spare,Requests}, the parse caching - * is broken. - */ -modperl_handler_unparse(handler); - return status; } @@ -303,6 +311,7 @@ MP_dSCFG(s); MP_dDCFG; modperl_handler_t **handlers; +ap_pool_t *p = NULL; MpAV *av = NULL; int i, status = OK; const char *desc = NULL; @@ -338,6 +347,7 @@ #ifdef USE_ITHREADS if (r || c) { +p = c ? c-pool : r-pool; interp = modperl_interp_select(r, c, s); aTHX = interp-perl; } @@ -353,7 +363,7 @@ handlers = (modperl_handler_t **)av-elts; for (i=0; iav-nelts; i++) { -status = modperl_callback(aTHX_ handlers[i]); +status = modperl_callback(aTHX_ handlers[i], p); MP_TRACE_h(MP_FUNC, "%s returned %d\n", handlers[i]-name, status); } 1.6 +1 -1 modperl-2.0/src/modules/perl/modperl_callback.h Index: modperl_callback.h === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- modperl_callback.h2000/04/27 22:02:04 1.5 +++ modperl_callback.h2000/05/26 20:34:49 1.6 @@ -23,7 +23,7 @@ int modperl_handler_parse(pTHX_ modperl_handler_t *handler); -int modperl_callback(pTHX_ modperl_handler_t *handler); +int modperl_callback(pTHX_ modperl_handler_t *handler, ap_pool_t *p); void modperl_process_callback(int idx, ap_pool_t *p, server_rec *s); 1.13 +6 -3 modperl-2.0/src/modules/perl/modperl_interp.c Index: modperl_interp.c === RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- modperl_interp.c 2000/05/23 20:54:44 1.12 +++ modperl_interp.c 2000/05/26 20:34:49 1.13 @@ -88,11 +88,13 @@ MP_TRACE_i(MP_FUNC, "selected 0x%lx (perl==0x%lx)\n", (unsigned long)interp, (unsigned long)interp-perl); -#ifdef _PTHREAD_H -MP_TRACE_i(MP_FUNC, "pthread_self == 0x%lx\n", - (unsigned long)pthread_self()); + +#ifdef MP_TRACE +interp-tid = MP_TIDF; #endif +MP_TRACE_i(MP_FUNC, "thread == 0x%lx\n", interp-tid); + MpInterpIN_USE_On(interp); return interp; @@ -117,6 +119,7 @@ static void *interp_pool_grow(modperl_tipool_t *tipool, void *data) { modperl_interp_pool_t *mip = (modperl_interp_pool_t *)data; +MP_TRACE_i(MP_FUNC, "adding new interpreter to the pool\n"); return (void *)modperl_interp_new(mip-ap_pool, mip, mip-parent-perl); } 1.3 +9 -0 modperl-2.0/src/modules/perl/modperl_log.h Index: modperl_log.h === RCS file: