Re: Help wanted with locations / configuration
Steve Hay wrote: Thomas Klausner wrote: Hi! On Mon, Sep 08, 2003 at 04:51:55PM +0100, Steve Hay wrote: The project is going to be written as a series of mod_perl handlers - one for the main home page, and others for various sub-components. Each handler is implemented by a separate module (all sub-classes of a common base class). I don't want to have to configure a separate Location for each sub-component. You might want to take a look at Apache::Dispatch, which does exactly this. Will do! I've grabbed it off CPAN and will take a good look at it. It does indeed look like exactly what I'm after. Does anybody have Apache::Dispatch working on Windows? I'm trying to build it on Windows XP (MSVC++ 6) with Perl 5.8.0 / Apache 1.3.27 / mod_perl 1.28, but I get these errors: [...] link -out:blib\arch\auto\Apache\Dispatch\Dispatch.dll -dll -nologo -node faultlib -release -libpath:C:\perl5\lib\CORE -machine:x86 Dispatch.obj C:\ perl5\lib\CORE\perl58.lib libeay32.lib oldnames.lib kernel32.lib user32.lib gdi 32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.li b netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib o dbccp32.lib msvcrt.lib -def:Dispatch.def Creating library blib\arch\auto\Apache\Dispatch\Dispatch.lib and object blib\ arch\auto\Apache\Dispatch\Dispatch.exp Dispatch.obj : error LNK2001: unresolved external symbol _perl_perl_merge_dir_co nfig Dispatch.obj : error LNK2001: unresolved external symbol _perl_cmd_perl_TAKE1 Dispatch.obj : error LNK2001: unresolved external symbol __imp__ap_register_clea [EMAIL PROTECTED] Dispatch.obj : error LNK2001: unresolved external symbol _perl_perl_cmd_cleanup Dispatch.obj : error LNK2001: unresolved external symbol __imp__ap_null_cleanup Dispatch.obj : error LNK2001: unresolved external symbol [EMAIL PROTECTED] Dispatch.obj : error LNK2001: unresolved external symbol _perl_clear_symtab Dispatch.obj : error LNK2001: unresolved external symbol __imp__ap_remove_module @4 Dispatch.obj : error LNK2001: unresolved external symbol __imp__ap_find_linked_m [EMAIL PROTECTED] Dispatch.obj : error LNK2001: unresolved external symbol _perl_get_startup_pool Dispatch.obj : error LNK2001: unresolved external symbol [EMAIL PROTECTED] blib\arch\auto\Apache\Dispatch\Dispatch.dll : fatal error LNK1120: 11 unresolved externals NMAKE : fatal error U1077: 'link' : return code '0x460' Stop. Any ideas? - Steve
Re: Help wanted with locations / configuration
Marc Slagle wrote: On Mon, 2003-09-08 at 11:51, Steve Hay wrote: It also needs to have access to various static resources (images, stylesheets, JavaScript libraries etc.). Thus, I want to have something like this: /myproject [mp1] /myproject/component1 [mp1] /myproject/component2 [mp1] ... /myproject/images [static] /myproject/javascript [static] /myproject/stylesheets [static] You might want to look at having a translation handler. As in a PerlTransHandler, yes? We're doing something similar to this, where images and javascripts live under the same directory structure as the handler is managing. Instead of trying to configure this via that httpd.conf file, we chose to have a translation handler look at the incoming uri and determine whether the request is for a static file or for the code. Is there a performance penalty with this? You're using Perl code to inspect the URI, and then handing control back to the Apache core if it is a static file. I wanted to avoid requests for static files wasting time by going to a Perl handler only to be returned to the Apache core to serve the file, hence my LocationMatch override that catches requests for static files. Thanks for the code snippet, though - it looks pretty good to me aside from that concern. - Steve
Re: Help wanted with locations / configuration
Perrin Harkins wrote: On Mon, 2003-09-08 at 11:51, Steve Hay wrote: Thus, I want to have something like this: /myproject [mp1] /myproject/component1 [mp1] /myproject/component2 [mp1] ... /myproject/images [static] /myproject/javascript [static] /myproject/stylesheets [static] The question is: What is the best way to configure this? Others have already given good advice, They have, indeed. Thanks, everyone! but I would add that your URLs and your filesystem don't need to be tied tightly together. You could just alias the static files to somewhere else: [snip] Alternatively, you could use a Location setting for your dispatcher that has nothing to do with your files: Those were actually my very frist ideas, but I decided that I prefer to have all the URL's to begin with /myproject. I don't necessarily require that URL to be related to the filesystem structure, but I just want all the URL's (dynamic and static) to begin the same. - Steve
Re: Help wanted with locations / configuration
petersm wrote: Steve Hay [EMAIL PROTECTED] wrote Location /myproject SetHandler perl-script PerlHandler MyProject-dispatcher /Location LocationMatch ^/myproject/(images|javascript|stylesheets) SetHandler default-handler /LocationMatch Correct me if I'm wrong, but can't you just say Location /myproject Location /myproject AddHandler perl-script .cgi PerlHandler MyProject-dispatcher /Location using AddHandler instead of SetHandler. This will not override the default handler for things like images/stylesheets/static html. This way you don't need the LocationMatch ^/myproject/(images|javascript|stylesheets) ... tags. I prefer for reasons that I can't really explain to have the Perl handler locations having no extension - e.g. things like /myproject/component1 rather than /myproject/component1.cgi. I can't see how to achieve that with an AddHandler. (And even if I did get that working somehow, then the Perl handler would have to hand control back to the Apache core when it receives a request for /myproject/images.) Thanks for the idea, though. If I manage to overcome my inexplicable aversion to file extensions then it certainly looks like the simplest solution. - Steve
Re: Help wanted with locations / configuration
On Tuesday 09 September 2003 11:16, Steve Hay wrote: Those were actually my very frist ideas, but I decided that I prefer to have all the URL's to begin with /myproject. I don't necessarily require that URL to be related to the filesystem structure, but I just want all the URL's (dynamic and static) to begin the same. I have achieved that using the configuration Perrin suggested. The prefix (/myproject) is a parameter of the configuration of the application called apache_location_root, and the config script fills a mod_perl.conf.tt2 like this: Alias [% apache_location_root %]/views [% prj_root %]/www/htdocs/views Alias [% apache_location_root %]/images [% prj_root %]/www/htdocs/images Alias [% apache_location_root %]/scripts [% prj_root %]/www/htdocs/scripts Alias [% apache_location_root %]/styles [% prj_root %]/www/htdocs/styles Location [% apache_location_root %] # Nothing to do with the filesystem, just handlers available in @INC. /Location In our case the motivation for that is that we don't know whether our application will run in its own Apache server, so you can hard-code that stuff, or will need to be added to an already functioning Apache. -- fxn
Re: Help wanted with locations / configuration
Hi! On Tue, Sep 09, 2003 at 10:05:43AM +0100, Steve Hay wrote: Location /myproject/css SetHandler default /Location Location /myproject/img SetHandler default /Location This is working as expected, i.e. request for /css/foo.css or /img/bar.png are not handled by Apache::Dispatch What about requests for /css or /img ? Are they handled by Apache::Dispatch? The problem I found with my LocationMatch override is that requests for files were caught, but requests for directories slipped through to the Perl handler. Unfourtunatly, request for /css are handled by Apache::Dispatch. At least it seems so, but I'm enterly sure if it's the actual request that's beeing served, or an internal redirect (or some other funky Apache internal thing, like ErrorDocument or index generation) It does seem like a feature/problem of Apache. I tried various config options (and modifications to Apache::Dispatch), but no matter what I did, request for /img/ allways get passed to PerHandler instead of default handler Request for anything inside /img/ work as expected. No, wait a minute... If I request /foo/bar/ (another dir) than it doesn't work either. I still do not know if this a bug in Apache / mod_perl / Apache::Dispatch / YourHandler, and/or internal redirect. Or if this is expected behaviour. -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Help wanted with locations / configuration
Steve Hay [EMAIL PROTECTED] wrote Thanks for the idea, though. If I manage to overcome my inexplicable aversion to file extensions then it certainly looks like the simplest solution. I understand the argument that it's better for the user to not know the extension of the file they are running but, if it really bothers you then you could do something like Location /myproject AddHandler perl-script .steve /Location and then put a '.steve' extension onto your scripts and that way it's a little more personalized... :) Michael Peters Venzia
Re: Help wanted with locations / configuration
On Tue, 2003-09-09 at 05:00, Steve Hay wrote: As in a PerlTransHandler, yes? Yup. Is there a performance penalty with this? You're using Perl code to inspect the URI, and then handing control back to the Apache core if it is a static file. I wanted to avoid requests for static files wasting time by going to a Perl handler only to be returned to the Apache core to serve the file, hence my LocationMatch override that catches requests for static files. Static File: Devel::Timer Report -- Total time: 0.0006 secs Interval TimePercent -- 00 - 01 0.0003 48.49% INIT - Entering translation handler 01 - 02 0.0002 36.91% Entering translation handler - Checking to see if we are asking for a static file 02 - 03 0.0001 14.60% Checking to see if we are asking for a static file - This is a request for a static file, telling apache where it is Request we want to pass on to our handler: Devel::Timer Report -- Total time: 0.0005 secs Interval TimePercent -- 01 - 02 0.0002 40.90% Entering translation handler - Checking to see if we are asking for a static file 00 - 01 0.0001 31.48% INIT - Entering translation handler 02 - 03 0.0001 27.62% Checking to see if we are asking for a static file - This is not a request for a static file, returning DENIED We decided to do it this way because we are also doing some other things in the translation handler that I didn't pass along in the snippet. Since we were already putting a translation handler in place to do our trickery there, it seemed to make the most sense to us to add the code to handle static requests there. By no means am I suggesting that this is the best way, but we're pretty happy with it. Marc Slagle
Re: Help: Can't coerce GLOB to string...
[Forwarded from [EMAIL PROTECTED] [EMAIL PROTECTED]] Hello, In response to : Kurt George Gjerde wrote: BTW: I've fixed my can't coerce GLOB to string problem I had last week. Was unrelated to mod_perl (sorry). It seems XML::LibXSLT produced some errors which went straight to STDERR. Under CGI these ends up in the error_log but under mod_perl it seems STDERR is just a black hole (?). Would it be possible to map STDERR to log_error()? Unless I'm missing something, mod_perl doesn't do anything special with STDERR (it does tie STDIN and STDOUT for 'perl-script' handlers). Apache opens stderr to error_log, and then everything just works. e.g. if you do: warn Foo; or print STDERR OOOPS\n; this ends up in error_log, no? I suppose that XML::LibXSLT redefines STDERR then. Try to see what it does to create this problem. The key to this problem is that the function $parser-parse_string() cannot take a scalar as argument. This way it works and doesn't produce Can't coerce ... anymore : my $sheet = $parser-parse_string('EOT'); ?xml version=1.0? xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform; version=1.0 xsl:output method=text indent=no/ xsl:strip-space elements=FILTER_RULE NAT_RULE LOG_RULE/ !-- this XSLT sheet transforms a netfilter XML rule document into an iptables script -- xsl:template match=NETFILTER ... EOT Best regards Jean Philippe GUILLEMIN http://shweps.free.fr [EMAIL PROTECTED]
Re: Help wanted with locations / configuration
On Mon, 2003-09-08 at 11:51, Steve Hay wrote: It also needs to have access to various static resources (images, stylesheets, JavaScript libraries etc.). Thus, I want to have something like this: /myproject [mp1] /myproject/component1 [mp1] /myproject/component2 [mp1] ... /myproject/images [static] /myproject/javascript [static] /myproject/stylesheets [static] You might want to look at having a translation handler. We're doing something similar to this, where images and javascripts live under the same directory structure as the handler is managing. Instead of trying to configure this via that httpd.conf file, we chose to have a translation handler look at the incoming uri and determine whether the request is for a static file or for the code. Inside of our transhandler we're doing this: sub handler { my $r=shift; my $uri=$r-uri; my $Tmplpath=/our/static/files/rootdir/; if (($uri !~ /jpg$/) ($uri !~ /css$/) ($uri !~ /js$/)) { $r-notes('host' = $Host); $r-notes('olduri' = $uri); $r-uri(/); return DECLINED; } else { my $File=$Tmplpath . $uri; $r-filename($File); return OK; } } If a request is made for anything ending in .jpg, .js or .css, we tell apache where to find the file by appending the uri (/images/the.jpg for example) to a path. The handler then returns OK, which tells apache not to try to figure out where the file lives on its own, and returns the file to the browser. Any other request is passed to the handler, along with a field in notes() that shows what we were asking for in the first place. Our request handler uses this to dispatch the request to the correct object needed to fulfill the request. (Our handler is configured at /, so we override the uri passed from the browser to /). Any other types you want can be added to this, I just threw the ones that seemed relevant to you. I hope this helps. Marc Slagle Whapps LLC
Re: Help wanted with locations / configuration
Hi! On Mon, Sep 08, 2003 at 04:51:55PM +0100, Steve Hay wrote: The project is going to be written as a series of mod_perl handlers - one for the main home page, and others for various sub-components. Each handler is implemented by a separate module (all sub-classes of a common base class). I don't want to have to configure a separate Location for each sub-component. You might want to take a look at Apache::Dispatch, which does exactly this. Location /myproject SetHandler perl-script PerlHandler MyProject-dispatcher /Location LocationMatch ^/myproject/(images|javascript|stylesheets) SetHandler default-handler /LocationMatch I'm using something like this with Apache::Dispatch PerlModule Apache::Dispatch DispatchUpperCase On # this is /not/ in Apache::Dispatch, # only in my patched version DispatchPrefix Oe1 DispatchExtras Error Location /myproject SetHandler perl-script PerlHandler Apache::Dispatch /Location Location /myproject/css SetHandler default /Location Location /myproject/img SetHandler default /Location This is working as expected, i.e. request for /css/foo.css or /img/bar.png are not handled by Apache::Dispatch -- #!/usr/bin/perl http://domm.zsi.at for(ref bless{},just'another'perl'hacker){s-:+-$-gprint$_.$/}
Re: Help wanted with locations / configuration
Steve Hay [EMAIL PROTECTED] wrote It also needs to have access to various static resources (images, stylesheets, JavaScript libraries etc.). Thus, I want to have something like this: /myproject [mp1] /myproject/component1 [mp1] /myproject/component2 [mp1] ... /myproject/images [static] /myproject/javascript [static] /myproject/stylesheets [static] Location /myproject SetHandler perl-script PerlHandler MyProject-dispatcher /Location LocationMatch ^/myproject/(images|javascript|stylesheets) SetHandler default-handler /LocationMatch Correct me if I'm wrong, but can't you just say Location /myproject Location /myproject AddHandler perl-script .cgi PerlHandler MyProject-dispatcher /Location using AddHandler instead of SetHandler. This will not override the default handler for things like images/stylesheets/static html. This way you don't need the LocationMatch ^/myproject/(images|javascript|stylesheets) ... tags. Michael Peters Venzia
Re: Help wanted with locations / configuration
On Mon, 2003-09-08 at 11:51, Steve Hay wrote: Thus, I want to have something like this: /myproject [mp1] /myproject/component1 [mp1] /myproject/component2 [mp1] ... /myproject/images [static] /myproject/javascript [static] /myproject/stylesheets [static] The question is: What is the best way to configure this? Others have already given good advice, but I would add that your URLs and your filesystem don't need to be tied tightly together. You could just alias the static files to somewhere else: Alias /static/images /myproject/images Then you can simply refer to them in URLs as /static/images/foo.jpg. Alternatively, you could use a Location setting for your dispatcher that has nothing to do with your files: Location /wild/and/crazy/path/for/handlers SetHandler perl-script PerlHandler MyProject-dispatcher /Location Then you can call /wild/and/crazy/path/for/handlers/component1 and it will work as long as your dispatcher is smart enough to ignore the beginning path. (Apache::Dispatch is.) - Perrin
Re: help on setting up a PerlFixupHandler
Xavier Noria wrote: [EMAIL PROTECTED] wrote: It seems to me that $r-content-type is for what your server sends to the client, which is probably undef in the Fixup stage, where you test it. You probaly meant to test for the $ct = $r-header_in(Content-type) if you wanted to see whats requested from the client. Content-Type is an entity header, so it can apply to both incoming and outgoing headers. however, it's more generally seen as an outgoing header for normal web activity, leaving headers_in empty. But then, there are examples in the books that use that method that way. For instance, in recipe 14.1 of the Cookbook, which is about how to disable a configured mod_perl PerlHandler, the Technique section says: Set the handler back to the default Apache content handler from a PerlFixupHandler. # Only run the PerlHandler for HTML. # For everything else, run the default Apache content handler. $r-handler('default-handler') unless $r-content_type eq 'text/html'; I think in the Eagle book there is some code like that as well, cannot check it right now however. So, looks like that test makes sense, or can make sense, in that handler. $r-content_type is generally set by mod_mime, during the mime-type phase, according to it's rules. for most setups, it should be set to something by fixup, but I guess it's dependent on your particular settings. --Geoff
Re: help on setting up a PerlFixupHandler
sub handler { my $r = shift; return DECLINED if $r-content_type ne 'text/html'; return SERVER_ERROR unless $r-can_stack_handlers; $r-set_handlers(PerlHandler = ['ContentHandler']); return OK; } What am I missing? unlike the other phases of the request cycle, for the content phase you need to do two things - tell apache that mod_perl is in charge, and tell mod_perl which Perl handler it should use. you've done the latter. for the former, use $r-handler('perl-script'), which is analogous to SetHandler perl-script that you would ordinarily see for a mod_perl setup. HTH --Geoff
Re: help on setting up a PerlFixupHandler
On Wednesday 06 August 2003 20:26, Christopher Grau wrote: On Wed, Aug 06, 2003 at 08:24:30PM +0200, Xavier Noria wrote: To fix that, is it safe to change the test to defined $r-content_type and $r-content_type ne 'text/html'; or is there a better way? I usually don't concern myself with the previous content type when writing Location-based content handlers. My output is always text/html anyway. Would it be safe in your application to just leave it out completely? Hmmm, you are right, now that I think about it /admin will only serve HTML and since I don't understand that undef I'll remove that line altogether, the test is performed by Location anyway. Now that I understand what happens I will try to figure out in the docs when $r-content_type returns something. Thank you very much to all, I was somewhat stuck with this. -- fxn
Re: help on setting up a PerlFixupHandler
On Wed, Aug 06, 2003 at 08:24:30PM +0200, Xavier Noria wrote: To fix that, is it safe to change the test to defined $r-content_type and $r-content_type ne 'text/html'; or is there a better way? I usually don't concern myself with the previous content type when writing Location-based content handlers. My output is always text/html anyway. Would it be safe in your application to just leave it out completely? -chris
Re: help on setting up a PerlFixupHandler
On Wednesday 06 August 2003 19:53, Christopher Grau wrote: Are you sure the content-type is text/html? Since you have your own Location handler, Apache is probably using the value from the DefaultType directive which, I think, defaults to text/plain when Apache is installed. That's it, $r-content_type ne 'text/html'; succeeds because $r-content_type is undef, so we return DECLINED and the default content handler is run AFAICT. DefaultType is text/plain in httpd.conf, why that method returns undef? To fix that, is it safe to change the test to defined $r-content_type and $r-content_type ne 'text/html'; or is there a better way? -- fxn
Re: help on setting up a PerlFixupHandler
So, while I'm not 100% sure about this, logically the $r-content_type should be empty before the response is prepared to be sent to the browser, so it should be empty in the Fixup stage. not necessarily. if you request index.html, mod_mime (at the mime-type phase) will set the content type to text/html based on the file extension. mod_mime_magic will do the same, but by analyzing the contents of the file. if you are generating dynamic content and there is no file type to examine (or consistently relate, as .cgi can produce multiple CTs), no default type, and no file to examine, then there is no way the mime modules can set a content type. the end result would be undef in fixup and beyond. In fact what I miss (and I guess I'm not alone ;-) is a documentation that would take the $r from the newly born state and describe what's added/deleted to it during a full process loop, at each stage. there is lots of documentation on this kind of thing, but nothing specific like $r-content_type is set during the mime-type phase because things like this are dependent on varying circumstances. Part III of the mod_perl Developer's Cookbook talks about the each phase of the request cycle in depth. you can read part of it from http://www.modperlcookbook.org/. the eagle book also covers it. Besides I'd like to know about each major optional module (like mod_rewrite, mod_ssl, etc) where they intervine in the loop and what they read/or set. Most of these one can guess but I'm not aware of such a documentation. that's complex. for instance, mod_rewrite can enter just about every part of the request cycle, depending on how it's configured. the way to discover this is to look at the code (remember, it's open :) - at the end of each extension module is the place where hooks are typically registered. look for a line such as module MODULE_VAR_EXPORT rewrite_module = { which begins the list of phases the module hooks into. HTH --Geoff
RE: help on setting up a PerlFixupHandler
Well, thank you very much for the references. I guess I'll have to skip next few pints and finally get that book I've heard so much about ;-) Lian Sebe, M.Sc. Freelance Analyst-Programmer www.programEz.net -Original Message- From: Geoffrey Young [mailto:[EMAIL PROTECTED] Sent: Thursday, August 07, 2003 3:15 PM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: help on setting up a PerlFixupHandler So, while I'm not 100% sure about this, logically the $r-content_type should be empty before the response is prepared to be sent to the browser, so it should be empty in the Fixup stage. not necessarily. if you request index.html, mod_mime (at the mime-type phase) will set the content type to text/html based on the file extension. mod_mime_magic will do the same, but by analyzing the contents of the file. if you are generating dynamic content and there is no file type to examine (or consistently relate, as .cgi can produce multiple CTs), no default type, and no file to examine, then there is no way the mime modules can set a content type. the end result would be undef in fixup and beyond. In fact what I miss (and I guess I'm not alone ;-) is a documentation that would take the $r from the newly born state and describe what's added/deleted to it during a full process loop, at each stage. there is lots of documentation on this kind of thing, but nothing specific like $r-content_type is set during the mime-type phase because things like this are dependent on varying circumstances. Part III of the mod_perl Developer's Cookbook talks about the each phase of the request cycle in depth. you can read part of it from http://www.modperlcookbook.org/. the eagle book also covers it. Besides I'd like to know about each major optional module (like mod_rewrite, mod_ssl, etc) where they intervine in the loop and what they read/or set. Most of these one can guess but I'm not aware of such a documentation. that's complex. for instance, mod_rewrite can enter just about every part of the request cycle, depending on how it's configured. the way to discover this is to look at the code (remember, it's open :) - at the end of each extension module is the place where hooks are typically registered. look for a line such as module MODULE_VAR_EXPORT rewrite_module = { which begins the list of phases the module hooks into. HTH --Geoff
Re: help on setting up a PerlFixupHandler
On Wed, Aug 06, 2003 at 07:41:20PM +0200, Xavier Noria wrote: package Dispatcher; use Apache::Constants ':common'; sub handler { my $r = shift; return DECLINED if $r-content_type ne 'text/html'; return SERVER_ERROR unless $r-can_stack_handlers; $r-handler('perl-script'); $r-set_handlers(PerlHandler = ['ContentHandler']); return OK; } 1; without luck however, keeps on looking under the document root for /admin. Should that change be enough? Are you sure the content-type is text/html? Since you have your own Location handler, Apache is probably using the value from the DefaultType directive which, I think, defaults to text/plain when Apache is installed. -chris
RE: help on setting up a PerlFixupHandler
Hi Geoffrey Xavier, I don't argue on the fact the Content-type is an entity header available in both situations. However I'm talking about how to get/set in mod_perl the Content-type in those 2 situations, which according to the mod_perl 1.0 API docs and as I understand it, are different animals: 1.7.8 $r-content_type( [$newval] ) Get or set the content type being sent to the client. Content types are strings like text/plain, text/html or image/gif. This corresponds to the Content-Type header in the HTTP protocol. Example of usage is: $previous_type = $r-content_type; $r-content_type(text/plain); ... 1.5.16 $r-header_in( $header_name, [$value] ) Return the value of a client header. Can be used like this: $ct = $r-header_in(Content-type); So, while I'm not 100% sure about this, logically the $r-content_type should be empty before the response is prepared to be sent to the browser, so it should be empty in the Fixup stage. In fact what I miss (and I guess I'm not alone ;-) is a documentation that would take the $r from the newly born state and describe what's added/deleted to it during a full process loop, at each stage. Besides I'd like to know about each major optional module (like mod_rewrite, mod_ssl, etc) where they intervine in the loop and what they read/or set. Most of these one can guess but I'm not aware of such a documentation. Regards, Lian Sebe, M.Sc. Freelance Analyst-Programmer www.programEz.net -Original Message- From: Geoffrey Young [mailto:[EMAIL PROTECTED] Sent: Thursday, August 07, 2003 5:36 AM To: Xavier Noria Cc: [EMAIL PROTECTED] Subject: Re: help on setting up a PerlFixupHandler Xavier Noria wrote: [EMAIL PROTECTED] wrote: It seems to me that $r-content-type is for what your server sends to the client, which is probably undef in the Fixup stage, where you test it. You probaly meant to test for the $ct = $r-header_in(Content-type) if you wanted to see whats requested from the client. Content-Type is an entity header, so it can apply to both incoming and outgoing headers. however, it's more generally seen as an outgoing header for normal web activity, leaving headers_in empty. But then, there are examples in the books that use that method that way. For instance, in recipe 14.1 of the Cookbook, which is about how to disable a configured mod_perl PerlHandler, the Technique section says: Set the handler back to the default Apache content handler from a PerlFixupHandler. # Only run the PerlHandler for HTML. # For everything else, run the default Apache content handler. $r-handler('default-handler') unless $r-content_type eq 'text/html'; I think in the Eagle book there is some code like that as well, cannot check it right now however. So, looks like that test makes sense, or can make sense, in that handler. $r-content_type is generally set by mod_mime, during the mime-type phase, according to it's rules. for most setups, it should be set to something by fixup, but I guess it's dependent on your particular settings. --Geoff
Re: help on setting up a PerlFixupHandler
On Wednesday 06 August 2003 18:29, Geoffrey Young wrote: sub handler { my $r = shift; return DECLINED if $r-content_type ne 'text/html'; return SERVER_ERROR unless $r-can_stack_handlers; $r-set_handlers(PerlHandler = ['ContentHandler']); return OK; } What am I missing? unlike the other phases of the request cycle, for the content phase you need to do two things - tell apache that mod_perl is in charge, and tell mod_perl which Perl handler it should use. you've done the latter. for the former, use $r-handler('perl-script'), which is analogous to SetHandler perl-script that you would ordinarily see for a mod_perl setup. Thank you! I tried to add that line to the Dispatcher: package Dispatcher; use Apache::Constants ':common'; sub handler { my $r = shift; return DECLINED if $r-content_type ne 'text/html'; return SERVER_ERROR unless $r-can_stack_handlers; $r-handler('perl-script'); $r-set_handlers(PerlHandler = ['ContentHandler']); return OK; } 1; without luck however, keeps on looking under the document root for /admin. Should that change be enough? -- fxn
Re: help on setting up a PerlFixupHandler
[EMAIL PROTECTED] wrote: It seems to me that $r-content-type is for what your server sends to the client, which is probably undef in the Fixup stage, where you test it. You probaly meant to test for the $ct = $r-header_in(Content-type) if you wanted to see whats requested from the client. But then, there are examples in the books that use that method that way. For instance, in recipe 14.1 of the Cookbook, which is about how to disable a configured mod_perl PerlHandler, the Technique section says: Set the handler back to the default Apache content handler from a PerlFixupHandler. # Only run the PerlHandler for HTML. # For everything else, run the default Apache content handler. $r-handler('default-handler') unless $r-content_type eq 'text/html'; I think in the Eagle book there is some code like that as well, cannot check it right now however. So, looks like that test makes sense, or can make sense, in that handler. -- fxn
RE: help on setting up a PerlFixupHandler
Hi, It seems to me that $r-content-type is for what your server sends to the client, which is probably undef in the Fixup stage, where you test it. You probaly meant to test for the $ct = $r-header_in(Content-type) if you wanted to see whats requested from the client. Anyway, as Christopher pointed out you can get the what's before load off your shoulders ;-) HTH, Lian Sebe, M.Sc. Freelance Analyst-Programmer www.programEz.net -Original Message- From: Xavier Noria [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 06, 2003 9:40 PM To: [EMAIL PROTECTED] Subject: Re: help on setting up a PerlFixupHandler On Wednesday 06 August 2003 20:26, Christopher Grau wrote: On Wed, Aug 06, 2003 at 08:24:30PM +0200, Xavier Noria wrote: To fix that, is it safe to change the test to defined $r-content_type and $r-content_type ne 'text/html'; or is there a better way? I usually don't concern myself with the previous content type when writing Location-based content handlers. My output is always text/html anyway. Would it be safe in your application to just leave it out completely? Hmmm, you are right, now that I think about it /admin will only serve HTML and since I don't understand that undef I'll remove that line altogether, the test is performed by Location anyway. Now that I understand what happens I will try to figure out in the docs when $r-content_type returns something. Thank you very much to all, I was somewhat stuck with this. -- fxn
Re: Help me understand mod_perl and Environment settings
Hello Bernhard Donaubauer, Thursday, July 17, 2003, 5:34:57 PM, you wrote: BD Hello! BD I just startet learning mod_perl and apache. I use the current version of BD mod_perl 1 and apache 1.3. Perl itself has version 6.5.1. BD My aim ist to set some environment variables visible to all apache/perl BD children (as far as I unsterstand there is one perl instance for each apache BD child), but my testapplication does sometimes see my environment settings and BD sometimes not. It changes if I press the refresh button of the browser. http://perl.apache.org/docs/1.0/guide/porting.html#Sometimes_it_Works__Sometimes_it_Doesn_t BD According to mod_perl Developerls Cookbook I createt a script called BD envteststartup.pl: BD 1 #!/usr/bin/env perl BD 2 BD 3 BEGIN{ BD 4 $ENV{ORACLE_HOME}=/opt/oracle/product/9.2.0; BD 5 $ENV{ORACLE_SID}=i001; BD 6 $ENV{ORACLE_TERM}=xterm; BD 7 $ENV{NLS_LANG}=AMERICAN_AMERICA.WE8ISO8859P1; http://perl.apache.org/docs/1.0/guide/porting.html#BEGIN_blocks BD 8 BD $ENV{ORA_NLS33}=/opt/oracle/product/9.2.0/ocommon/nls/admin/data; BD 9 $ENV{NLS_TIMESTAMP_FORMAT}=-MM-DD HH24:MI:SS.FF; BD 10 $ENV{NLS_TIMESTAMP_TZ_FORMAT}=-MM-DD HH24:MI:SS.FF TZR; BD 11 $ENV{NLS_DATE_FORMAT}=-MM-DD; BD 12 $ENV{NLS_NUMERIC_CHARACTERS}=,.; BD 13 $ENV{TNS_ADMIN}=/opt/oracle/product/9.2.0/network/admin; BD 14 BD 15 $ENV{INFORMIXDIR}=/opt/informix; BD 16 $ENV{INFORMIXSERVER}=onltuxtcp; BD 17 $ENV{DBDATE}=Y4MD-; BD 18 $ENV{DBCENTURY}=C; BD 19 BD 20 $ENV{BETLOGDIR}=/usr/local/apache/logs; BD 21 $ENV{BETYUCDB}=yucatan_test1; BD 22 $ENV{BETYUCDBTYP}=informix; BD 23 $ENV{BETLOGIN}=login; BD 24 BD 25 $ENV{SESSIONDIR}=/usr/local/apache/sessions; BD 26 $ENV{SESSIONLOCKDIR}=/usr/local/apache/sessions/lock; BD 27 } BD 28 BD 29 use lib qw(/usr/local/apache/modperlappl); BD 30 use lib qw(/usr/local/apache); BD 31 BD 32 use strict; BD 33 use warnings; BD 34 use Apache::DBI; BD 35 use DBI; BD 36 use Apache::Session; BD 37 use Apache::Session::File; BD 38 use Apache::Request; BD 39 use Apache::URI; BD 40 use Apache::Log; BD 41 BD 42 use envtest::handler; BD 43 BD 44 1; BD My http.conf has the following mod_perl entries: BD 338 PerlRequire conf/envteststartup.pl BD 339 BD 340 Alias /envtest/ /usr/local/apache/modperlappl/envtest/ BD 341 Location /envtest/ BD 342 SetHandler perl-script BD 343 PerlHandler envtest::handler BD 344 /Location BD My testapplication is as simple as can be: BD 1 package envtest::handler; BD 2 BD 3 sub handler { BD 4 my $r=Apache::Request-instance(shift()); BD 5 BD 6 $r-send_http_header('text/plain'); BD 7 BD 8 print Environment:\n; BD 9 BD 10 while ( my ( $key, $value ) = each %ENV ) { BD 11 print $key: $value\n; BD 12 } BD 13 BD 14 } BD 15 BD 16 1; BD I assume not all perl instances get my environment settings but where is the BD error causing me headache? BD Regards, BD Bernhard Donaubauer Also see http://perl.apache.org/docs/1.0/guide/config.html#PerlSetEnv_and_PerlPassEnv http://perl.apache.org/docs/1.0/guide/config.html#PerlSetVar_and_PerlAddVar http://perl.apache.org/docs/1.0/guide/config.html#PerlSetupEnv Hope this will help. -- WBR, Mike P. Mikhailov mailto: [EMAIL PROTECTED] ICQ:280990142
Re: Help me understand mod_perl and Environment settings
Hi there, On Thu, 17 Jul 2003, Bernhard Donaubauer wrote: I just startet learning mod_perl and apache. I use the current version of mod_perl 1 and apache 1.3. Perl itself has version 6.5.1. Can you be a little more careful with your version numbers in future? but my testapplication does sometimes see my environment settings and sometimes not. It changes if I press the refresh button of the browser. Please see the mod_perl Guide at http://perl.apache.org There are references to the symptoms you see at http://perl.apache.org/docs/1.0/guide/debug.html#Sometimes_My_Script_Works__Sometimes_It_Does_Not 73, Ged.
Re: --help
On Wed, 9 Jul 2003, Alexander Prihodko wrote: --help Usage: [EMAIL PROTECTED] [-s topic] PROBLEM [DETAILS] Describe a PROBLEM, giving DETAILS, so that the members of the list can try to assist you. Example: Date: Wed, 01 Jan 1970 00:00:00 + From: D Ritchie [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: won't build on new lab system Your ^*$*$ software won't compile on this PDP-11. I keep getting the error cowardly refusing to create an empty archive. What is *that* supposed to mean? Here's the full error dump: snipped And here's the software hardware I'm running: snipped Options: -p --post: [EMAIL PROTECTED] -S --subscribe : [EMAIL PROTECTED] -u --unsubscribe : [EMAIL PROTECTED] -h --help: [EMAIL PROTECTED] Please, try again :) -- Chris Devers [EMAIL PROTECTED] http://devers.homeip.net:8080/ reusability, n. A marketing priority overriding that of usability. See also OBJECT ORIENTEETING. -- from _The Computer Contradictionary_, Stan Kelly-Bootle, 1995
Re: Help needed !!
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Thursday 12 June 2003 08:22, ECE Webmaster wrote: Hi , I am having a problem with an application that I am running on an Apache server. It says that it is unable to load the script. I have chmod all things to 777. My application is at http://www.ece.ufl.edu/COE/pages/chat/chatmain.html Need more info. What version of Apache / mod_perl are you running? What is the conf file (at least the relevant sections)? What is the directory structure? What are the files you are trying to run? Chmod everything to 775 or 755. 777 is plain stupid. - -- Jonathan Gardner [EMAIL PROTECTED] (was [EMAIL PROTECTED]) Live Free, Use Linux! -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE+7fhQWgwF3QvpWNwRAuPeAJ9SsNz4TGlEdXlHCZ1n26FoyxttnwCfXpPo s0Jax/7EbWhLNRbhhDtDq8s= =a+bo -END PGP SIGNATURE-
Re: Help pls
On Sat, 14 Jun 2003, Oskar wrote: Hi, I have probs with installing mod_perl onto apache server. PPM installed the mod_perl without probs so I added the LoadModule perl_module modules/mod_perl.so directive into http.conf. Now everytime apache is starting it does not start and returns error message: Syntax error on line 992 of c:/Program Files/Apache Group/Apache2/modules/mod_perl.so into server: Module was not found. The file mod_perl.so is in correct location. Spent hours searching web for solution but only thing I've found is to add LoadFile C:/Perl/bin/perl56.dll into http.conf before the LoadModule perl_module modules/mod_perl.so directive but it does not work neither. Can someone help me pls? I have xp professional, ver. of Apache 2.0.46 and built of perl is 635. Oskar As is described under http://perl.apache.org/docs/2.0/os/win32/, ActivePerl 6xx doesn't work well with mod_perl 2. If you're wanting to stick with 6xx, you'll have to get Apache/1.3 and mod_perl 1. If you want to use Apache/2.0 and mod_perl 2, you'll have to get ActivePerl 8xx (based on perl-5.8). -- best regards, randy kobes
Re: Help needed !!
ECE Webmaster said: Hi , I am having a problem with an application that I am running on an Apache server. It says that it is unable to load the script. I have chmod all things to 777. My application is at http://www.ece.ufl.edu/COE/pages/chat/chatmain.html Thanks a ton Mandeep That doesn't say very much. Unless this is an invitation to test out whether you're keeping up with security patches, I'd suggest that your mod_perl server conf chunks would be more informative. Further, changing permissions to 777 is really dangerous, especially on a university server. And you're the webmaster? Read man pages, check which user apache is running under, where your scripts are loaded from, loads of stuff, which no could really enlighten you on, until you provide real conf files. Yours, bored and brain dead.
Re: Help needed !!
ECE Webmaster wrote: Hi , I am having a problem with an application that I am running on an Apache server. It says that it is unable to load the script. I have chmod all things to 777. My application is at http://www.ece.ufl.edu/COE/pages/chat/chatmain.html You should look in error_log. It'll tell you everything you wanted to know and more. Please spend some time reading this document: http://perl.apache.org/docs/1.0/guide/debug.html#Warning_and_Errors_Explained __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help with Apache::httpd_conf
Hi there, On Thu, 29 May 2003, Shashank Kailash Shringi wrote: I need one common entry for handlers in Location directive, both inside and outside virtual host. I'm not sure I understand your problem, but I wonder if it's the sort of thing that mod_macro could help you with? 73, Ged.
Re: Help: Problems compling mod_perl-1.x-dev on FreeBSD-4.8
I'm going to follow your instructions, thank you. One question, though, since it seems you're adding args to a file that gets passed to mod_perl's build process (which in turn builds httpd): how do you add/activate other modules to apache in this manner. PHP is a DSO (for me) so that's solved. But I have some others, for example one of my config commands: ./configure \ --with-perl=/usr/local/bin/perl \ --server-gid=nogroup \ --suexec-docroot=/usr/local/apache/htdocs \ --enable-module=most \ --enable-module=auth_db \ --enable-module=mmap_static \ --enable-shared=max \ --enable-module=ssl \ --enable-rule=SHARED_CORE \ --activate-module=src/modules/dosevasive/libdosevasive.a and so forth. I may have had the build process incorrect in the beginning, where first I would run a script to do: ./configure \ --with-perl=/usr/local/bin/perl \ --server-gid=nogroup \ --suexec-docroot=/usr/local/apache/htdocs \ --enable-module=most \ --enable-module=auth_db \ --enable-module=mmap_static \ --add-module=src/modules/dosevasive/mod_dosevasive.c \ --enable-shared=max I know that certain configuration parameters need to be set before you build Apache (like the Layout, which I customize). Thanks for your help. At 12:01 PM 5/26/2003, you wrote: Hello again, Please keep it on the list. On Mon, 26 May 2003, Forrest Aldrich wrote: I'm using whatever is in CVS at the moment. The Changes file indicates this is version 1.27_01-dev. Well that *should* be OK, but I have to wonder why you're doing it that way. It can only make things more complicated. Why not just grab the latest tarballs? trying to figure out how to get it statically-linked, as opposed to DSO -- [snip] I've looked around for simple directions out there and haven't run into any. Have you not seen the Guide? Heaven knows it's mentioned enough on this List, and on the mod_perl home page at http://perl.apache.org. It's quite simple to build mod_perl statically. First you may need to stop any existing Apache - things get confusing if you accidentally try to run two at once. (They're confusing enough if you do it on purpose :). Then I'd recommend taking all the junk you now have in /usr/local/apache and hiding it someplace safe for now. I'm assuming you're building with the apache binaries, config files etc. under /usr/local/apache, but you might not be. If not then get rid of them from wherever they are. (I'd just move them, not delete them. :) Then: 0. mkdir -p /home/forrest/src 1. cd /home/forrest/src 2. tar xzvf .../mod_perl-1.27.tar.gz 3. tar xzvf .../apache_1.3.27.tar.gz 4. cd mod_perl-1.27 5. cp attached_file makepl_args.mod_perl 6. perl Makefile.PL 7. make 8. su 9. make install 10. cd ../apache_1.3.27 11. make install Now you should be able to start Apache and see a message in the error_log telling you what it was you started. Then the configuration fun begins: I have no idea if this apache will be suitable for your purposes, but it is at least a static build and I've been using Apache servers built this way for several years with never so much as an oops. 73, Ged. attached_file is just three lines: EVERYTHING=1 DO_HTTPD=1 USE_APACI=1 when you get more comfortable with it, you can start to make more complicated versions of it. When I want to archive a server build, all I keep is this file and the tarballs.
Re: Help: Problems compling mod_perl-1.x-dev on FreeBSD-4.8
Hi there, On Fri, 30 May 2003, Forrest Aldrich wrote: how do you add/activate other modules to apache in this manner. Here's one I prepared earlier. Use caution, this is an old one and I haven't tested it lately. The documentation is in the Eagle Book, I don't know if it's in the CookBook, my copy is distant. Geoff might tell us. 73, Ged. -- USE_APACI=1 APACHE_PREFIX=/usr/local APACHE_SRC=../apache_1.3.22/src DO_HTTPD=1 EVERYTHING=1 ALL_HOOKS=1 PERL_SSI=1 PERL_SECTIONS=1 APACI_ARGS=--sbindir=/usr/local/sbin/httpd_perl APACI_ARGS=--sysconfdir=/usr/local/apache/httpd_perl/conf APACI_ARGS=--runtimedir=/usr/local/apache/httpd_perl/run APACI_ARGS=--logfiledir=/usr/local/apache/httpd_perl/logs APACI_ARGS=--localstatedir=/usr/local/apache/httpd_perl/stat APACI_ARGS=--proxycachedir=/usr/local/apache/httpd_perl/proxy APACI_ARGS=--enable-module=rewrite APACI_ARGS=--enable-module=include APACI_ARGS=--enable-module=info APACI_ARGS=--enable-module=usertrack --
Re: Help with proxy and PerlHandler with Apache::Filter
David Culp wrote: I'm having problems using Proxy after a PerlHandler and Apache::Filter is used. Objective: Proxy/http://foo.com What Happens: proxy:http://foo.com Any suggestion or pointers to relevant docs would be greatly appreciated. Sorry, I have no idea what you're talking about from this description. Can you provide some more information? Also, have you looked at some of the modules that do this, like Apache::ProxyRewrite, Apache::RewritingProxy, and Apache::FilteringProxy? - Perrin
Re: Help - Can Apache 2 Filters be implemented in Apache 1.3.x viamod_perl
On Thu, 2003-03-06 at 23:13, David Culp wrote: Can Apache 2 Filters be implemented in Apache 1.3.x via mod_perl [1.x]? No. However, there are a couple of method for doing this in 1.x. See Apache::Filter or Apache::OutputChain. - Perrin
Re: Help needed to set up Apache, PERL, PHP and MySQL
Mo Elwaisi wrote: Hi I have been tryin to set the following on a Linux machine for the last few months, but i have been having problem, especialy with PERL and Apache 2. I have been advised to use Apache 1.3.27!. i have formated the system and installed Red Hat 8 once again but this time i did not include any packages with the install except MySQL. Anyone could please spend a little bit of time with helping me in order for me to perform this right. as i am really becoming frustrusted with all the problems i have had!!! If you were a bit more specific about your problems you could already be on the way to having them resolved. The modperl list is not a help-desk service, but a volunteer effort. Therefore you don't ask someone first if they are willing to listen to your troubles, but you simply go ahead and tell what your troubles are and if someone has the right knowledge and time they will help you. If you have more than one problem, please report them in separate bug reports. To report problems you have to follow these guidelines: mod_perl 1.0: http://perl.apache.org/docs/1.0/guide/help.html#How_to_Report_Problems mod_perl 2.0: http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems Finally, this reply is not an invitation to email me privately. You must keep all the discussions on the list unless requested otherwise. Oh, and if you are willing to pay, I'm sure that you will be able to find more than one person on that list, that will provide the help-desk-like service for you. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: help with dl_install_.al error please
Warren Pollans wrote: Hi Folks, I still need help with this. Which module is responsible for putting dl_install_.al in auto/DynaLoader? Dynaloader is there. you might want to ask this question over on [EMAIL PROTECTED], where there are people who specialize in the nuances of OS X. truthfully, I'm not sure where this could be originating from - the dl_* functions are all DynaLoader specific ones and part of it's internal magic. sorry. --Geoff
Re: Help: Can't coerce GLOB to string...
On Wed, 26 Feb 2003, Stas Bekman wrote: use threads; use threads::shared; why do you need to load threads? Do you plan to spawn your own threads? No, they're not supposed to be there. ### TRANSFORM my $results; eval { $results = $stylesheet-transform($document); ### --- ERROR HERE It's expecting a scalar as an argument, right? could it be that $document is not a scalar? try to print ref($document)? It's expecting an XML::LibXML::Document which is a blessed scalar, yes. And that's what it gets. I've also done some further tests now and all objects ($document, $stylesheet, etc) are identical for ok'ed and failed requests. Also, I've found that not all threads fail on the first request (but most do) and, older requests may fail as well... I've also tried adding the following to httpd.conf: PerlInterpMaxRequests 10 PerlInterpStart 1 PerlInterpMax 1 This would limit the number of threads to 1, right? Well, it doesn't. Multiple threads are still being created. I'll post this to the dev list. There isn't a bugzilla or something for the mp2, is there? thanks, -Kurt. __ kurt george gjerde [EMAIL PROTECTED] intermedia uib, university of bergen Will work for money.
Re: Help: Can't coerce GLOB to string...
Kurt George Gjerde wrote: On Wed, 26 Feb 2003, Stas Bekman wrote: use threads; use threads::shared; why do you need to load threads? Do you plan to spawn your own threads? No, they're not supposed to be there. ### TRANSFORM my $results; eval { $results = $stylesheet-transform($document); ### --- ERROR HERE It's expecting a scalar as an argument, right? could it be that $document is not a scalar? try to print ref($document)? It's expecting an XML::LibXML::Document which is a blessed scalar, yes. And that's what it gets. I've also done some further tests now and all objects ($document, $stylesheet, etc) are identical for ok'ed and failed requests. Also, I've found that not all threads fail on the first request (but most do) and, older requests may fail as well... Then you should probably try to interactively debug it. I've also tried adding the following to httpd.conf: PerlInterpMaxRequests 10 PerlInterpStart 1 PerlInterpMax 1 This would limit the number of threads to 1, right? Well, it doesn't. Multiple threads are still being created. I'll post this to the dev list. No, this is how you control the perl interpreters pool. Threads are controlled by: IfModule worker.c StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 /IfModule There isn't a bugzilla or something for the mp2, is there? No, most bugs are solved as soon as they come in, at least we are trying to and didn't have a need for the bug tracking systems so far. -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help: Can't coerce GLOB to string...
Kurt George Gjerde wrote: Hi, I get a Can't coerce GLOB to string-error for every new thread that is started (mp2). I have no idea why this happens (or even what this error actually means). The module is included below (line producing the error is marked ERROR HERE). Error happens for every new thread (on the first request). When running ApacheBench ab -c 3 -n 100 http://... I get 3 errors and 97 OKs. [...] use threads; use threads::shared; why do you need to load threads? Do you plan to spawn your own threads? [...] ### PARSE DOCUMENT my $document; eval { $document = $xmlParser-parse_file($documentFilename); }; if ($@) { return error($r,'Error parsing XML document',$@); } [...] ### TRANSFORM my $results; eval { $results = $stylesheet-transform($document); ### --- ERROR HERE It's expecting a scalar as an argument, right? could it be that $document is not a scalar? try to print ref($document)? [...] [Tue Feb 25 16:04:04 2003] [error] [xslTransformer] Error transforming document - Can't coerce GLOB to string in entersub at E:/data/www/perlLib/MyApache/XSLTransformer.pm line 74. [tid=APR::OS::Thread=SCALAR(0x1205be4)|reqno=1|errno=1] -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: HELP - Problem installing modperl
Pablo Jejcic wrote: Here is my 'perl -V'. Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: [...] Compiler: cc='cc', ccflags ='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', [...] cccdlflags='-KPIC', lddlflags='-G' Still, either you aren't using the same compiler as you've used to build perl or the build has a wrong Config.pm. I've read a few threads on this issue via google and they all say the same thing: You must be using the native Solaris cc to build mod_perl (which doesn't support -KPIC). Your perl must have been built with gcc. Try to rebuild mod_perl, with CC=gcc perl Makefile ... __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
RE: HELP - Problem installing modperl
Message- From: Stas Bekman [mailto:[EMAIL PROTECTED]] Sent: 20 February 2003 23:09 To: Pablo Jejcic Cc: [EMAIL PROTECTED] Subject: Re: HELP - Problem installing modperl Pablo Jejcic wrote: I rebuild PERL and when I use perl -V I can see -KPIC but when I try to make mod_perl I receive the same error Any other thoughts??? How is it possible that the same compiler accepts an option for building one program, but not the other? Can you please post your 'perl -V'? __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
RE: HELP - Problem installing modperl
I rebuild PERL and when I use perl -V I can see -KPIC but when I try to make mod_perl I receive the same error Any other thoughts??? Thanks in advance and Thank you very much for your time.- Kind Regards. _ Pablo Jejcic Smartweb Senior system Administrator School of Computing - Robert Gordon University [EMAIL PROTECTED] T:44-(0)1224-262797 F:44-(0)1224-262790 _ ``The nice thing about standards is that there are so many to choose from. And if you really don't like all the standards you just have to wait another year until the one arises you are looking for.'' A. Tanenbaum, ``Introduction to Computer Networks' _ -Original Message- From: Stas Bekman [mailto:[EMAIL PROTECTED]] Sent: 18 February 2003 23:02 To: Pablo Jejcic Cc: [EMAIL PROTECTED] Subject: Re: HELP - Problem installing modperl Pablo Jejcic wrote: Hello guys, I have just installed PERL/Apache and mod_perl, but this last one gave me an error when I try to compile. Could anyone help me? Thi is the error: bash-2.05# make make test cd src/modules/perl make -f Makefile.modperl make[1]: Entering directory `/projects/IRIG/mod_perl-1.99_08/src/modules/perl' cc -I/projects/IRIG/mod_perl-1.99_08/src/modules/perl -I/projects/IRIG/mod_perl-1.99_08/xs -I/projects/IRIG/apache2/prefork/include -I/usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE -DMOD_PERL -xO3 -xdepend -KPIC \ -c mod_perl.c mv mod_perl.o mod_perl.lo cc: unrecognized option `-KPIC' mod_perl reuses the compiler flags perl was built with. It picks them up from Config.pm. Do you see -KPIC in the output of 'perl -V'? You must use exactly the same compiler that you've built your perl with and it should work. cc: language depend not recognized cc: mod_perl.c: linker input file unused because linking not done mv: cannot access mod_perl.o make[1]: *** [mod_perl.lo] Error 2 make[1]: Leaving directory `/projects/IRIG/mod_perl-1.99_08/src/modules/perl' make: *** [modperl_lib] Error 2 bash-2.05# c bash: c: command not found bash-2.05# cc cc: no input files And I'm running: Solaris 9 PERL 5.6.1 Apache 2.0.4 mod_perl 1.99_08 Thanks in advance!! Pablo.- Kind Regards. -- -- Pablo Jejcic Smartweb Senior system Administrator School of Computing - Robert Gordon University [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *T*:44-(0)1224-262797 *F*:44-(0)1224-262790 ``The nice thing about standards is that there are so many to choose from. And if you really don't like all the standards you just have to wait another year until the one arises you are looking for.'' A. Tanenbaum, ``Introduction to Computer Networks' -- -- -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help installing mod_perl 1.27 and apache 1.3.27. newbie question.
On Thursday, February 20, 2003, at 08:13 AM, Charlie Smith wrote: I get errors on installing mod_perl/Apache 1.3.27, under the root account when running perl Makefile.PL. I'm running perl 5.8 on solaris. gcc 2.95. # # # perl Makefile.PL Configure mod_perl with ../apache_1.3.27/src ? [y] Shall I build httpd in ../apache_1.3.27/src for you? [y] sh: make: not found It can't find the 'make' program. You either need to install make, or, if it is isntalled, make sure it's in your $PATH. Cory 'G' Watson http://gcdb.spleck.net
RE: Help installing mod_perl 1.27 and apache 1.3.27. newbie question.
Charlie, It just seems like you need to add make in your path (sh: make: not found). Cheers, Martin Martin Scantland IP Services, Internet Engineering, Nortel Networks Phone: 613.765.4052, ESN 395.4052 -Original Message-From: Charlie Smith [mailto:[EMAIL PROTECTED]]Sent: Thursday, February 20, 2003 9:14 AMTo: [EMAIL PROTECTED]Subject: Help installing mod_perl 1.27 and apache 1.3.27. newbie question. I get errors on installing mod_perl/Apache 1.3.27, under the root account when running perl Makefile.PL. I'm running perl 5.8 on solaris. gcc 2.95. ### perl Makefile.PLConfigure mod_perl with ../apache_1.3.27/src ? [y]Shall I build httpd in ../apache_1.3.27/src for you? [y]sh: make: not foundAppending mod_perl to src/ConfigurationUsing config file: /www/Apache/src/mod_perl-1.27/src/ConfigurationCreating Makefile+ configured for Solaris 280 platform+ setting C compiler to gcc+ setting C pre-processor to gcc -E+ checking for system header files+ adding selected modules o perl_module uses ConfigStart/End + mod_perl build type: OBJ + setting up mod_perl build environment + id: mod_perl/1.27 + id: Perl/v5.8.0 (solaris) [perl] + adjusting Apache build environment + enabling Perl support for SSI (mod_include)./helpers/TestCompile: make: not found+ using builtin Expat./Configure: make: not found+ checking sizeof various data types./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found+ doing sanity check on compiler and options./helpers/TestCompile: make: not found** A test compilation with your Makefile configuration** failed. The below error output from the compilation** test will give you an idea what is failing. Note that** Apache requires an ANSI C Compiler, such as gcc. Error Output for sanity check ./helpers/TestCompile: make: not found= End of Error Report = Aborting!PerlDispatchHandler.disabled (enable with PERL_DISPATCH=1)PerlChildInitHandlerenabledPerlChildExitHandlerenabledPerlPostReadRequestHandler..disabled (enable with PERL_POST_READ_REQUEST=1)PerlTransHandlerdisabled (enable with PERL_TRANS=1)PerlHeaderParserHandler.disabled (enable with PERL_HEADER_PARSER=1)PerlAccessHandler...disabled (enable with PERL_ACCESS=1)PerlAuthenHandler...disabled (enable with PERL_AUTHEN=1)PerlAuthzHandlerdisabled (enable with PERL_AUTHZ=1)PerlTypeHandler.disabled (enable with PERL_TYPE=1)PerlFixupHandlerdisabled (enable with PERL_FIXUP=1)PerlHandler.enabledPerlLogHandler..disabled (enable with PERL_LOG=1)PerlInitHandler.disabled (enable with PERL_INIT=1)PerlCleanupHandler..disabled (enable with PERL_CLEANUP=1)PerlRestartHandler..disabled (enable with PERL_RESTART=1)PerlStackedHandlers.disabled (enable with PERL_STACKED_HANDLERS=1)PerlMethodHandlers..disabled (enable with PERL_METHOD_HANDLERS=1)PerlDirectiveHandlers...disabled (enable with PERL_DIRECTIVE_HANDLERS=1)PerlTableApidisabled (enable with PERL_TABLE_API=1)PerlLogApi..disabled (enable with PERL_LOG_API=1)PerlUriApi..disabled (enable with PERL_URI_API=1)PerlUtilApi.disabled (enable with PERL_UTIL_API=1)PerlFileApi.disabled (enable with PERL_FILE_API=1)PerlConnectionApi...enabledPerlServerApi...enabledPerlSectionsdisabled (enable with PERL_SECTIONS=1) PerlSSI.disabled (enable with PERL_SSI=1) Will run tests as User: 'nobody' Group: 'other'Checking CGI.pm VERSION..okChecking for LWP::UserAgent..okChecking for HTML::HeadParserokWriting Makefile for ApacheWriting Makefile for Apache::ConnectionWriting Makefile for Apache::ConstantsWriting Makefile for Apache::FileWriting Makefile for Apache::LeakWriting Makefile for Apache::LogWriting Makefile for Apache::ModuleConfigWriting Makefile for Apache::PerlRunXSWriting Makefile for Apache::ServerWriting Makefile for Apache::SymbolWriting Makefile for Apache::TableWriting Makefile for Apache::URIWriting Makefile for Apache::UtilWriting Makefile for mod_perl# --This message may contain confidential information, and is intended only for the use of the individual(s) to whom it is addressed.==
RE: Help installing mod_perl 1.27 and apache 1.3.27.newbiequest ion.
makeis in my path as seen here: PATH=/usr/bin:/usr/sbin:/opt/local/bin:/home/oracle/bin:/opt/oracle/9.0.1/bin:/usr/lbin:/usr/ccs/bin:/usr/ucb:. So, the make routine is in the /usr/ccs/bin directory. The error messages before and after the 'sh: make: not found'message are at line 581 (prompt("Shall I build httpd in ../apache_1.3.27/src for you?")and 648 (call to conf_fixup). There is a call to 'make clean' that I was able to run from the command line without error. Does this error message 'sh: make: not found' refer to 'sh' not found or 'make' not found? "Martin Scantland" [EMAIL PROTECTED] 02/20/03 07:56AM Charlie, It just seems like you need to add make in your path (sh: make: not found). Cheers, Martin Martin Scantland IP Services, Internet Engineering, Nortel Networks Phone: 613.765.4052, ESN 395.4052 -Original Message-From: Charlie Smith [mailto:[EMAIL PROTECTED]]Sent: Thursday, February 20, 2003 9:14 AMTo: [EMAIL PROTECTED]Subject: Help installing mod_perl 1.27 and apache 1.3.27. newbie question. I get errors on installing mod_perl/Apache 1.3.27, under the root account when running perl Makefile.PL. I'm running perl 5.8 on solaris. gcc 2.95. ### perl Makefile.PLConfigure mod_perl with ../apache_1.3.27/src ? [y]Shall I build httpd in ../apache_1.3.27/src for you? [y]sh: make: not foundAppending mod_perl to src/ConfigurationUsing config file: /www/Apache/src/mod_perl-1.27/src/ConfigurationCreating Makefile+ configured for Solaris 280 platform+ setting C compiler to gcc+ setting C pre-processor to gcc -E+ checking for system header files+ adding selected modules o perl_module uses ConfigStart/End + mod_perl build type: OBJ + setting up mod_perl build environment + id: mod_perl/1.27 + id: Perl/v5.8.0 (solaris) [perl] + adjusting Apache build environment + enabling Perl support for SSI (mod_include)./helpers/TestCompile: make: not found+ using builtin Expat./Configure: make: not found+ checking sizeof various data types./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found./helpers/TestCompile: make: not found+ doing sanity check on compiler and options./helpers/TestCompile: make: not found** A test compilation with your Makefile configuration** failed. The below error output from the compilation** test will give you an idea what is failing. Note that** Apache requires an ANSI C Compiler, such as gcc. Error Output for sanity check ./helpers/TestCompile: make: not found= End of Error Report = Aborting!PerlDispatchHandler.disabled (enable with PERL_DISPATCH=1)PerlChildInitHandlerenabledPerlChildExitHandlerenabledPerlPostReadRequestHandler..disabled (enable with PERL_POST_READ_REQUEST=1)PerlTransHandlerdisabled (enable with PERL_TRANS=1)PerlHeaderParserHandler.disabled (enable with PERL_HEADER_PARSER=1)PerlAccessHandler...disabled (enable with PERL_ACCESS=1)PerlAuthenHandler...disabled (enable with PERL_AUTHEN=1)PerlAuthzHandlerdisabled (enable with PERL_AUTHZ=1)PerlTypeHandler.disabled (enable with PERL_TYPE=1)PerlFixupHandlerdisabled (enable with PERL_FIXUP=1)PerlHandler.enabledPerlLogHandler..disabled (enable with PERL_LOG=1)PerlInitHandler.disabled (enable with PERL_INIT=1)PerlCleanupHandler..disabled (enable with PERL_CLEANUP=1)PerlRestartHandler..disabled (enable with PERL_RESTART=1)PerlStackedHandlers.disabled (enable with PERL_STACKED_HANDLERS=1)PerlMethodHandlers..disabled (enable with PERL_METHOD_HANDLERS=1)PerlDirectiveHandlers...disabled (enable with PERL_DIRECTIVE_HANDLERS=1)PerlTableApidisabled (enable with PERL_TABLE_API=1)PerlLogApi..disabled (enable with PERL_LOG_API=1)PerlUriApi..disabled (enable with PERL_URI_API=1)PerlUtilApi.disabled (enable with PERL_UTIL_API=1)PerlFileApi.disabled (enable with PERL_FILE_API=1)PerlConnectionApi...enabledPerlServerApi...enabledPerlSectionsdisabled (enable with PERL_SECTIONS=1) PerlSSI.disabled (enable with PERL_SSI=1) Will run tests as User: 'nobody' Group: 'other'Checking CGI.pm VERSION..okChecking for LWP::UserAgent..okChecking for HTML::HeadParserokWriting Makefile for ApacheWriting Makefile for Apache::ConnectionWriting Makefile for Apache::ConstantsWriting Makefile for Apache::FileWriting Makefile for
RE: Help installing mod_perl 1.27 and apache 1.3.27.newbiequest ion.
I did have to add the path to 'make'. Thankyou. I noticed that I had to start up a 'ksh' session and then add the path to 'make'. However, still have problems as seen in the 'sanity check' below. # perl Makefile.PLConfigure mod_perl with ../apache_1.3.27/src ? [y]Shall I build httpd in ../apache_1.3.27/src for you? [y]Appending mod_perl to src/ConfigurationUsing config file: /www/Apache/src/mod_perl-1.27/src/ConfigurationCreating Makefile+ configured for Solaris 280 platform+ setting C compiler to gcc+ setting C pre-processor to gcc -E+ checking for system header files+ adding selected modules o perl_module uses ConfigStart/End + mod_perl build type: OBJ + setting up mod_perl build environment + id: mod_perl/1.27 + id: Perl/v5.8.0 (solaris) [perl] + adjusting Apache build environment + enabling Perl support for SSI (mod_include)+ using builtin Expat+ checking sizeof various data types+ doing sanity check on compiler and optionscd ..; gcc -DSOLARIS2=280 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -I/usr/local/include -I/opt/local/include -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED -fno-strict-aliasing -I/usr/local/include -I/opt/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -I. -I/usr/local/lib/perl5/5.8.0/sun4-solaris/CORE -o helpers/dummy helpers/dummy.c `perl /www/Apache/src/mod_perl-1.27/src/modules/perl/ldopts ` -lsocket -lnsl -lpthread -Wl -L/usr/local/lib -L/opt/local/lib /usr/local/lib/perl5/5.8.0/sun4-solaris/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.0/sun4-solaris/CORE -lperl -lsocket -lnsl -ldl -lm -lccc1: Invalid option `-Wl'cc1: Invalid option `-Wl'*** Error code 1make: Fatal error: Command failed for target `dummy'** A test compilation with your Makefile configuration** failed. The below error output from the compilation** test will give you an idea what is failing. Note that** Apache requires an ANSI C Compiler, such as gcc. Error Output for sanity check cd ..; gcc -DSOLARIS2=280 -DMOD_PERL -DUSE_PERL_SSI -fno-strict-aliasing -I/usr/local/include -I/opt/local/include -DUSE_EXPAT -I./lib/expat-lite -DNO_DL_NEEDED -fno-strict-aliasing -I/usr/local/include -I/opt/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -I. -I/usr/local/lib/perl5/5.8.0/sun4-solaris/CORE -o helpers/dummy helpers/dummy.c `perl /www/Apache/src/mod_perl-1.27/src/modules/perl/ldopts ` -lsocket -lnsl -lpthread -Wl -L/usr/local/lib -L/opt/local/lib /usr/local/lib/perl5/5.8.0/sun4-solaris/auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.8.0/sun4-solaris/CORE -lperl -lsocket -lnsl -ldl -lm -lccc1: Invalid option `-Wl'cc1: Invalid option `-Wl'*** Error code 1make: Fatal error: Command failed for target `dummy'= End of Error Report = Aborting!PerlDispatchHandler.disabled (enable with PERL_DISPATCH=1)PerlChildInitHandlerenabledPerlChildExitHandlerenabledPerlPostReadRequestHandler..disabled (enable with PERL_POST_READ_REQUEST=1)PerlTransHandlerdisabled (enable with PERL_TRANS=1)PerlHeaderParserHandler.disabled (enable with PERL_HEADER_PARSER=1)PerlAccessHandler...disabled (enable with PERL_ACCESS=1)PerlAuthenHandler...disabled (enable with PERL_AUTHEN=1)PerlAuthzHandlerdisabled (enable with PERL_AUTHZ=1)PerlTypeHandler.disabled (enable with PERL_TYPE=1)PerlFixupHandlerdisabled (enable with PERL_FIXUP=1)PerlHandler.enabledPerlLogHandler..disabled (enable with PERL_LOG=1)PerlInitHandler.disabled (enable with PERL_INIT=1)PerlCleanupHandler..disabled (enable with PERL_CLEANUP=1)PerlRestartHandler..disabled (enable with PERL_RESTART=1)PerlStackedHandlers.disabled (enable with PERL_STACKED_HANDLERS=1)PerlMethodHandlers..disabled (enable with PERL_METHOD_HANDLERS=1)PerlDirectiveHandlers...disabled (enable with PERL_DIRECTIVE_HANDLERS=1)PerlTableApidisabled (enable with PERL_TABLE_API=1)PerlLogApi..disabled (enable with PERL_LOG_API=1)PerlUriApi..disabled (enable with PERL_URI_API=1)PerlUtilApi.disabled (enable with PERL_UTIL_API=1)PerlFileApi.disabled (enable with PERL_FILE_API=1)PerlConnectionApi...enabledPerlServerApi...enabledPerlSectionsdisabled (enable with PERL_SECTIONS=1) PerlSSI.disabled (enable with PERL_SSI=1) Will run tests as User: 'nobody' Group: 'other'Checking CGI.pm VERSION..okChecking for LWP::UserAgent..okChecking for HTML::HeadParserokWriting Makefile for ApacheWriting Makefile for Apache::ConnectionWriting Makefile for Apache::ConstantsWriting Makefile for Apache::FileWriting Makefile for Apache::LeakWriting Makefile for Apache::LogWriting Makefile for Apache::ModuleConfigWriting Makefile for Apache::PerlRunXSWriting
Re: Help with Apache 1.3.27 + mod_perl 1.27 installation
Hi there, On Thu, 20 Feb 2003, Arshavir Grigorian wrote: I was trying to build Apache 1.3.27 + mod_perl 1.27 [snip] So, following the suggestion from http://perl.apache.org/docs/1.0/guide/install.html#APACI_ARGS that one can pass *any* arguments to the Apache ./configure through the APACI_ARGS directive, I placed the following lines into /use/local/apache2-19/build/makepl_args.mod_perl APACHE_SRC=../apache_1.3.27/src DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \ APACI_ARGS='--prefix=/usr/local/apache2-19, --enable-module=dir' This generated some errors during the configure process See a sample makepl_args.mod_perl (very old one:) below for the way to use this directive. 73, Ged. -- makepl_args.mod_perl.1.3.22 -- USE_APACI=1 APACHE_PREFIX=/usr/local APACHE_SRC=../apache_1.3.22/src DO_HTTPD=1 EVERYTHING=1 ALL_HOOKS=1 PERL_SSI=1 PERL_SECTIONS=1 APACI_ARGS=--sbindir=/usr/local/sbin/httpd_perl APACI_ARGS=--sysconfdir=/usr/local/apache/httpd_perl/conf APACI_ARGS=--runtimedir=/usr/local/apache/httpd_perl/run APACI_ARGS=--logfiledir=/usr/local/apache/httpd_perl/logs APACI_ARGS=--localstatedir=/usr/local/apache/httpd_perl/stat APACI_ARGS=--proxycachedir=/usr/local/apache/httpd_perl/proxy APACI_ARGS=--enable-module=rewrite APACI_ARGS=--enable-module=include APACI_ARGS=--enable-module=info APACI_ARGS=--enable-module=usertrack
Re: Help with Apache 1.3.27 + mod_perl 1.27 installation
Much cleaner. Thanks! I don't even get those nasty warning about barewords, etc. I still think the example in the guide should be updated. Arsh Ged Haywood wrote: Hi there, On Thu, 20 Feb 2003, Arshavir Grigorian wrote: I was trying to build Apache 1.3.27 + mod_perl 1.27 [snip] So, following the suggestion from http://perl.apache.org/docs/1.0/guide/install.html#APACI_ARGS that one can pass *any* arguments to the Apache ./configure through the APACI_ARGS directive, I placed the following lines into /use/local/apache2-19/build/makepl_args.mod_perl APACHE_SRC=../apache_1.3.27/src DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \ APACI_ARGS='--prefix=/usr/local/apache2-19, --enable-module=dir' This generated some errors during the configure process See a sample makepl_args.mod_perl (very old one:) below for the way to use this directive. 73, Ged. -- makepl_args.mod_perl.1.3.22 -- USE_APACI=1 APACHE_PREFIX=/usr/local APACHE_SRC=../apache_1.3.22/src DO_HTTPD=1 EVERYTHING=1 ALL_HOOKS=1 PERL_SSI=1 PERL_SECTIONS=1 APACI_ARGS=--sbindir=/usr/local/sbin/httpd_perl APACI_ARGS=--sysconfdir=/usr/local/apache/httpd_perl/conf APACI_ARGS=--runtimedir=/usr/local/apache/httpd_perl/run APACI_ARGS=--logfiledir=/usr/local/apache/httpd_perl/logs APACI_ARGS=--localstatedir=/usr/local/apache/httpd_perl/stat APACI_ARGS=--proxycachedir=/usr/local/apache/httpd_perl/proxy APACI_ARGS=--enable-module=rewrite APACI_ARGS=--enable-module=include APACI_ARGS=--enable-module=info APACI_ARGS=--enable-module=usertrack
Re: HELP - Problem installing modperl
Pablo Jejcic wrote: I rebuild PERL and when I use perl -V I can see -KPIC but when I try to make mod_perl I receive the same error Any other thoughts??? How is it possible that the same compiler accepts an option for building one program, but not the other? Can you please post your 'perl -V'? __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help with Apache 1.3.27 + mod_perl 1.27 installation
Arshavir Grigorian wrote: Hi, I was trying to build Apache 1.3.27 + mod_perl 1.27 from the mod_perl tree. Dir structure as follows: /usr/local/apache2-19 /use/local/apache2-19/build /use/local/apache2-19/build/apache_1.3.27 /use/local/apache2-19/build/mod_perl-1.27 So, following the suggestion from http://perl.apache.org/docs/1.0/guide/install.html#APACI_ARGS that one can pass *any* arguments to the Apache ./configure through the APACI_ARGS directive, I placed the following lines into And it's correct. I'm using --enable-module inside APACI_ARGS all the time at the *command* line, as the section suggests. /use/local/apache2-19/build/makepl_args.mod_perl APACHE_SRC=../apache_1.3.27/src DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \ APACI_ARGS='--prefix=/usr/local/apache2-19, --enable-module=dir' This generated some errors during the configure process cd /use/local/apache2-19/build/mod_perl-1.27/ make clean perl Makefile.pl ... '--ENABLE-MODULE' is not a known MakeMaker parameter name. ... I then discovered ADD_MODULE parameter and used that instead of using the Apache's --enable-module parameter. Correct me I am wrong, but I think the guide's section on using the APACI_ARGS parameter should say something about not being able to use '--enable-module' there, and have a pointer to the ADD_MODULE parameter. However there must be a glitch in the way a special makepl_args.mod_perl is processed. If someone can try to resolve a problem and post a patch, that would be very helpful. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: help with Apache::DB
hi stas, thanks for you help. i tried debugging one my non modperl scripts from the command line and it seems to be working as expected. the debugger commands 'w' and 'l' display the source code as expected and i also always see the current line being executed by the debugger. so the problem must be Apache::DB specific. still i am clueless as to what it could be... regards, giorgos On Tue, 2003-02-18 at 23:14, Stas Bekman wrote: giorgos zervas wrote: hi all, i am using Apache::DB to debug my mod_perl handlers and altough the debugger seems to be working fine it won't display the source code next to the current line being debugged. for example: DB10 r scalar context return from CODE(0x8d7101c): - undef Apache::DB::CODE(0x8d7101c)(/usr/local/lib/perl/5.6.1/Apache/DB.pm:35): 35: next to the line starting with 35: the 35th line of source code should be displayed. however this doesn't happen either with my modules or the ones from CPAN. i even thought it might me a font problem and tried to use different terminals and font combinations but none of them worked for me. has anyone else encountered a similar problem? I haven't seen such a thing, but do you see a similar problem if you debug from the command line (certainly something similar but that doesn't require mod_perl). http://perl.apache.org/docs/1.0/guide/debug.html#Introduction_to_the_Perl_Debugger __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com -- giorgos [EMAIL PROTECTED]
Re: help with Apache::DB
On Tue, 2003-02-18 at 08:07, giorgos zervas wrote: i am using Apache::DB to debug my mod_perl handlers and altough the debugger seems to be working fine it won't display the source code next to the current line being debugged. That's because you are compiling that code before you activate the debugger, so it doesn't get to put in the debugging symbols. Look at the init method in the Apache::DB documentation. - Perrin
Re: help with Apache::DB
Perrin Harkins wrote: On Tue, 2003-02-18 at 08:07, giorgos zervas wrote: i am using Apache::DB to debug my mod_perl handlers and altough the debugger seems to be working fine it won't display the source code next to the current line being debugged. That's because you are compiling that code before you activate the debugger, so it doesn't get to put in the debugging symbols. Look at the init method in the Apache::DB documentation. Thanks Perrin, now I recall that ;) and it's even documented: http://perl.apache.org/docs/1.0/guide/debug.html#Interactive_mod_perl_Debugging __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: HELP - Problem installing modperl
Pablo Jejcic wrote: Hello guys, I have just installed PERL/Apache and mod_perl, but this last one gave me an error when I try to compile. Could anyone help me? Thi is the error: bash-2.05# make make test cd src/modules/perl make -f Makefile.modperl make[1]: Entering directory `/projects/IRIG/mod_perl-1.99_08/src/modules/perl' cc -I/projects/IRIG/mod_perl-1.99_08/src/modules/perl -I/projects/IRIG/mod_perl-1.99_08/xs -I/projects/IRIG/apache2/prefork/include -I/usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE -DMOD_PERL -xO3 -xdepend -KPIC \ -c mod_perl.c mv mod_perl.o mod_perl.lo cc: unrecognized option `-KPIC' mod_perl reuses the compiler flags perl was built with. It picks them up from Config.pm. Do you see -KPIC in the output of 'perl -V'? You must use exactly the same compiler that you've built your perl with and it should work. cc: language depend not recognized cc: mod_perl.c: linker input file unused because linking not done mv: cannot access mod_perl.o make[1]: *** [mod_perl.lo] Error 2 make[1]: Leaving directory `/projects/IRIG/mod_perl-1.99_08/src/modules/perl' make: *** [modperl_lib] Error 2 bash-2.05# c bash: c: command not found bash-2.05# cc cc: no input files And I'm running: Solaris 9 PERL 5.6.1 Apache 2.0.4 mod_perl 1.99_08 Thanks in advance!! Pablo.- Kind Regards. Pablo Jejcic Smartweb Senior system Administrator School of Computing - Robert Gordon University [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *T*:44-(0)1224-262797 *F*:44-(0)1224-262790 ``The nice thing about standards is that there are so many to choose from. And if you really don't like all the standards you just have to wait another year until the one arises you are looking for.'' A. Tanenbaum, ``Introduction to Computer Networks' -- __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: help with Apache::DB
giorgos zervas wrote: hi all, i am using Apache::DB to debug my mod_perl handlers and altough the debugger seems to be working fine it won't display the source code next to the current line being debugged. for example: DB10 r scalar context return from CODE(0x8d7101c): - undef Apache::DB::CODE(0x8d7101c)(/usr/local/lib/perl/5.6.1/Apache/DB.pm:35): 35: next to the line starting with 35: the 35th line of source code should be displayed. however this doesn't happen either with my modules or the ones from CPAN. i even thought it might me a font problem and tried to use different terminals and font combinations but none of them worked for me. has anyone else encountered a similar problem? I haven't seen such a thing, but do you see a similar problem if you debug from the command line (certainly something similar but that doesn't require mod_perl). http://perl.apache.org/docs/1.0/guide/debug.html#Introduction_to_the_Perl_Debugger __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help-me
Hello there, On Wed, 12 Feb 2003, Rangel, Luciano wrote: Please help-me with error. waiting for server to start: .[Wed Feb 12 14:56:58 2003] [info] 20 Apache:: modules loaded [Wed Feb 12 14:56:58 2003] [info] 5 APR:: modules loaded [Wed Feb 12 14:56:58 2003] [info] base server + 5 vhosts ready to run tests waiting for server to start: giving up after 61 secs !!! server failed to start! (please examine t/logs/error_log) *** Error code 1 Stop in /usr/src/mod_perl-1.99_08 (line 817 of Makefile). You need to read the documentation provided with mod_perl, it tells you what information you need to provide so that people can know how to help you. For example you don't say what operating system you are using, how you built Apache, mod_perl etc. and those things are very important. If you are new to Apache and mod_perl you might find it easier to work with the 1.x series (Apache 1.3.27 and mod_perl 1.27 are the latest at the moment) because mod_perl 1.99 (which is really the first mod_perl 2.0) is still in the relatively unstable stages of its development. 73, Ged.
Re: Help installing mod_perl-1.99_08
On Thu, 30 Jan 2003 17:57:05 -0700, Casey Songer wrote: When I do httpd -l mod_perl isn't listed, should it be? I also get errors for things in my apache configuration scripts like PerlHandler and PerlRequire, which I assume means that mod_perl isn't installed. I have read through http://perl.apache.org/docs/2.0/user/intro/start_fast.html and http://perl.apache.org/docs/2.0/user/install/install.html and the docs that came with mod_perl. I apologize if I am missing something obvious here, but any help would be extremely appreciated, including links to more documentation that I can read. My apologies if this is a dumb question, but have you checked httpd.conf for the LoadModule perl_module modules/mod_perl.so line? I've been running mod_perl as a DSO, and compiling it as static may make some things different, but I'm pretty sure I've had to add the LoadModule line myself. csw -- /¯\ \ / ASCII RIBBON CAMPAIGN X Against HTML Mail and News / \
Re: Help installing mod_perl-1.99_08
Casey Songer wrote: This is probably a stupid question, but I've been searching the documentation for 3 or 4 hours now and I still can't get mod_perl to install. I have mod_perl installed under apache 1.3.26 and have been running that with great success for a couple years, but I am trying to upgrade to apache 2.0.44 with mod_perl 1.99_08. I can get mod_perl to compile, but I can't get apache to include mod_perl when compiling. Here are the steps I tried (trying to follow the steps in the installation documentation): cd httpd-2.0.44 ./configure --enable-ssl --enable-rewrite cd ../mod_perl-1.99_08 perl Makefile.PL MP_AP_PREFIX=/usr/local/src/httpd-2.0.44 MP_INST_APACHE2=1 MP_USE_STATIC=1 make make install cd ../httpd-2.0.40/modules ln -s /usr/local/src/mod_perl-1.99_08/src/modules/perl/ perl cd .. ./config.nice --enable-perl make make install When I do httpd -l mod_perl isn't listed, should it be? I also get errors for things in my apache configuration scripts like PerlHandler and PerlRequire, which I assume means that mod_perl isn't installed. I have read through http://perl.apache.org/docs/2.0/user/intro/start_fast.html and http://perl.apache.org/docs/2.0/user/install/install.html and the docs that came with mod_perl. I apologize if I am missing something obvious here, but any help would be extremely appreciated, including links to more documentation that I can read. What you are missing is that Apache has to be built and installed first. I'll stress that in the docs. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
RE: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27
No No No - mod_perl-1.99 is really the pre-relase mod_perl 2. You MUST use Apache 2 with mod_perl 2! Aloha = Beau. -Original Message- From: Frank Laczko Jr. [mailto:[EMAIL PROTECTED]] Sent: Sunday, December 29, 2002 11:37 PM To: [EMAIL PROTECTED] Subject: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27 Hello all I am having a problem getting mod_perl-1.99_07 and apache_1.3.27 installed. I have looked through the docs and have not seen a solution, so if one exists and I missed it, let me apologize in advance. I am running the apache configure script that uses apaci with options to enable mod_so and several other modules, then running the perl Makefile.pl script for mod_perl. This is the error I get: $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 USE_DSO=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX. I have also tried : $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX What am I missing? Anyone have any ideas? Thanks in advance Frank Laczko [EMAIL PROTECTED]
RE: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27
This is what i've got trying the same thing: httpd = 2.0.40 is needed by mod_perl-1.99_05-3 perl = 5.8.0 is needed by mod_perl-1.99_05-3 httpd-mmn = 20020628 is needed by mod_perl-1.99_05-3 libapr.so.0 is needed by mod_perl-1.99_05-3 libaprutil.so.0 is needed by mod_perl-1.99_05-3 libc.so.6(GLIBC_2.3) is needed by mod_perl-1.99_05-3 Radu -Original Message- From: Beau E. Cox [mailto:[EMAIL PROTECTED]] Sent: Monday, December 30, 2002 13:59 To: Frank Laczko Jr.; [EMAIL PROTECTED] Subject: RE: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27 No No No - mod_perl-1.99 is really the pre-relase mod_perl 2. You MUST use Apache 2 with mod_perl 2! Aloha = Beau. -Original Message- From: Frank Laczko Jr. [mailto:[EMAIL PROTECTED]] Sent: Sunday, December 29, 2002 11:37 PM To: [EMAIL PROTECTED] Subject: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27 Hello all I am having a problem getting mod_perl-1.99_07 and apache_1.3.27 installed. I have looked through the docs and have not seen a solution, so if one exists and I missed it, let me apologize in advance. I am running the apache configure script that uses apaci with options to enable mod_so and several other modules, then running the perl Makefile.pl script for mod_perl. This is the error I get: $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 USE_DSO=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX. I have also tried : $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX What am I missing? Anyone have any ideas? Thanks in advance Frank Laczko [EMAIL PROTECTED] -- virus checked - cciu unitbv
Re: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27
On Mon, Dec 30, 2002 at 02:36:47AM -0700, Frank Laczko Jr. wrote: Hello all I am having a problem getting mod_perl-1.99_07 and apache_1.3.27 installed. I have looked through the docs and have not seen a solution, so if one exists and I missed it, let me apologize in advance. I am running the apache configure script that uses apaci with options to enable mod_so and several other modules, then running the perl Makefile.pl script for mod_perl. This is the error I get: $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 USE_DSO=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX. I have also tried : $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX What am I missing? Anyone have any ideas? Thanks in advance Frank Laczko [EMAIL PROTECTED] i IS your httpd statically built or dynamically built?? -- Member - Liberal International On 11 Sept 2001 the WORLD was violated. This is [EMAIL PROTECTED] Ici [EMAIL PROTECTED] Society MUST be saved! Extremists must dissolve. Merry Christmas 2002 and Happy 2003
Re: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27
Danke for the responce - I just realized that and have now redone with the correct sources Silly me, I thought 1.99 would still be in the mod_perl1 release :) Thanks Frank - Original Message - From: Beau E. Cox [EMAIL PROTECTED] To: Frank Laczko Jr. [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Monday, December 30, 2002 4:59 AM Subject: RE: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27 No No No - mod_perl-1.99 is really the pre-relase mod_perl 2. You MUST use Apache 2 with mod_perl 2! Aloha = Beau. -Original Message- From: Frank Laczko Jr. [mailto:[EMAIL PROTECTED]] Sent: Sunday, December 29, 2002 11:37 PM To: [EMAIL PROTECTED] Subject: Help! :) - Installation problem with mod_perl-1.99_07 and apache_1.3.27 Hello all I am having a problem getting mod_perl-1.99_07 and apache_1.3.27 installed. I have looked through the docs and have not seen a solution, so if one exists and I missed it, let me apologize in advance. I am running the apache configure script that uses apaci with options to enable mod_so and several other modules, then running the perl Makefile.pl script for mod_perl. This is the error I get: $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 USE_DSO=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX. I have also tried : $ perl Makefile.PL APACHE_SRC=../apache_1.3.xxx/src NO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 Reading Makefile.PL args from @ARGV !!! Unable to determine server version, aborting. !!! Please specify MP_APXS or MP_AP_PREFIX What am I missing? Anyone have any ideas? Thanks in advance Frank Laczko [EMAIL PROTECTED]
Re: Help - SEGFAULTS on 'PerlModule' after version upgrade
Rafiq Ismail (ADMIN) wrote: Ugggh: My software works with the 'original server settings', (apache 1.3.24/mod_perl 1.26) see below(1), under linux. It doesn't work with 'new server settings', (apache 1.3.26 / mod_perl 1.26) see below(2), under freeBSD. Symptoms: With the new build, I get seg faults with 'some' of the PerlModules included through PerlModule in various virtualhosts. Other modules work. These packages all run with strict and do not include any XS besides what may hide under the cover with DBI, Date::Calc and Template. I also have a headache. The packages were happily being included into my old build and there is nothing unusual about them. An strace displays the last couple of lines before a segfault as follows: See, http://perl.apache.org/docs/1.0/guide/help.html#How_to_Report_Problems you need to send the gdb backtrace, not the strace's output. FWIW, I've had segfaults on 'use DBI' with mod_perl 2.0/perl 5.8.0, which have gone after I've updated the DBI package. Try to do the same. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:stas;stason.org http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: HELP with mod_perl version
Alan Chung wrote: Hi, I have tried to upgrade my apache from 1.3.12 to 1.3.26 and openssl from 0.9.5a to 0.9.6g. But when I upgraded mod_perl from 1.24 to 1.26 (it seems that I have to), it could be compiled with no error but httpd couldn't be started with the following error: Apache.pm version 1.26 required! /usr/lib/perl5/site_perl/5.6.0/i686-linux/Apache.pm is version 1.27 Perhaps you forgot to 'make install' or need to uninstall an old version? Found: /usr/lib/perl5/site_perl/5.6.0/i686-linux/Apache.pm From the error, it looks like I need to fall back to order version for mod_perl (?), So I did try to uninstall the current Perl and mod_perl and reinstall again. I even tried the different version of mod_perl (1.25, 1.27) but with the same error. Could anyone give me an advice? Looks like you have either messed up several installations of mod_perl or have forgotten to install the latest binary, which explains why it requires 1.26. Check the timestamp on the httpd binary or the .so module if you are using DSO. And go again through the install steps as explained at http://perl.apache.org/docs/1.0/guide/install.html If you want to make a complete cleanup of all older Apache modules prior to installing the new ones, you could use find(1) to assist you to find the older Apache:: modules. Something like the following: find /usr/lib/perl5 -name 'Apache*' and then deleting them if you are sure that this is what you want: find /usr/lib/perl5 -name 'Apache*' -exec rm {} \; Though be careful that you have a backup of things before you attempt to rm. Notice that you don't have to uninstall *Perl* but only Apache modules. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:stas;stason.org http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help mod_perl 1.27 and DB
Tony Simbine wrote: wenn i reload it, then sometimes i get the document or an error. Well, what's the error? Look at your log file. Then look at http://perl.apache.org/docs/1.0/guide/troubleshooting.html and see if the error is listed there. - Perrin
Re: Help mod_perl 1.27 and DB
On Fri, 8 Nov 2002, Tony Simbine wrote: GET http://www.myhost.com/myscript.perl now I get the results as expect GET http://www.myhost.com/myscript.perl now I get an error wenn i reload my apache-webserver, then i allways get the expected page. how can i resolve it? You know he's right? It's always best to show what your errors actually are. Read the modperl guide and it will show you that this sort of behaviour comes from globals bouncing between processes. Scrop your variables and you'll be a happy man. Always use strict and .. it's a friday night, I'm going to frag now. Read the guide, it's in there. It's under common pitfalls or something of that nature. byebye.
RE: Help with Install
Thanks. The docs suggest not using the threaded version. Although I do not see why. anyway, i am stuck on the Apache install at the moment. -Original Message- From: Lester Vecsey [mailto:[EMAIL PROTECTED]] Sent: Thursday, September 26, 2002 7:52 PM To: [EMAIL PROTECTED] Subject: Re: Help with Install prefork is the way it comes stock, what you probably want is mpm=worker for the threaded version. I notice there is also an option in ./configure called 'threadpool' for the mpm, but its not defined either there or in the website documentation.. i'm in the same boat as you though, trying to find the appropriate setup to use for apache 2.0. in my case i think i can get it working if /usr/bin/perl is my upgraded perl installation, but i'm so far testing with /usr/bin/perl-5.8.0 and /usr/bin/perl-5.8.0-threaded installed, with /usr/bin/perl still pointing to 5.6.0. I was able to get the perl modules DBD, sybase/freettds, etc, running on each of these three independent installations so now I'm trying to get modperl 1.99/2.0 built correctly with the latter two so I can compare mod_perl.so from the 5.8.0 threaded and non-threaded versions in different apache installations. --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.391 / Virus Database: 222 - Release Date: 9/19/2002
Re: Help with Install
- Original Message - From: Jim Kipp [EMAIL PROTECTED] . Also is what is mpm and is 'mpm=prefork' necessary in the apache build config? Any other tips from anyone with a similar setup is appreciated. prefork is the way it comes stock, what you probably want is mpm=worker for the threaded version. I notice there is also an option in ./configure called 'threadpool' for the mpm, but its not defined either there or in the website documentation.. i'm in the same boat as you though, trying to find the appropriate setup to use for apache 2.0. in my case i think i can get it working if /usr/bin/perl is my upgraded perl installation, but i'm so far testing with /usr/bin/perl-5.8.0 and /usr/bin/perl-5.8.0-threaded installed, with /usr/bin/perl still pointing to 5.6.0. I was able to get the perl modules DBD, sybase/freettds, etc, running on each of these three independent installations so now I'm trying to get modperl 1.99/2.0 built correctly with the latter two so I can compare mod_perl.so from the 5.8.0 threaded and non-threaded versions in different apache installations.
Re: help with a simple redirect
On Wed, Sep 18, 2002 at 07:43:43PM +0530, Sylbert L wrote: Hi .. I'm trying to do a simple redirect using mod_perl 2.0, Apache 2.0.40 .. just doesn't seem to work. This is my code, in a file called MySocket.pm package Apache::MySocket; use strict; use Apache::RequestRec (); use Apache::compat(); use Apache::Const -compile = qw(OK REDIRECT); sub handler { my $r = shift; $r-header_out(/test.html); I think you want $r-header_out(Location = http://domain.com/test.html;); return Apache::REDIRECT; } 1; This is what i added to httpd.conf : - Location /ok/ok SetHandler modperl PerlResponseHandler Apache::MySocket /Location - When I do this : http://localhost/ok/ok i want the web server to redirect to: http://localhost/test.html Where am i going wrong ? I'm not getting any errors .. even 'error_log ' is blank. Any clues ? Thanks -- Robert Landrum Systems Programmer
Re: help with a simple redirect
On 9/18/02 2:06 PM, Robert Landrum [EMAIL PROTECTED] wrote: $r-header_out(Location = http://domain.com/test.html;); This would work: $r-header_out(Location = /test.html\n\n); Cheers! -Sx- :]
Re: help with a simple redirect
iudicium ferat wrote: On 9/18/02 2:06 PM, Robert Landrum [EMAIL PROTECTED] wrote: $r-header_out(Location = http://domain.com/test.html;); This would work: $r-header_out(Location = /test.html\n\n); of course, this is common. but technically Location is only supposed to use an absolute URI. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 --Geoff
Re: help getting started ..
Sylbert L wrote: Hi, I'm just getting started with mod_perl. Was trying out the Apache::CommandServer sample code provided in the documentation, but I seem to get this error : Can't locate object method run_access_checker via package Apache::RequestRec at . add: use Apache::HookRun (); in mod_perl 2.0 methods are spread across many modules for the maximum performance and modularity. Once the API docs will be created you will just have to search for the method in question and load the module that has it. For now the easiest way is to grep the WrapXS dir: .../modperl-2.0 grep -Ir run_access_checker WrapXS WrapXS/Apache/HookRun/HookRun.xs:ap_run_access_checker(r) WrapXS/Apache/HookRun/HookRun.c:XS(XS_Apache__RequestRec_run_access_checker); /* prototype to pass -Wmissing-prototypes */ WrapXS/Apache/HookRun/HookRun.c:XS(XS_Apache__RequestRec_run_access_checker) WrapXS/Apache/HookRun/HookRun.c:Perl_croak(aTHX_ Usage: Apache::RequestRec::run_access_checker(r)); WrapXS/Apache/HookRun/HookRun.c:RETVAL = ap_run_access_checker(r); WrapXS/Apache/HookRun/HookRun.c: newXS(Apache::RequestRec::run_access_checker, XS_Apache__RequestRec_run_access_checker, file); I'm using Apache 2.0.40, with mod_perl 2.0, Perl 5.8.0 on Red Hat Linux 7.2. Also, I was just reading up on the mod_perl handlers. Is it possible to modify the working of apache, such that, it doesn't close the connection with the client ? and the connection with the client remains a constant one until the client explicitly closes the connection ? Can this be done at a module level ? Or do I need to modify the Apache source to acomplish the same ? If its possible with mod_perl, which PerlHandler(s) need to be used ? HTTP is a stateless protocol and while you have the KeepAlive functionality to serve several requests over the same connection, you cannot rely on that to keep the connection open. Most likely you need to write a protocol handler for that. See: http://perl.apache.org/docs/2.0/user/handlers/protocols.html for examples and explanations. Thanks a whole lot. I've just recently purchased Oreilly's Writing Apache Modules with Perl and C, but realized that it isn't too much of help, coz I'm dealing with Apache 2.0 the book is all about Apache 1.3 theres such a drastic difference between the two mod_perl implementations. Is there any other source of documentation / help I can find ? Yes. There is enough to keep you busy for quite a while: http://perl.apache.org/docs/2.0/user/index.html __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: help getting started ..
Thanks Stas, the code works just fine now. This is what i'd read : [Apache 1.3 is hardwired to speak only one protocol, HTTP. Apache 2.0 has moved to more of a server framework architecture making it possible to plugin handlers for protocols other than HTTP. The protocol module design also abstracts the transport layer so protocols such as SSL can be hooked into the server without requiring modifications to the Apache source code. This allows Apache to be extended much further than in the past, making it possible to add support for protocols such as FTP, SMTP, RPC flavors and the like. The main advantage being that protocol plugins can take advantage of Apache's portability, process/thread management, configuration mechanism and plugin API.] So if this is true, then shouldn't it be possible for me to implment a constant connection using Apache 2.0 ? Thanks again, Sylbert L PS : Any idea when the API docs will be available ? I'm using Apache 2.0.40, with mod_perl 2.0, Perl 5.8.0 on Red Hat Linux 7.2. Also, I was just reading up on the mod_perl handlers. Is it possible to modify the working of apache, such that, it doesn't close the connection with the client ? and the connection with the client remains a constant one until the client explicitly closes the connection ? Can this be done at a module level ? Or do I need to modify the Apache source to acomplish the same ? If its possible with mod_perl, which PerlHandler(s) need to be used ? HTTP is a stateless protocol and while you have the KeepAlive functionality to serve several requests over the same connection, you cannot rely on that to keep the connection open.
Re: help getting started ..
Sylbert L wrote: Thanks Stas, the code works just fine now. cool. I've fixed the online doc. This is what i'd read : [Apache 1.3 is hardwired to speak only one protocol, HTTP. Apache 2.0 has moved to more of a server framework architecture making it possible to plugin handlers for protocols other than HTTP. The protocol module design also abstracts the transport layer so protocols such as SSL can be hooked into the server without requiring modifications to the Apache source code. This allows Apache to be extended much further than in the past, making it possible to add support for protocols such as FTP, SMTP, RPC flavors and the like. The main advantage being that protocol plugins can take advantage of Apache's portability, process/thread management, configuration mechanism and plugin API.] So if this is true, then shouldn't it be possible for me to implment a constant connection using Apache 2.0 ? See my previous reply. You need to implement a protocol handler. Here is the URL again: http://perl.apache.org/docs/2.0/user/handlers/protocols.html PS : Any idea when the API docs will be available ? We want to reuse as much of the C headers Apache docs as possible, Lyle is working on writing a tool which will extract them. I'm not sure what's the status of things. Perhaps Lyle can give us an update. Meanwhile, if you aren't sure what APIs to use look in the t/ directory, where there are a few hundreds of tests that exercise most of the existing APIs. Overall 1.3 methods aren't very different in 2.0, there are just a bunch of new methods which are new. Also you can reuse the Apache C documentation as well. See: http://docx.webperf.org and http://lxr.webperf.org/ __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help with apache::sandwich
Éric, Try: Directory /web/httpd/htdocs/elterry ... snip ... /Directory instead. Location is used for URIs, not directories. An alternative would be: Location /elterry ... snip ... /Location if DocumentRoot is set to /web/httpd/htdocs for Apache. Paul Eric Terry écrivit: I have the following added to my httpd.conf file: # (Apache::Sandwich) # Add directory custom header Location /web/httpd/htdocs/elterry SetHandlerperl-script PerlHandler Apache::Sandwich PerlSetVar HEADER /my_header.html /Location Here are my html files: my_header.html: html head titleSystem Wide/title /head body p /I am the header. Index.html: hr p /This is just a thought. p /But something should be above me. /body /html The header doesn't show up when I go to the index page. What's up? Eric Paul de Repentigny Directeur Développement Logiciel / Director Software Development Graph Architecture Inc. C/C++/Perl/mod_perl/Linux/PHP/MySQL/Lingo/BasicScript/WUP/Etc. tel: (418) 659-5611 email: [EMAIL PROTECTED] web: http://www.grapharchitecture.com/ If you're not part of the solution, start another problem!
Re: Help with Method Handlers in mod_perl 1.99
On Fri, 3 May 2002, Peter Rothermel wrote: I tried the mehod attribute and now I get this error: Error message: Can't locate object method via package Apache::AuthDerivedHandler. method handlers were broken in _01, this has been fixed in cvs and will be in 1.99_02
Re: HELP - Trying to get mod_perl and Apache2 working together onWin32....
On Fri, 3 May 2002, Jean-Marc Paulin wrote: Hi there, I am runing Win2000 SP2, and Apache 2.0.35 I have managed to build mod_perl (perl Makefile.PL and then nmake) but the test part fails: Apache crashes (Memory at 0x0018 cannot be read). Bug Maybe ? It seems so ... However, as you note below, it hang on apache\post: apache\cgihandlerok apache\compatok apache\compat2...ok apache\conftree..FAILED before any test output arrived apache\constants.ok apache\post..*** : halting tests and yet, on my system, running nmake t/TEST t/apache/post.t has this test running successfully. So it may be a problem in the way the tests are being run via 'nmake test', as opposed to a problem with individual tests. Further to this, if you run 'nmake test' and skip apache/post.t, it then hangs at the next test. Ok, I believe that configuration has been tryed before, so I must be missing a point somewhere. Oh, BTW, I have tried the nmake install anyway, but that does not go very well either as Apache fails to start if I include the PerlModule handler in the httpd.conf. Myself, and others, have got mod_perl to load OK ... What is your configuration that's failing? Did you copy the generated mod_perl.so to $APACHE/modules? best regards, randy kobes
Re: HELP - Trying to get mod_perl and Apache2 working together on Win32....
Randy, Thanks a lot. I thought I was not the only one. In fact, this is not the test apache\post that hangs, but when running the test apache\conftree that apache.exe dies.what happens after is because I've aborted the script via Ctrl+Brk. Regarding the Pb with Apache itself, I did copy the mod_perl.so to the modules folder with nmake install (so they said in the book) Are you running Apache 2.00.35 ? does the test (via nmake test) works for you ? or others ? Regards, JM - Original Message - From: Randy Kobes [EMAIL PROTECTED] To: Jean-Marc Paulin [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Friday, May 03, 2002 3:41 PM Subject: Re: HELP - Trying to get mod_perl and Apache2 working together on Win32 On Fri, 3 May 2002, Jean-Marc Paulin wrote: Hi there, I am runing Win2000 SP2, and Apache 2.0.35 I have managed to build mod_perl (perl Makefile.PL and then nmake) but the test part fails: Apache crashes (Memory at 0x0018 cannot be read). Bug Maybe ? It seems so ... However, as you note below, it hang on apache\post: apache\cgihandlerok apache\compatok apache\compat2...ok apache\conftree..FAILED before any test output arrived apache\constants.ok apache\post..*** : halting tests and yet, on my system, running nmake t/TEST t/apache/post.t has this test running successfully. So it may be a problem in the way the tests are being run via 'nmake test', as opposed to a problem with individual tests. Further to this, if you run 'nmake test' and skip apache/post.t, it then hangs at the next test. Ok, I believe that configuration has been tryed before, so I must be missing a point somewhere. Oh, BTW, I have tried the nmake install anyway, but that does not go very well either as Apache fails to start if I include the PerlModule handler in the httpd.conf. Myself, and others, have got mod_perl to load OK ... What is your configuration that's failing? Did you copy the generated mod_perl.so to $APACHE/modules? best regards, randy kobes
Re: HELP - Trying to get mod_perl and Apache2 working together onWin32....
On Fri, 3 May 2002, Jean-Marc Paulin wrote: Randy, Thanks a lot. I thought I was not the only one. In fact, this is not the test apache\post that hangs, but when running the test apache\conftree that apache.exe dies.what happens after is because I've aborted the script via Ctrl+Brk. I didn't have a problem with apache\conftree the last time I checked, but this was several days ago, with the cvs versions of apache/mod_perl. Did this problem arise for you with the cvs versions? If not, it may be worth trying these to see if your problem persists. Regarding the Pb with Apache itself, I did copy the mod_perl.so to the modules folder with nmake install (so they said in the book) Are you running Apache 2.00.35 ? does the test (via nmake test) works for you ? or others ? Running the individual tests as, eg, perl -Mblib t/TEST t/apache/post.t works in running the tests individually for me, although some do fail (eg, some in modperl/dir_config). best regards, randy
Re: Help with Method Handlers in mod_perl 1.99
Peter Rothermel wrote: Can somebody help me out with Method Handlers in Apache2 - mod_perl 1.99? I'm new to windows and its threading issues. [snip] sub authenticate ($$) { my ($self, $r) = _; return OK; } I haven't played much with mod_perl 2.0 yet, but I know that this format is deprecated now. instead, try sub authenticate : method { ... } and look for method handlers in design.pod and compat.pod HTH --Geoff
Re: Help with Method Handlers in mod_perl 1.99
I tried the mehod attribute and now I get this error: Error message: Can't locate object method via package Apache::AuthDerivedHandler. Geoffrey Young wrote: Peter Rothermel wrote: Can somebody help me out with Method Handlers in Apache2 - mod_perl 1.99? I'm new to windows and its threading issues. [snip] sub authenticate ($$) { my ($self, $r) = _; return OK; } I haven't played much with mod_perl 2.0 yet, but I know that this format is deprecated now. instead, try sub authenticate : method { ... } and look for method handlers in design.pod and compat.pod HTH --Geoff
Re: Help with Basic Auth mod_perl2
Peter: please subscribe to the users list, see http://perl.apache.org/preview/modperl-docs/dst_html/maillist/list-modperl.html for more information. That is where you should post questions like this, not the development list which is exclusively for mod_perl core development. I forwarded your e-mail to [EMAIL PROTECTED], so that others can reply there. At 19:23 30.04.2002, Peter Rothermel wrote: greetings, I'm somewhat new to this group so please point me to the FAQ if I'm asking the wrong questions for this forum. I'm trying to migrate from Apache 1.3 on Unix to Apache 2.0 on WinNT and I'm running into problems getting my perl modules working. Here's the first of my problems: I've added an Authentication Handler to a location that uses basic auth and can't get this simple example from the Eagle book running. It looks like $r-coonection-user is no longer supported. If I use $r-user the auth handler works fine. I'm I not using Apache::compat correctly? Here's my auth handler: sub authenBasic ($) { my $r = shift; my ($res, $sentpass) = $r-get_basic_auth_pw; return $res if $res != OK; # my $user = $r-user; my $user = $r-connection-user; unless ($user and $sentpass) { $r-note_basic_auth_failure; $r-log_reason(Both a username and password must be supplied, $r-filename); return AUTH_REQUIRED; } Here's the error message that gets sent to the browser: Server error! Error message: Can't locate object method user via package Apache::Connection at C:\Apache2 /blib/lib/Apache/AgentAuthCookie.pm line 23. If you think this is a server error, please contact the webmaster mailto:@@ServerAdmin@; Error 500 localhost / 04/30/2002 09:41:43 AM Apache/2.0.36-dev (Win32) mod_perl/1.99_02-dev Perl/v5.6.0 Here's the entry in the error.log: [Tue Apr 30 09:41:43 2002] [error] [client 127.0.0.1] Can't locate object method user via package Apache::Connection at C:\Apache2/blib/lib/Apache/AgentAuthCookie.pm line 23. In my httpd.conf file: PerlSwitches -Mblib=C:\Apache2 PerlModule Apache2 Location /hello PerlResponseHandler Apache::HelloWorld SetHandler modperl /Location PerlModule Apache::compat PerlRequire /apache2/conf/startup.pl Alias /modperl /apache2/perlmods Location /modperl SetHandler perl-script Options ExecCGI PerlSendHeader On PerlOptions +GlobalRequest PerlResponseHandler ModPerl::Registry allow from all /Location PerlModule Apache::WGTI::hello PerlModule Apache::AgentAuthCookie Location /modperl/hello SetHandler perl-script AuthType Basic AuthName WatchGuardAgentUser PerlAuthenHandler Apache::AgentAuthCookie::authenBasic require valid-user PerlHandler Apache::WGTI::hello /Location In my startup.pl: $ENV{MOD_PERL} or die not running under mod_perl!; use Apache2 (); use Apache::compat (); use Carp (); use CGI (); CGI-compile(':all'); CGI-compile(':standard'); use CGI::Carp; use Apache::AgentAuthCookie; 1; -- Per Einar Ellefsen [EMAIL PROTECTED]
Re: Help needed tracking down 'Callback called exit' problem
Is there anyway to have the parent apache process log all creations/exits of the children? This way I could setup an access log with the PID of each child and then trace back all requests served after it's death. recipe 17.5 in the cookbook describes how to do this. basically you can hook into the PerlChildInitHandler and PerlChildExitHandler phases with some sort of marking mechanism similar to the code here http://www.modperlcookbook.org/code/ch17/Cookbook/LogChildren.pm HTH --Geoff
Re: Help needed tracking down 'Callback called exit' problem
At 18:10 29.04.2002, Paul Dlug wrote: I have a problem I can't seem to track down, showing up in our logs is: Out of memory! Callback called exit. I don't know if it'll be of any help, but you might want to look in the guide: http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/guide/troubleshooting.html#Callback_called_exit -- Per Einar Ellefsen [EMAIL PROTECTED]
Re: Help required
At 10:41 16.04.2002, Murugan K wrote: Hi I am new to mod_perl and i am developing some samples using mod_perl . While developing sample , i do not want to restart the server frequently with respect to my changes. So i used the$r-header_out(Pragma, no-cache); statement not to cache the results. i seems to be not working for me . Any suggestions and how to include the directives in the server side not to cache the results. Your problem isn't that the browser caches the results, but that mod_perl caches your code. I suppose you are using Apache handlers, so you should look into some module reloading mechanism such as Apache::StatINC. See the Guide ( http://perl.apache.org/guide/ ): http://thingy.kcilink.com/modperlguide/porting/Using_Apache_StatINC_for_the_De.html -- Per Einar Ellefsen [EMAIL PROTECTED]
Re: Help required
Murugan K wrote: Hi I am new to mod_perl and i am developing some samples using mod_perl . While developing sample , i do not want to restart the server frequently with respect to my changes. So i used the$r-header_out(Pragma, no-cache); statement not to cache the results. i seems to be not working for me . Any suggestions and how to include the directives in the server side not to cache the results. Thanks in advance With Regards K.Murugan $r-no_cache(1); Issac
Re: Help required
Issac Goldstand wrote: Murugan K wrote: Hi I am new to mod_perl and i am developing some samples using mod_perl . While developing sample , i do not want to restart the server frequently with respect to my changes. So i used the$r-header_out(Pragma, no-cache); statement not to cache the results. i seems to be not working for me . Any suggestions and how to include the directives in the server side not to cache the results. Thanks in advance With Regards K.Murugan $r-no_cache(1); Issac Actually, Per is correct. I just saw you trying to tell the browser not to caache and assumed you wanted to know how to do that. See Per's answer above. Sorry. Issac
Re: Help Needed - RegistryCooker.pm -mod_perl-2 - Apache 2.0.35-(ActivePerl 631)
On Tue, 16 Apr 2002, Arul, Rex wrote: I am not sure, if I should post it here: OS: Windows 2000; Perl:ActivePerl 631; Apache:2.0.35; Mod_Perl:1.99_01 downloaded via PPM under theorynx website. In the httpd.conf, I am making the Apache::Registry pointer to be Apache2::ModPerl::Registry. However, when my CGI script is run, I get this error: Server error! Error message: Can't locate ModPerl/RegistryCooker.pm in INC (INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. BEGIN failed--compilation aborted at C:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. Compilation failed in require at (eval 1) line 3. However, on verifying the directory, I am able to see RegistryCooker.pm file under the INC path specified. It is lying right there next to Registry.pm!!! It looks like the Apache2/ subdirectory isn't being added to INC. Do you 'use Apache2' in your set-up? Does adding that to your script help? best regards, randy kobes
RE: Re: Help Needed - RegistryCooker.pm -mod_perl-2 - Apache 2.0.35-(ActivePerl 631)
Randy Kobes [EMAIL PROTECTED] wrote: On Tue, 16 Apr 2002, Arul, Rex wrote: I am not sure, if I should post it here: OS: Windows 2000; Perl:ActivePerl 631; Apache:2.0.35; Mod_Perl:1.99_01 downloaded via PPM under theorynx website. In the httpd.conf, I am making the Apache::Registry pointer to be Apache2::ModPerl::Registry. However, when my CGI script is run, I get this error: Server error! Error message: Can't locate ModPerl/RegistryCooker.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. BEGIN failed--compilation aborted at C:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. Compilation failed in require at (eval 1) line 3. However, on verifying the directory, I am able to see RegistryCooker.pm file under the @INC path specified. It is lying right there next to Registry.pm!!! It looks like the Apache2/ subdirectory isn't being added to @INC. Do you 'use Apache2' in your set-up? Does adding that to your script help? It just bombs if I try to use the statement, use Apache2; or use Apache2 (); in the startup script. Well! If you think about it, I am in Catch-22. For startup script to work, PerlRequire should work. That is not working in my case. So I put PerlModule Apache2 expecting that to work! Well, that is not working either. Services Panel correctly recognizes that Mod_Perl_1.99 has been associated with Apache 2.0.35 installation. The Files are in the right directories posited by @INC. Thanks, Rex __ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
RE: Re: Help Needed - RegistryCooker.pm -mod_perl-2 - Apache 2.0.35-(ActivePerl631)
Stas: The fix still does not work. Here is the error message (OS: Windows NT 4.0 SP 6a; ActivePerl 628; PPM Install of Mod_Perl-1.99 from theoryx.uwinnipeg.ca and Apache 2.0.35): Server error! Error message: Attempt to free unreferenced scalar at E:/Perl/site/lib/Apache2/ModPerl/RegistryCooker.pm line 53. Compilation failed in require at E:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. BEGIN failed--compilation aborted at E:/Perl/site/lib/Apache2/ModPerl/Registry.pm line 11. Compilation failed in require at (eval 2) line 3. If you think this is a server error, please contact the webmaster Error 500 retail_office 04/16/02 10:58:18 PM Apache/2.0.35 (Win32) mod_perl/1.99_02-dev Perl/v5.6.1 -- Rex Stas Bekman [EMAIL PROTECTED] wrote: Try this patch that doug just committed to cvs: dougm 02/04/16 10:14:16 Modified: ModPerl-Registry/lib/ModPerl RegistryCooker.pm Log: Apache-server-dir_config crashes on win32; comment it out for the moment Revision Changes Path 1.6 +5 -4 modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm Index: RegistryCooker.pm === RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- RegistryCooker.pm 13 Nov 2001 04:34:31 - 1.5 +++ RegistryCooker.pm 16 Apr 2002 17:14:16 - 1.6 @@ -42,10 +42,11 @@ # httpd.conf with: # PerlSetVar ModPerl::RegistryCooker::DEBUG 4 use Apache::ServerUtil (); -use constant DEBUG = - defined Apache-server-dir_config('ModPerl::RegistryCooker::DEBUG') - ? Apache-server-dir_config('ModPerl::RegistryCooker::DEBUG') - : D_NONE; +use constant DEBUG = 0; +#XXX: below currently crashes the server on win32 +# defined Apache-server-dir_config('ModPerl::RegistryCooker::DEBUG') +# ? Apache-server-dir_config('ModPerl::RegistryCooker::DEBUG') +# : D_NONE; # # object's array index's access constants __ Stas Bekman JAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com __ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
Re: Help Requested: Segfault 11 7 MONTHS after compilation on multiple servers all compiled the same running different code and different Redhat Released all on the same day [BUG]
Stas, I'm much closer thanks to your document*. I now at least I feel like I'm moving forward for the first time in months. OK, so I'm pretty sure short of recompiling Perl, that I have all the correct debug things turned on though the user permission problem still plague me a bit. I just chgrp'd the whole dir to httpd and did a chmod g+w -R so I think that should fix any permission problems for a core file to be created. Here's some notes abour your document and the problems I had as I'm pretty sure it's a work in progress. 1st, I had a little trouble following the Bad Segv stuff because I had to install Parser and then Inline. That was no big deal but then your code was written for a much older version of Inline and no longer works, yada, yada, yada. The version of Bad::Segv that I developed VERY quickly to get around this is up at http://www.peregrinehw.com/downloads/apache/mod_perl 2nd, The segv.cgi at the same location as the Bad:Segv above, segfaults on the command line and through normal CGI but not with mod_perl. Here's the error I get trying to run this script with mod_perl (1.26): [Tue Apr 9 09:53:16 2002] [error] [Tue Apr 9 09:53:16 2002] PerlHandler subroutine `Apache::Registry::handler': Undefined subroutine Bad::Segv::segv called at /htdocs/peregrinehw.com/html/segv.cgim line 12. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': One or moreDATA sections were not processed by Inline. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': Thoughts? Something special with mod_perl? I didn't add the Bad::Segv to the startup.pl or anything at all. Regards, Kevin A. McGrail * http://perl.apache.org/preview/modperl-docs/dst_html/docs/2.0/devel/debug_c/ debug_c.html#Getting_the_core_File_Dumped Bad-Segv-0.20.tar.gz Description: GNU Zip compressed data
Re: Help Requested: Segfault 11 7 MONTHS after compilation on multiple servers all compiled the same running different code and different Redhat Released all on the same day [BUG]
Kevin A. McGrail wrote: 2nd, The segv.cgi at the same location as the Bad:Segv above, segfaults on the command line and through normal CGI but not with mod_perl. Here's the error I get trying to run this script with mod_perl (1.26): [Tue Apr 9 09:53:16 2002] [error] [Tue Apr 9 09:53:16 2002] PerlHandler subroutine `Apache::Registry::handler': Undefined subroutine Bad::Segv::segv called at /htdocs/peregrinehw.com/html/segv.cgim line 12. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': One or moreDATA sections were not processed by Inline. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': Thoughts? Something special with mod_perl? I didn't add the Bad::Segv to the startup.pl or anything at all. I haven't been following this thread, but it appears to me from the error message that the DATA section might be causing the problem in conjunction with Apache::Registry, which explicitly states: Your scripts cannot contain the __END__ or __DATA__ token to terminate compilation. in the CAVEATS section. Ignore this if I'm offbase. (darren) -- The knowledge that makes us cherish innocence makes innocence unattainable. -- Irving Howe
Re: Help Requested: Segfault 11 7 MONTHS after compilation on multipleservers all compiled the same running different code and different RedhatReleased all on the same day [BUG]
darren chamberlain wrote: Kevin A. McGrail wrote: 2nd, The segv.cgi at the same location as the Bad:Segv above, segfaults on the command line and through normal CGI but not with mod_perl. Here's the error I get trying to run this script with mod_perl (1.26): [Tue Apr 9 09:53:16 2002] [error] [Tue Apr 9 09:53:16 2002] PerlHandler subroutine `Apache::Registry::handler': Undefined subroutine Bad::Segv::segv called at /htdocs/peregrinehw.com/html/segv.cgim line 12. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': One or moreDATA sections were not processed by Inline. [Tue Apr 9 09:53:16 2002] END block subroutine `Inline::END': Thoughts? Something special with mod_perl? I didn't add the Bad::Segv to the startup.pl or anything at all. I haven't been following this thread, but it appears to me from the error message that the DATA section might be causing the problem in conjunction with Apache::Registry, which explicitly states: Your scripts cannot contain the __END__ or __DATA__ token to terminate compilation. in the CAVEATS section. Ignore this if I'm offbase. it's a perl handler, not a registry script. ignore mode is on :) __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Re: Help Requested: Segfault 11 7 MONTHS after compilation on multipleservers all compiled the same running different code and different RedhatReleased all on the same day [BUG]
On Tue, 9 Apr 2002, Stas Bekman wrote: Looks like you cannot run the Inline code under mod_perl. I remember Brian told me the secret code to make it work under mod_perl :) Ah, this might be it. The first time the Inline code is run the ILSM (Inline Support Module) compiles[1] the code. It then stashes this away in the .Inline directory, then reads this 'compiled' code back in again this, and every other time, it's called. If it can't do that then this could be a problem. I'd be tempted to run the code as someone who has rights to write in the directory for the first time after I'd installed it/made any changes. Make sure your webserver has permissions to read these files. Don't change the source file (any part of it, even the perl part) without rerunning the code as that privileged user (to recompile it.) [ snip lots of code ] make sure that /tmp/Inline is writable by the webserver. Hopefully you will figure out how to fix completely Bad::Segv and I'll have more time to do other things :) Thanks. Um...if you do this arn't you essentially creating a directory where you can store executable code that will be read in by your webserver and run that can be written to by your webserver? Isn't this a little insecure? Later. Mark. [1] Compiles in the looses sense of the word. Very accurate for C, less true for other languages. -- s'' Mark Fowler London.pm Bath.pm http://www.twoshortplanks.com/ [EMAIL PROTECTED] ';use Term'Cap;$t=Tgetent Term'Cap{};print$t-Tputs(cl);for$w(split/ +/ ){for(0..30){$|=print$t-Tgoto(cm,$_,$y). $w;select$k,$k,$k,.03}$y+=2}
Re: Help Requested: Segfault 11 7 *snip*
* Stas Bekman [EMAIL PROTECTED] [2002-04-09 12:14]: darren chamberlain wrote: Kevin A. McGrail wrote: 2nd, The segv.cgi at the same location as the Bad:Segv above, segfaults on the command line and through normal CGI but not with mod_perl. Here's the error I get trying to run this script with mod_perl (1.26): [Tue Apr 9 09:53:16 2002] [error] [Tue Apr 9 09:53:16 2002] PerlHandler subroutine `Apache::Registry::handler': Undefined subroutine ^ [-- snip --] it's a perl handler, not a registry script. I'm just reading the error message, that's all. :) (darren) -- I can't understand why a person will take a year or two to write a novel when he can easily buy one for a few dollars. -- Fred Allen
Re: Help Requested: Segfault 11 7 MONTHS after compilation on multipleservers all compiled the same running different code and different RedhatReleased all on the same day [BUG]
Hi there, On Mon, 8 Apr 2002, Kevin A. McGrail wrote: help in regards to making a core file. Check the debug section of the Guide: http://perl.apache.org/guide Also see the file .../mod_perl-x.xx/SUPPORT for advice on what information should be posted with a reort such as yours. 73, Ged. PS: That's a VERY long subject line... :)
Re: help: LWP::Simple within a mod_perl context
Matthew Kennedy [EMAIL PROTECTED] said something to this effect on 01/28/2002: Hello, I am using LWP::Simple within a mod_perl context to retrieve content from an external site within a request to our site. I've installed LWP::Simple correctly, however is doesn't work within mod_perl and (I suspect) it doesn't work work within a regular CGI app. I wrote a simple script and ran it su - apache -c '/path/to/script' and it doesn't return any content. It does return content for real user id's though (eg. su - mkennedy ...). So I suspect the apache user cannot use LWP::Simple because LWP::Simple is requiring some rights user apache does not have. Have you tried running this as the apache user: $ /path/to/perl -MLWP::Simple -le 'getprint http://my.url/to/get;' This will tell you if the problem is with LWP::Simple or something else. Next, do a little ls -l `perldoc -l LWP::Simple` and make sure that the permissions are right. (darren) -- Whatever is done for love is beyond good and evil. -- Friedrich Neitzsche