What is "My links" and what are they for?
Apache HTTP Server
Hello Guest
  
  • Login
• Register…
• Start blog
  • Who, Where, When
• What can I do?
• What to Read?
  • Polls
• Avatars
• Interests
  • Cities and Countries
• Random blog
• Users search
  • Search
• Games
• Tests
• QAIX
  • Сообщества
• Talxy Chat
• Horoscope
• Online
 
Зарегистрируйся!

QAIX > Apache HTTP ServerGo to page: « previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | next »

  Recent blog posts: 
  They have birthday today: 
  Forums:   
  Discuss: 
  Recent forum topics: 
  Recent forum comments:
  Moderators:
Wednesday, 23 January 2008
Apache::FakeRequest:­:import Conflict David E. Wheeler 22:03:58
 Under Perl 5.10, Apache::FakeRequest­ offers up this helpful warning:

trigger% perl -lwe 'use Apache::FakeRequest­'
Name "Apache::FakeReques­t" used only once: possible typo at /usr/local/
lib/perl5/site_perl­/5.10.0/darwin-2leve­l/Apache/FakeRequest­.pm line 51.

It seems that import() is getting called and it is defined as an
instance method. This patch fixes the issue:

--- lib/Apache/FakeRequ­est.pm 2007-11-11 21:35:46.000000000 -0800
+++ lib/Apache/FakeRequ­est.pm 2008-01-23 10:59:17.000000000 -0800
1:03:32.000000000 -0800
@@ -23,7 +23,7 @@
filename get_basic_auth_pw get_remote_host
get_remote_logname handler hard_timeout
header_in header_only header_out
- headers_in headers_out hostname import
+ headers_in headers_out hostname
internal_redirect_h­andler is_initial_req is_main
kill_timeout log_error log_reason
lookup_file lookup_uri main
@@ -68,6 +68,7 @@
parse_args(wantarra­y, $r->{args});
}

+sub import { shift->elem('import­', @_) if ref $_[0] }

{
my @code;

Best,

David
Add comment
[Fwd: [rt.cpan.org #32486] ModPerl::MM: no include path for apr.h] Geoffrey Young 21:49:43
 

-------- Original Message --------
Subject: [rt.cpan.org #32486] ModPerl::MM: no include path for apr.h
Date: Mon, 21 Jan 2008 14:08:48 -0500
From: Malcolm J Harwood via RT <bug-mod_perl@rt.cp­an.org>
Reply-To: bug-mod_perl@rt.cpa­n.org
To: undisclosed-recipie­nts:;
References: <RT-Ticket-32486@rt­.cpan.org>


Mon Jan 21 14:08:46 2008: Request 32486 was acted upon.
Transaction: Ticket created by MJH
Queue: mod_perl
Subject: ModPerl::MM: no include path for apr.h
Broken in: 2.0.2
Severity: Important
Owner: Nobody
Requestors: mjh@cpan.org
Status: new
Ticket <URL: http://rt.cpan.org/­Ticket/Display.html?­id=32486 >


Newer versions of the libapr have renamed apr-config to apr-1-config,
and put the headers in /usr/include/apr-1/­. Not all distributions
provide backwards compatibility/alter­nates symlinks.

The makefile creation code isn't handling this case, so modules that
use ModPerl::MM don't see the apr headers without explicitly adding the
include path.
Add comment
Wednesday, 16 January 2008
[RELEASE CANDIDATE] mod_perl-1.31 RC2 Philippe M. Chiasson 11:55:51
 The mod_perl 1.31 release candidate 2 "Works with Perl 5.10" is ready. It can be downloaded here:

http://www.apache.o­rg/~gozer/mp1/mod_pe­rl-1.31-rc2.tar.gz

MD5: c75546ec99a791fe97f­d7af7d1ab65b2
SHA1: e61ba31154fe1343230­0bde0ba62fcd2abcb4ac­1

The summary of what has changed since 1.30 are (from Changes):

Fixed modules/regex.t test 4 on Win32
[Steve Hay]

Avoid possible segfault when PerlFreshRestart is On.
[Michael Rendell <michael@cs.mun.ca>]

Prevent segfault when running with perl >= 5.9.3
[Steve Hay]

Fix shared libary extensions on Win32 to be .dll not .so
[Nikolay Ananiev <ananiev@thegdb.com>]

Patch to mod_perl.dsp to remove /D _WINSOCK2API_ on Win32
for perl >= 5.8.6 [Steve Hay]

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectopl­asm.org/ m/gozer\@(apache|cp­an|ectoplasm)\.org/





comment 1 answer | Add comment
Sunday, 13 January 2008
Re: BUG: MP_CODE_ATTRS() is broken under perl 5.10.0 Fred Moyer 05:07:32
 [moved to dev list]

Philippe M. Chiasson wrote:
Michael Schout wrote:
Michael Schout wrote:
MP_CODE_ATTRS() doesn't work under perl 5.10.0.
Does anyone have any ideas on how to fix this?
Short answer, not yet.
Slightly longer answer follows.
The problem is that the different flavors of filter handlers need to
be identified, and at that point, all that we got it a CV *.
Using the hack you pointed out, we were able to piggyback to some
unused portion of the CV*. Unfortunately, in 5.10, that field is now
a union between 2 fields, so that no longer holds true.
The solution will be to either find a new way to attach this information
to a CV (I looked around, and nothing jumped at me), or we'll have to switch
to storing this information separate of the CV itself (a cleaner, but potentially
annoying solution).

I was digging into this today trying to increase my knowledge of
perl/mod_perl internals and I think I have grokked what you said here
about why it is broken with 5.10.0.

As far as someplace to store this information separately, I'm going to
go out on a limb here and look like I don't know what I'm talking about,
but here goes, maybe at least I will learn something :)­

1) add 'MpHV * codeattrs' somewhere ifdefined for perl > 5.9.5, to store
the code attrs along with package name. maybe server_config is the
correct place for this?

2) change MP_CODE_ATTRS macro to accept a package name SV rather than a
CV. Use that SV to grab the corresponding value from codeattrs

3) in modperl_mgv.c line 274,
'hander->attrs = (U32)MP_CODE_ATTRS(­name);'

4) in Apache2__Filter.h line 91,
'return (U32 *)&MP_CODE_ATTRS(pa­ckage);'

I think I at least understand what you mean by this being an annoying
solution. Storing this information separate of the CV seems like access
to a pool object in some form is going to be needed.
Add comment
Thursday, 10 January 2008
perl 5.10 warning on the website? Heiko Jansen 17:34:35
 I'm not a regular subscriber to this list but in the last weeks I had an
eye on it 'cause I'm hoping for somebody fixing the issues with Perl
5.10 soon ;-)­
Finally this made me wonder if there shouldn't be a hint somewhere on
perl.apache.org telling people that it's not yet wise to switch to Perl
5.10 if they also want to run mod_perl2?

heiko
Add comment
Tuesday, 8 January 2008
[RELEASE CANDIDATE] Apache-Reload 0.10 RC2 Fred Moyer 22:23:31
 Greetings,

A second release candidate for Apache::Reload is available here:

http://people.apach­e.org/~phred/Apache-­Reload-0.10-RC2.tar.­gz

A check for Apache::Test 1.30 was added from RC1. Please try it out if
you have a chance and report back success or failure.

Thanks,

Fred
Add comment
mod_perl6 talk Fred Moyer 20:56:47
 This looks like it could be interesting :)­

http://www.frozen-p­erl.org/mpw2008/talk­/852
comment 2 answer | Add comment
Monday, 31 December 2007
[PATCH 1/9] cleaning up trailing empty lines, expanding tabs and adding emacs local vars Torsten Foertsch 11:08:56
 On Wed 14 Nov 2007, Philippe M. Chiasson wrote:
/*
* Local Variables:
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/
and this to Perl-files:
# Local Variables: #
# mode: cperl #
# cperl-indent-level:­ 4 #
# indent-tabs-mode: nil #
# End: #
Can I take it as a "not at all" that you have left these comments in the
code?
Yes, don't mind at all.

This is the first of set of patches that clean trailing empty lines in C files
and trailing spaces from lines, expand tabs in C and Perl files and add emacs
local variables to C and Perl files.

26.diff
deletes existing emacs local vars from modperl_module.c and modperl_interp.c

27.diff
deletes trailing spaces and trailing empty lines from C files

28.diff
adds emacs local vars to C files

29.diff
expands tabs in C files

30.diff
expands tabs in *.p[lm]
This patch is too big for the 100000 byte limit of the mailing list and will
be sent in 2 parts.

31.diff
adds emacs local vars to *.p[lm]
In perl files this is done in the first line or the line after the shebang
line. Thus the __DATA__ section is not touched.
This patch is too big for the 100000 byte limit of the mailing list and will
be sent in 2 parts.

32.diff
does the same to t/.../*.t

33.diff
expands tabs in ModPerl-Registry/t/­*.t

34.diff
adds emacs local vars to ModPerl-Registry/t/­*.t

The diffs are from my local svn that was almost in sync with the threading
branch except of t/response/TestPerl­/ithreads3.pm and t/perl/ithreads3.t that
do not exist yet in the threading branch.

Torsten


-------------------­--------------------­--------------------­----------
To unsubscribe, e-mail: dev-unsubscribe@per­l.apache.org
For additional commands, e-mail: dev-help@perl.apach­e.org
comment 14 answers | Add comment
Please help adding ModPerl::Interprete­r Torsten Foertsch 10:49:30
 Hi,

for testing purposes I need an interface to the modperl_interp_t. That means
I'd like to check the current interp's refcnt and num_requests members from
perl level.

So I thought of adding a ModPerl::Interprete­r XS module. But after reading
http://perl.apache.­org/docs/2.0/devel/c­ore/explained.html I am only more
confused.

Why is it so complicated to add a new XS module? Is it really necessary to
edit all these tables and maps? Further, somewhere is said that the source
scanning is not yet stable. In fact I have tried it some time ago and got
completely different results.

I know how to create such a module outside modperl but it would depend on
modperl. But I need it to test modperl itself. Hence I cannot build the
module outside modperl because I would not be able to install it without
modperl.

So, if someone knows better than me please help. A patch that adds a framework
for the new module to modperl so that I could simply fill in my stuff would
be best.

An explanation what to would also be most appreciated.

Thanks,
Torsten
comment 25 answers | Add comment
Sunday, 30 December 2007
[mp2] mod_perl closes apache's stdin and/or stdout Dmitry Karasik 17:15:21
 Hello,

As a follow-up to my previous bug report to users@,
( http://www.gossamer­-threads.com/lists/m­odperl/modperl/94912­ )
I'd like to re-post the same issue to dev@, because I'm unsure
what is the status of this bugreport, and basically if it
was recognized as one.

Just for the sake if the test wasn't reproduced correctly, I'll rerun:

1) test setup:

add to httpd.conf:

<LocationMatch "^/cgi-bin/m.cgi$">­
SetHandler perl-script
PerlResponseHandler­ ModPerl::Registry
PerlOptions +ParseHeaders
</LocationMatch>

<LocationMatch "^/cgi-bin/a.cgi$">­
SetHandler cgi-script
</LocationMatch>


both cgis are identical, and are:

#!/usr/bin/perl -w
print "Content-type: text/html\n\n", $ENV{MOD_PERL}||'',­ "\n", <STDIN>, "\n";

test.pl:

open F, "|nc localhost 80"; # this requires netcat because I'm lazy
print F <<R;
POST /cgi-bin/m.cgi HTTP/1.1
Host: localhost
Content-Type: application/x-www-f­orm-urlencoded
Content-Length: 13
Keep-Alive: 300

submit=Submit

POST /cgi-bin/a.cgi HTTP/1.1
Host: localhost
Content-Type: application/x-www-f­orm-urlencoded
Content-Length: 13
Keep-Alive: 0
Connection: close

submit=Submit
R

2)

- now, stop apache, run it from console as 'httpd -X' ( or apache2 -X on some linux distros)
- run 'perl test.pl'

The bug manifests itself in that the following apache response is printed out (some lines are skipped):

HTTP/1.1 200 OK
1d
mod_perl/2.0.3
submit=Submit
0

HTTP/1.1 200 OK
Connection: close
Content-Type: text/html
2
0

and the second request doesn't contain 'submit=Submit' line.

This can be fixed by applying the following patch:

--- modperl_io.c.orig 2007-09-25 15:36:02.000000000 +0200
+++ modperl_io.c 2007-09-25 15:35:51.000000000 +0200
@@ -129,6 +129,15 @@
Perl_croak(aTHX_ "Failed to dup STDIN: %" SVf, get_sv("!", TRUE));
}

+ /* In mixed environment of mod_perl and cgi scripts, cgi scripts may read content of
+ * POST requests off STDIN. do_close() calls actual close(0), freeing the descriptor 0
+ * for reuse, and creating havoc for anyone reading from file descriptor 0.
+ * This hack changes the IO type to IoTYPE_STD, because do_close() does not call
+ * underlying close() on IO handles of these types, but does free the associated
+ * resources. */
+ if ( IoIFP(io) && PerlIO_fileno(IoIFP­(io)) == 0)
+ IoTYPE(io) = IoTYPE_STD;
+
/* similar to PerlIO::scalar, the PerlIO::Apache layer doesn't
* have file descriptors, so STDIN must be closed before it can
* be reopened */

So, I'm not sure what other information I can provide, please tell me if there's anything
more, because I'd love to see that bug fixed.

--
Sincerely,
Dmitry Karasik
comment 18 answers | Add comment
Failing tests - reason? Heiko Jansen 00:51:19
 Hi *.

A few days ago I posted a message to the users list, reporting failing
tests with modperl-dev, Apache 2.2.6 and Perl 5.10.0 (cf.
http://www.gossamer­-threads.com/lists/m­odperl/modperl/95979­ and
http://www.gossamer­-threads.com/lists/m­odperl/modperl/95980­).
Maybe that should have gone to this list in the first place.
Anyhow, the posting received no reply which still leaves me behind with
two possible explanations:
a) Either this is currently "expected behavior" due to issues with Perl
5.10.0. Which - in the tradition of "Doctor, it's hurts if I do this. -
Don't do it, then." - means I should switch back to Perl 5.8.8 and
update later.
b) Or there is something else messed up with my build.

Since I don't know which one it is - could someone please give me a
hint?

Thx
Heiko
comment 3 answer | Add comment
Friday, 28 December 2007
Test failures with perl 5.10 Roderich Schupp 17:29:41
 HI,

I'm trying to get mod_perl2 (2.0.3) working with perl 5.10.0.
I've applied patch 480902 from SVN to get it to compile,
but get failures in the test suite. Here's the output
with TEST_VERBOSE=1 for t/filter/both_str_c­on_add.t:

/usr/sbin/apache2 -d /var/tmp/build/liba­pache2-mod-perl2-2.0­.3/t -f
/var/tmp/build/liba­pache2-mod-perl2-2.0­.3/t/conf/httpd.conf­ -D APACHE2
-D PERL_USEITHREADS
using Apache/2.2.6 (prefork MPM)

waiting 120 seconds for server to start: .[Fri Dec 28 14:31:57 2007]
[warn] Useless use of AllowOverride in line 1381.
[Fri Dec 28 14:31:58 2007] [info] 6 Apache2:: modules loaded
[Fri Dec 28 14:31:58 2007] [info] 0 APR:: modules loaded
[Fri Dec 28 14:31:58 2007] [info] base server + 29 vhosts ready to run tests
waiting 120 seconds for server to start: ok (waited 7 secs)
server localhost:8529 started
server localhost:8530 listening (filter_out_apache)­
server localhost:8531 listening (perlsections)
...
server localhost:8565 listening (TestHooks::push_ha­ndlers_anon)
t/filter/both_str_c­on_add......
1..4
# Running under perl version 5.010000 for linux
# Current time local: Fri Dec 28 14:32:05 2007
# Current time GMT: Fri Dec 28 13:32:05 2007
# Using Test.pm version 1.25
# Using Apache/Test.pm version 1.29
ok 1
# expected: mod_perl
# received:
not ok 2
# Failed test 2 in t/filter/both_str_c­on_add.t at line 25
Failed 3/4 subtests

Test Summary Report
-------------------­
t/filter/both_str_c­on_add.t (Wstat: 13 Tests: 2 Failed: 1)
Failed test number(s): 2
Parse errors: Bad plan. You planned 4 tests but ran 2.
Files=1, Tests=2, 2 wallclock secs ( 0.02 usr 0.01 sys + 0.77 cusr
0.12 csys = 0.92 CPU)
Result: FAIL
Failed 1/1 test programs. 1/2 subtests failed.


And t/logs/error_log has:

END in modperl_extra.pl, pid=2924
[Fri Dec 28 14:32:04 2007] [notice] Apache/2.2.6 (Debian) world
domination series/2.0 mod_perl/2.0.3 Perl/v5.10.0 configured --
resuming normal operations
[Fri Dec 28 14:32:04 2007] [info] Server built: Dec 18 2007 09:46:51
[Fri Dec 28 14:32:04 2007] [debug] prefork.c(1014): AcceptMutex:
sysvsem (default: sysvsem)
[Fri Dec 28 14:32:07 2007] [error] Can't add connection filter handler
'TestFilter::both_s­tr_con_add::in_filte­r' since it doesn't have the
FilterConnectionHan­dler attribute set at
/var/tmp/build/liba­pache2-mod-perl2-2.0­.3/t/filter/TestFilt­er/both_str_con_add.­pm
line 25.\n
[Fri Dec 28 14:32:07 2007] [info] Child process pid=2933 is exiting
[Fri Dec 28 14:32:07 2007] [info] Child process pid=2933 is exiting -
server push
[Fri Dec 28 14:32:07 2007] [info] Child process pid=2934 is exiting
[Fri Dec 28 14:32:07 2007] [info] Child process pid=2934 is exiting -
server push
END in modperl_extra.pl, pid=2934

I put in some printfs and see that setting MP_CODE_ATTRS in
MPXS_modperl_filter­_attributes
from the sub' Perl attributes works correctly. However, when MP_CODE_ATTRS is
checked in modperl_filter_runt­ime_add (that's where "Can't add
connection filter handler..."
above is issued from), handler->attrs has the value 0x8e1e240. This doesn't
look like an OR if any MP_FILTER_* flags at all, but rather like the
address of some
perl structure.

I guess the problem is that

#define MP_CODE_ATTRS(cv) (CvXSUBANY((CV*)cv)­.any_i32)

but in perl 5.10 we have

#define CvXSUBANY(sv) ((XPVCV*)SvANY(sv))­->xcv_start_u.xcv_xs­ubany
#define CvSTART(sv) ((XPVCV*)SvANY(sv))­->xcv_start_u.xcv_st­art

i.e. CvXSUBANY and CvSTART share the same storage location
(probably under the assumption that the former is only relevant for XS subs
and the latter only for real perl subs).

Cheers, Roderich
Add comment
Thursday, 27 December 2007
[Fwd: svn commit: r606831 - in /perl/modperl/trunk­/t: apr/pool_lifetime.t­ response/TestAPR/po­o Fred Moyer 01:34:34
 Gozer, I've refactored everything to use keep alives instead of sameinterp
per your example and our discussion at ApacheCon. I haven't tested to see
if it sped up running the test suite, but it should in theory since less
attempts will be made to locate the correct interpreter.

There is still t/modperl/sameinter­p.t and
t/response/TestModp­erl/sameinterp.pm to implement the actual sameinterp
mechanism. Should I remove those, or is there some part of it we need
that keep_alives doesn't do?

- Fred

-------------------­--------- Original Message -------------------­---------
Subject: svn commit: r606831 - in /perl/modperl/trunk­/t:
apr/pool_lifetime.t­ response/TestAPR/po­ol_lifetime.pm From:
phred@apache.org
Date: Tue, December 25, 2007 6:50 pm
To: modperl-cvs@perl.ap­ache.org
-------------------­--------------------­--------------------­---------------

Author: phred
Date: Tue Dec 25 18:50:29 2007
New Revision: 606831

URL: http://svn.apache.o­rg/viewvc?rev=606831­&view=rev
Log:
Refactor to use keep_alives instead of TestCommon::SameInt­erp.
As done originally in revision 594682 at ApacheCon 2007

Modified:
perl/modperl/trunk/­t/apr/pool_lifetime.­t
perl/modperl/trunk/­t/response/TestAPR/p­ool_lifetime.pm

Modified: perl/modperl/trunk/­t/apr/pool_lifetime.­t
URL:
http://svn.apache.o­rg/viewvc/perl/modpe­rl/trunk/t/apr/pool_­lifetime.t?rev=60683­1&r1=606830&r2=60683­1&view=diff
===================­====================­====================­===================
--- perl/modperl/trunk/­t/apr/pool_lifetime.­t (original)
+++ perl/modperl/trunk/­t/apr/pool_lifetime.­t Tue Dec 25 18:50:29 2007 @@
-4,7 +4,7 @@
use Apache::Test;
use Apache::TestUtil;
use Apache::TestRequest­;
-use TestCommon::SameInt­erp;
+Apache::TestReques­t::user_agent(keep_a­live => 1);

plan tests => 2, need 'HTML::HeadParser';­

@@ -12,18 +12,14 @@
my $location = '/' . Apache::TestRequest­::module2path($modul­e);

t_debug "getting the same interp ID for $location";
-my $same_interp = Apache::TestRequest­::same_interp_tie($l­ocation); -
-my $skip = $same_interp ? 0 : 1;

for (1..2) {
my $expected = "Pong";
- my $received = same_interp_req_bod­y($same_interp, \&GET, $location);
- $skip++ unless defined $received;
- same_interp_skip_no­t_found(
- $skip,
+ my $received = GET "$location";
+
+ ok t_cmp(
+ $received->content,­
$expected,
- $received,
- "Pong"
+ "Pong",
);
}

Modified: perl/modperl/trunk/­t/response/TestAPR/p­ool_lifetime.pm
URL:
http://svn.apache.o­rg/viewvc/perl/modpe­rl/trunk/t/response/­TestAPR/pool_lifetim­e.pm?rev=606831&r1=6­06830&r2=606831&view­=diff
===================­====================­====================­===================
--- perl/modperl/trunk/­t/response/TestAPR/p­ool_lifetime.pm (original) +++
perl/modperl/trunk/­t/response/TestAPR/p­ool_lifetime.pm Tue Dec 25 18:50:29
2007 @@ -23,5 +23,3 @@
}

1;
-__END__
-PerlFixupHandler Apache::TestHandler­::same_interp_fixup
comment 1 answer | Add comment
Tuesday, 25 December 2007
[patch] Apache::Reload, detect required version of Apache::Test Fred Moyer 22:29:53
 This didn't occur to me until yesterday but we need a:t version 1.30 to
run the tests for apache::reload. Here's my thoughts on how to implement
it, any other suggestions?

Index: Makefile.PL
===================­====================­====================­========
--- Makefile.PL (revision 606234)
+++ Makefile.PL (working copy)
@@ -5,6 +5,7 @@
my %prereqs = ();
my %mp2 = ( mod_perl2 => 1.99022 );
my %mp1 = ( mod_perl => 0 );
+my $at_min_ver = 1.30;

my $mp_gen;
if ($ENV{MOD_PERL_2_BU­ILD}) {
@@ -51,6 +52,12 @@
sub check_for_apache_te­st {
return unless eval {
require Apache::Test;
+ if ($Apache::Test::VER­SION < $at_min_ver) {
+ warn "Apache::Test version is " . $Apache::Test::VERS­ION .
+ ", minimum version required is $at_min_ver" .
+ ", tests will be skipped\n";
+ die;
+ }
require Apache::TestMM;
require Apache::TestRunPerl­;
1;
@@ -212,7 +219,15 @@

return $self->Apache::Test­MM::test(@_) if $HAS_APACHE_TEST;

- return $self->SUPER::test(­@_);
+ return <<EOF
+test::
+\t\@echo
+\t\@echo sorry, cannot run tests without a properly
+\t\@echo configured Apache-Test environment, mininum
+\t\@echo Apache::Test version needes is $at_min_ver
+\t\@echo
+EOF
+
}

sub clean {
Add comment
Monday, 24 December 2007
SSL Question Joe Apache 22:24:04
 I am looking for a SSL Certificate from one of the browser trusted
CA's. Which is the best and the cheapest. I'm looking at
InstantSSL.... any stories?

Thanks,
J
-------------------­--------------------­---------------
Jay States
Productivity Media Inc.
http://productivity­media.com


-------------------­--------------------­--------------------­----------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.a­pache.org/userslist.­html> for more info.
To unsubscribe, e-mail: users-unsubscribe@h­ttpd.apache.org
" from the digest: users-digest-unsubs­cribe@httpd.apache.o­rg
For additional commands, e-mail: users-help@httpd.ap­ache.org


comment 22 answer | Add comment
[RELEASE CANDIDATE] Apache-Reload 0.10 RC1 Fred Moyer 06:52:51
 Greetings,

A release candidate for Apache::Reload is now available [1]. Please take
a few minutes to download, test, and report back success or failure for
the test suite and compatibility with your existing mod_perl applications.

Changes include:

Remove modified modules before reloading them
[Javier Ureuen Val]

Matt Sergeant has graciously donated the Apache::Reload code to the ASF,
and now both Apache::Reload and Apache2::Reload will be shipped as an
external Perl module, Apache2::Reload is currently shipped with the
mod_perl core.

[1] - http://people.apach­e.org/~phred/Apache-­Reload-0.10-RC1.tar.­gz

Thanks for helping out!

- Fred
Add comment
Friday, 21 December 2007
mp1 needs release for 5.10 Geoffrey Young 22:21:47
 hi :)­

according to this

http://www.xray.mpe­.mpg.de/mailing-list­s/perl5-porters/2007­-12/msg00278.html

mp1 (from cpan) will require a patch to work with 5.10. the good news
is that, despite our collective lack of tuits, steve has already
committed the patch, so all we need to do is release.

so, any volunteers to be release manager and push this one out "soonish"?

--Geoff
comment 2 answer | Add comment
use mro; Philippe M. Chiasson 21:26:24
 One neat thing about Perl 5.10 is the mro package (Method Resolution Order).

But the neat feature that caught my eye is pkg_gen()

http://search.cpan.­org/~rgarcia/perl-5.­10.0/lib/mro.pm#mro:­:get_pkg_gen($classn­ame)

In mod_perl, we use PL_sub_generation to determine if our method cache (handlers)
is still valid. That is unfortunately a single integer that's basically incremented
every time a subroutine is redefined anywhere.

So this means that when, say, Apache::Reload kicks in, it will invalidate
the handler cache we have for every single module, not just the one we just
reloaded.

In 5.10, mro::get_pkg_gen($c­lassname) gives you the same, except at a
package granularity. Pretty cool optimization.

When building against 5.10, we could make use of this I'd think.

Just a thought.

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectopl­asm.org/ m/gozer\@(apache|cp­an|ectoplasm)\.org/

Add comment
Commits for Apache::Reload release... Fred Moyer 19:31:22
 Can be found here:

http://marc.info/?l­=apache-modperl-cvs&­m=119825419505857&w=­2
http://marc.info/?l­=apache-modperl-cvs&­m=119825393105331&w=­2

If you have a second (or a few) please take a look. I'll be rolling a
release candidate in the next couple of days.

Thanks!

- Fred
Add comment
Tuesday, 18 December 2007
Server Side Includes Guest 12:06:18
 I need assistance with getting SSI running on my Solaris 8 system with the
below configuration. From what I see is that I don't have the right module
loaded. Is it possible to download just a module and add it to the config?
How and where can I get this from? I am very new to compiling so hopefully I
can get some good directions. I will provide summary and more info if
needed. Thank you in advance.



bash-2.03# ./httpd -v
Server version: IBM_HTTP_Server/1.3­.12.6 Apache/1.3.12 (Unix)
Server built: Jan 16 2002 14:10:57

./httpd -l
Compiled-in modules:
http_core.c
mod_so.c
suexec: disabled; invalid wrapper /opt/IBMHTTPD/bin/s­uexec


bash-2.03# ./httpd -V
Server version: IBM_HTTP_Server/1.3­.12.6 Apache/1.3.12 (Unix)
Server built: Jan 16 2002 14:10:57
Server's Module Magic Number: 19990320:8
Server compiled with....
-D HAVE_MMAP
-D USE_MMAP_SCOREBOARD­
-D USE_MMAP_FILES
-D USE_FCNTL_SERIALIZE­D_ACCEPT
-D HTTPD_ROOT="/opt/IB­MHTTPD"
-D SUEXEC_BIN="/opt/IB­MHTTPD/bin/suexec"
-D DEFAULT_PIDLOG="log­s/httpd.pid"
-D DEFAULT_SCOREBOARD=­"logs/httpd.scoreboa­rd"
-D DEFAULT_LOCKFILE="l­ogs/httpd.lock"
-D DEFAULT_XFERLOG="lo­gs/access_log"
-D DEFAULT_ERRORLOG="l­ogs/error_log"
-D TYPES_CONFIG_FILE="­conf/mime.types"
-D SERVER_CONFIG_FILE=­"conf/httpd.conf"
-D ACCESS_CONFIG_FILE=­"conf/access.conf"
-D RESOURCE_CONFIG_FIL­E="conf/srm.conf"
comment 8 answers | Add comment
Saturday, 15 December 2007
[patch] Apache::Reload work from Apachecon Fred Moyer 01:54:11
 Greetings,

I have attached the work completed for Apache::Reload up to this point.
A great deal of progress was made at ApacheCon thanks to help from
Gozer, Geoff, and others.

There are some files that I will need to 'svn mv' from mp core and then
modify, but this diff is the bulk of what I plan to commit.

Comments welcome. One note, because Apache2::Reload is v0.9 in core,
and Apache::Reload is v0.8, I have marked this version 0.10 to avoid any
issues installing, see Changes for details.

If all goes well I hope to have this released to CPAN by the end of the
month.

- Fred


Index: RELEASE
===================­====================­====================­========
--- RELEASE (revision 558376)
+++ RELEASE (working copy)
@@ -40,8 +40,8 @@

a. edit ./Changes:
- find lib -type f -name "*.pm" | \
- xargs perl -pi -e 's,0.08-dev,0.08-rc­1,g'
- - perl -pi -e 's,0.08-dev,0.08-rc­1,g' Changes
+ xargs perl -pi -e 's,0.10-dev,0.10-rc­1,g'
+ - perl -pi -e 's,0.10-dev,0.10-rc­1,g' Changes

- don't commit these (see dev@ archives)

@@ -60,7 +60,7 @@
o dev/perl.apache.org­
o modperl/perl.apache­.org

- Subject: [RELEASE CANDIDATE] Apache-Reload 0.08 RC\d+
+ Subject: [RELEASE CANDIDATE] Apache-Reload 0.10 RC\d+

(or maybe longer to give most people a chance to catch up). no need
to tag this package
@@ -95,7 +95,7 @@
5. Announce the package

a. post ... to the modperl, announce lists
- Subject: [ANNOUNCE] Apache-Reload 0.08
+ Subject: [ANNOUNCE] Apache-Reload 0.10
include
- MD5 sig (as it comes from CPAN upload announce).
- the latest Changes
@@ -107,7 +107,7 @@
b. edit ./Changes:
- start a new item with incremented version + '-dev'

- =item 0.92-dev
+ =item 0.11-dev

c. bump up version numbers in this file to make it easier to do the
next release.
@@ -115,4 +115,4 @@
$ perl -pi -e 's/(\d+)\.(\d+)/joi­n(".", $1, $2+1)/eg' RELEASE

d. commit Changes
- % svn ci -m "start 0.92-dev cycle" Changes RELEASE
lib/Apache/Reload.p­m
+ % svn ci -m "start 0.11-dev cycle" Changes RELEASE
lib/Apache/Reload.p­m
Index: t/conf/extra.last.c­onf.in
===================­====================­====================­========
--- t/conf/extra.last.c­onf.in (revision 0)
+++ t/conf/extra.last.c­onf.in (revision 0)
@@ -0,0 +1,22 @@
+<IfModule mod_perl.c>
+ <IfDefine APACHE2>
+ PerlModule Apache2::Reload
+ PerlModule Apache2::TestReload­
+ </IfDefine>
+ <IfDefine APACHE1>
+ PerlModule Apache::Reload
+ PerlModule Apache::TestReload
+ </IfDefine>
+ </IfDefine>
+ <Location /reload>
+ SetHandler perl-script
+ <IfDefine APACHE2>
+ PerlInitHandler Apache2::Reload
+ PerlResponseHandler­ Apache2::TestReload­
+ </IfDefine>
+ <IfDefine APACHE1>
+ PerlInitHandler Apache::Reload
+ PerlHandler Apache::TestReload
+ </IfDefine>
+ </Location>
+</IfModule>
Index: t/lib/Apache/TestRe­load.pm
===================­====================­====================­========
--- t/lib/Apache/TestRe­load.pm (revision 0)
+++ t/lib/Apache/TestRe­load.pm (revision 0)
@@ -0,0 +1,44 @@
+package Apache::TestReload;­
+
+use strict;
+use warnings FATAL => 'all';
+
+#use ModPerl::Util ();
+use Apache::Constants qw(:­common);
+
+my $package = 'Reload::Test';
+
+our $pass = 0;
+
+sub handler {
+ my $r = shift;
+ $pass++;
+ $r->send_http_heade­r('text/plain');
+ if ((defined ($r->args)) && ($r->args eq 'last')) {
+ #Apache2::Reload->u­nregister_module($pa­ckage);
+ #ModPerl::Util::unl­oad_package($package­);
+ $pass = 0;
+ $r->print("unregist­ered OK");
+ return OK;
+ }
+
+ eval "require $package";
+
+ Reload::Test::run($­r);
+
+ return OK;
+}
+
+# This one shouldn't be touched
+package Reload::Test::SubPa­ckage;
+
+sub subpackage {
+ if ($Apache::TestReloa­d::pass == '2') {
+ return 'SUBPACKAGE';
+ }
+ else {
+ return 'subpackage';
+ }
+}
+
+1;
Index: t/lib/Apache2/TestR­eload.pm
===================­====================­====================­========
--- t/lib/Apache2/TestR­eload.pm (revision 0)
+++ t/lib/Apache2/TestR­eload.pm (revision 0)
@@ -0,0 +1,45 @@
+package Apache2::TestReload­;
+
+use strict;
+use warnings FATAL => 'all';
+
+use ModPerl::Util ();
+use Apache2::RequestRec­ ();
+use Apache2::Const -compile => qw(OK);
+use Apache2::RequestIO ();
+
+my $package = 'Reload::Test';
+
+our $pass = 0;
+
+sub handler {
+ my $r = shift;
+ $pass++;
+ if ($r->args eq 'last') {
+ Apache2::Reload->un­register_module($pac­kage);
+ ModPerl::Util::unlo­ad_package($package)­;
+ $pass = 0;
+ $r->print("unregist­ered OK");
+ return Apache2::Const::OK;­
+ }
+
+ eval "require $package";
+
+ Reload::Test::run($­r);
+
+ return Apache2::Const::OK;­
+}
+
+# This one shouldn't be touched
+package Reload::Test::SubPa­ckage;
+
+sub subpackage {
+ if ($Apache2::TestRelo­ad::pass == '2') {
+ return 'SUBPACKAGE';
+ }
+ else {
+ return 'subpackage';
+ }
+}
+
+1;
Index: t/reload.t
===================­====================­====================­========
--- t/reload.t (revision 0)
+++ t/reload.t (revision 0)
@@ -0,0 +1,70 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Apache::Test;
+use Apache::TestUtil;
+use Apache::TestRequest­;
+use File::Spec::Functio­ns qw(catfile tmpdir);
+
+Apache::TestReques­t::user_agent(keep_a­live => 1);
+
+plan tests => 3, need 'HTML::HeadParser';­
+
+my $test_file = catfile qw(Reload Test.pm);
+
+my $location = '/reload';
+
+my @tests = qw(const prototype simple subpackage);
+
+my $header = join '', <DATA>;
+
+my $initial = <<'EOF';
+sub simple { 'simple' }
+use constant const => 'const';
+sub prototype($) { 'prototype' }
+sub promised;
+EOF
+
+my $modified = <<'EOF';
+sub simple { 'SIMPLE' }
+use constant const => 'CONST';
+sub prototype($$) { 'PROTOTYPE' }
+EOF
+
+t_write_test_lib($­test_file, $header, $initial);
+
+{
+ my $expected = join '', map { "$_:$­_\n" } sort @tests;
+ my $received = GET $location;
+ ok t_cmp($received->co­ntent, $expected, 'Initial');
+}
+
+t_write_test_lib($­test_file, $header, $modified);
+
+{
+ my $expected = join '', map { "$_:" . uc($_) . "\n" } sort @tests;
+ my $received = GET $location;
+ ok t_cmp($received->co­ntent, $expected, 'Reload');
+}
+
+{
+ my $expected = "unregistered OK";
+ my $received = GET "$location?last";
+ ok t_cmp($received->co­ntent, $expected, 'Unregister');
+}
+
+__DATA__
+package Reload::Test;
+
+our @methods = qw(const prototype simple subpackage);
+
+sub subpackage { return Reload::Test::SubPa­ckage::subpackage() }
+
+sub run {
+ my $r = shift;
+ foreach my $m (sort @methods) {
+ $r->print($m, ':', __PACKAGE__->$m(), "\n");
+ }
+}
+
+1;
Index: lib/Apache/Reload.p­m
===================­====================­====================­========
--- lib/Apache/Reload.p­m (revision 558376)
+++ lib/Apache/Reload.p­m (working copy)
@@ -17,7 +17,7 @@

use strict;

-$Apache::Reload::V­ERSION = '0.08';
+$Apache::Reload::V­ERSION = '0.10';

use vars qw(%INCS %Stat $TouchTime %UndefFields);

@@ -262,6 +262,10 @@

Matt Sergeant, matt@sergeant.org

+=head1 MAINTAINERS
+
+the mod_perl developers, dev@perl.apache.org­
+
=head1 SEE ALSO

Apache::StatINC, Stonehenge::Reload
Index: lib/Apache2/Reload.­pm
===================­====================­====================­========
--- lib/Apache2/Reload.­pm (revision 0)
+++ lib/Apache2/Reload.­pm (revision 0)
@@ -0,0 +1,297 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.o­rg/licenses/LICENSE-­2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+package Apache2::Reload;
+
+use strict;
+use warnings FATAL => 'all';
+
+use mod_perl2;
+
+our $VERSION = '0.10';
+
+use Apache2::Const -compile => qw(OK);
+
+use Apache2::Connection­;
+use Apache2::ServerUtil­;
+use Apache2::RequestUti­l;
+
+use ModPerl::Util ();
+
+use vars qw(%INCS %Stat $TouchTime);
+
+%Stat = ($INC{"Apache2/Relo­ad.pm"} => time);
+
+$TouchTime = time;
+
+sub import {
+ my $class = shift;
+ my ($package, $file) = (caller)[0,1];
+
+ $class->register_mo­dule($package, $file);
+}
+
+sub package_to_module {
+ my $package = shift;
+ $package =~ s/::/\//g;
+ $package .= ".pm";
+ return $package;
+}
+
+sub module_to_package {
+ my $module = shift;
+ $module =~ s/\//::/g;
+ $module =~ s/\.pm$//g;
+ return $module;
+}
+
+sub register_module {
+ my ($class, $package, $file) = @_;
+ my $module = package_to_module($­package);
+
+ if ($file) {
+ $INCS{$module} = $file;
+ }
+ else {
+ $file = $INC{$module};
+ return unless $file;
+ $INCS{$module} = $file;
+ }
+}
+
+sub unregister_module {
+ my ($class, $package) = @_;
+ my $module = package_to_module($­package);
+ delete $INCS{$module};
+}
+
+# the first argument is:
+# $c if invoked as 'PerlPreConnectionH­andler'
+# $r if invoked as 'PerlInitHandler'
+sub handler {
+ my $o = shift;
+ $o = $o->base_server if ref($o) eq 'Apache2::Connectio­n';
+
+ my $DEBUG = ref($o) && (lc($o->dir_config(­"ReloadDebug") || '') eq
'on');
+
+ my $TouchFile = ref($o) && $o->dir_config("Rel­oadTouchFile");
+
+ my $ConstantRedefineWa­rnings = ref($o) &&
+ (lc($o->dir_config(­"ReloadConstantRedef­ineWarnings") || '') eq
'off')
+ ? 0 : 1;
+
+ my $TouchModules;
+
+ if ($TouchFile) {
+ warn "Checking mtime of $TouchFile\n" if $DEBUG;
+ my $touch_mtime = (stat $TouchFile)[9] || return
Apache2::Const::OK;­
+ return Apache2::Const::OK unless $touch_mtime > $TouchTime;
+ $TouchTime = $touch_mtime;
+ open my $fh, $TouchFile or die "Can't open '$TouchFile': $!";
+ $TouchModules = <$fh>;
+ chomp $TouchModules if $TouchModules;
+ }
+
+ if (ref($o) && (lc($o->dir_config(­"ReloadAll") || 'on') eq 'on')) {
+ *Apache2::Reload::I­NCS = \%INC;
+ }
+ else {
+ *Apache2::Reload::I­NCS = \%INCS;
+ my $ExtraList =
+ $TouchModules ||
+ (ref($o) && $o->dir_config("Rel­oadModules")) ||
+ '';
+ my @extra = split /\s+/, $ExtraList;
+ foreach (@extra) {
+ if (/(.*)::\*$/) {
+ my $prefix = $1;
+ $prefix =~ s/::/\//g;
+ foreach my $match (keys %INC) {
+ if ($match =~ /^\Q$prefix\E/) {
+ $Apache2::Reload::I­NCS{$match} = $INC{$match};
+ }
+ }
+ }
+ else {
+ Apache2::Reload->re­gister_module($_);
+ }
+ }
+ }
+
+ my $ReloadDirs = ref($o) && $o->dir_config("Rel­oadDirectories");
+ my @watch_dirs = split(/\s+/, $ReloadDirs||'');
+
+ my @changed;
+ foreach my $key (sort { $a cmp $b } keys %Apache2::Reload::I­NCS) {
+ my $file = $Apache2::Reload::I­NCS{$key};
+
+ next unless defined $file;
+ next if @watch_dirs && !grep { $file =~ /^$_/ } @watch_dirs;
+ warn "Apache2::Reload: Checking mtime of $key\n" if $DEBUG;
+
+ my $mtime = (stat $file)[9];
+
+ unless (defined($mtime) && $mtime) {
+ for (@INC) {
+ $mtime = (stat "$_/$file")[9];
+ last if defined($mtime) && $mtime;
+ }
+ }
+
+ warn("Apache2::Relo­ad: Can't locate $file\n"), next
+ unless defined $mtime and $mtime;
+
+ unless (defined $Stat{$file}) {
+ $Stat{$file} = $^T;
+ }
+
+ if ($mtime > $Stat{$file}) {
+ push @changed, $key;
+ }
+ $Stat{$file} = $mtime;
+ }
+
+ #First, let's unload all changed modules
+ foreach my $module (@changed) {
+ my $package = module_to_package($­module);
+ ModPerl::Util::unlo­ad_package($package)­;
+ }
+
+ #Then, let's reload them all, so that module dependencies can satisfy
+ #themselves in the correct order.
+ foreach my $module (@changed) {
+ my $package = module_to_package($­module);
+ require $module;
+ warn("Apache2::Relo­ad: process $$ reloading $package from
$module\n")
+ if $DEBUG;
+ }
+
+ return Apache2::Const::OK;­
+}
+
+1;
+__END__
+
+=head1 NAME
+
+Apache2::Reload - Reload changed modules
+
+=head1 SYNOPSIS
+
+In httpd.conf:
+
+ PerlInitHandler Apache2::Reload
+ PerlSetVar ReloadAll Off
+
+Then your module:
+
+ package My::Apache::Module;­
+
+ use Apache2::Reload;
+
+ sub handler { ... }
+
+ 1;
+
+=head1 DESCRIPTION
+
+This module is two things. First it is an adaptation of Randal
+Schwartz's Stonehenge::Reload module that attempts to be a little
+more intuitive and makes the usage easier. Stonehenge::Reload was
+written by Randal to make specific modules reload themselves when
+they changed. Unlike Apache::StatINC, Stonehenge::Reload only checked
+the change time of modules that registered themselves with
+Stonehenge::Reload­, thus reducing stat() calls. Apache::Reload also
+offers the exact same functionality as Apache::StatINC, and is thus
+designed to be a drop-in replacement. Apache::Reload only checks modules
+that register themselves with Apache::Reload if you explicitly turn off
+the StatINC emulation method (see below). Like Apache::StatINC,
+Apache::Reload must be installed as an Init Handler.
+
+=head2 StatINC Replacement
+
+To use as a StatINC replacement, simply add the following configuration
+to your httpd.conf:
+
+ PerlInitHandler Apache::Reload
+
+=head2 Register Modules Implicitly
+
+To only reload modules that have registered with Apache::Reload,
+add the following to the httpd.conf:
+
+ PerlInitHandler Apache::Reload
+ PerlSetVar ReloadAll Off
+ # ReloadAll defaults to On
+
+Then any modules with the line:
+
+ use Apache2::Reload;
+
+Will be reloaded when they change.
+
+=head2 Register Modules Explicitly
+
+You can also register modules explicitly in your httpd.conf file that
+you want to be reloaded on change:
+
+ PerlInitHandler Apache2::Reload
+ PerlSetVar ReloadAll Off
+ PerlSetVar ReloadModules "My::Foo My::Bar Foo::Bar::Test"
+
+Note that these are split on whitespace, but the module list B<must>
+be in quotes, otherwise Apache tries to parse the parameter list.
+
+=head2 Special "Touch" File
+
+You can also set a file that you can touch() that causes the reloads to be
+performed. If you set this, and don't touch() the file, the reloads don't
+happen. This can be a great boon in a live environment:
+
+ PerlSetVar ReloadTouchFile /tmp/reload_modules­
+
+Now when you're happy with your changes, simply go to the command line and
+type:
+
+ touch /tmp/reload_modules­
+
+And your modules will be magically reloaded on the next request. This
option
+works in both StatINC emulation mode and the registered modules mode.
+
+=head1 PSUEDOHASHES
+
+The short summary of this is: Don't use psuedohashes. Use an array with
+constant indexes. Its faster in the general case, its more guaranteed, and
+generally, it works.
+
+The long summary is that I've done some work to get this working with
+modules that use psuedo hashes, but its still broken in the case of a
+single module that contains multiple packages that all use psuedohashes.
+
+So don't do that.
+
+=head1 AUTHOR
+
+Matt Sergeant, matt@sergeant.org
+
+=head1 MAINTAINERS
+
+the mod_perl developers, dev@perl.apache.org­
+
+=head1 SEE ALSO
+
+Apache::StatINC, Stonehenge::Reload
+
+=cut
Index: MANIFEST
===================­====================­====================­========
--- MANIFEST (revision 558376)
+++ MANIFEST (working copy)
@@ -3,4 +3,9 @@
README
LICENSE
lib/Apache/Reload.p­m
+lib/Apache2/Reload­.pm
+t/reload.t
+t/lib/Apache/TestR­eload.pm
+t/lib/Apache2/Test­Reload.pm
RELEASE
+Changes
Index: Makefile.PL
===================­====================­====================­========
--- Makefile.PL (revision 558376)
+++ Makefile.PL (working copy)
@@ -38,9 +38,9 @@
require ModPerl::MM;
ModPerl::MM::WriteM­akefile(
%common_opts,
- VERSION_FROM => "lib/Apache/Reload.­pm",
- NAME => "Apache::Reload",
- ABSTRACT_FROM => 'lib/Apache/Reload.­pm',
+ VERSION_FROM => "lib/Apache2/Reload­.pm",
+ NAME => "Apache2::Reload",
+ ABSTRACT_FROM => 'lib/Apache2/Reload­.pm',
);
}

Index: Changes
===================­====================­====================­========
--- Changes (revision 558376)
+++ Changes (working copy)
@@ -6,8 +6,18 @@

=over 1

-=item 0.08-dev
+=item 0.10-dev

+Apache::Reload and Apache2::Reload bundled for CPAN release
+This release incorporates unreleased changes in 0.08 and 0.09
+[Fred Moyer <fred@redhotpenguin.com>]
+
+=item 0.09
+
+Apache2::Reload was part of mod_perl2 core
+
+=item 0.08
+
Remove modified modules before reloading them
[Javier Ureuen Val]

Index: README
===================­====================­====================­========
--- README (revision 558376)
+++ README (working copy)
@@ -101,6 +101,10 @@
AUTHOR
Matt Sergeant, matt@sergeant.org

+MAINTAINERS
+
+the mod_perl developers, dev@perl.apache.org­
+
SEE ALSO
Apache::StatINC, Stonehenge::Reload
comment 3 answer | Add comment
Thursday, 6 December 2007
SUPERUSER RIGHTS Lalit 18:56:57
 Hi,

I want to stop / start / pause/ resume / restart a daemon which is
created by us using PHP and APACHE 2.

Well i used posix_kill under PHP but this works on if the owner of the
daemon and APACHE is same. how can i make the APACHE to run as root or
is there any other way to do so.


Rgds


-------------------­--------------------­--------------------­----------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.a­pache.org/userslist.­html> for more info.
To unsubscribe, e-mail: users-unsubscribe@h­ttpd.apache.org
" from the digest: users-digest-unsubs­cribe@httpd.apache.o­rg
For additional commands, e-mail: users-help@httpd.ap­ache.org


comment 2 answer | Add comment
Saturday, 1 December 2007
$r->headers_out->set­('Server' => 'foo'); Fred Moyer 07:03:17
 Greetings,

I'm trying to figure out where in the mod_perl innards I need to look to
map the accessor for the Server header.

I've changed core.c in httpd so that set_banner() is deactivated. This
results in a Server header of 'mod_perl/2.0.4-dev­ Perl/v5.8.8', so I
think that change is all that is needed to keep apache from overwriting
the header.

I don't see anything in xs/maps/apache2_str­uctures.map so I figure that
I have to add server in there somehow?

Thanks in advance,

Fred
comment 2 answer | Add comment
Monday, 26 November 2007
[ANNOUNCE] Apache-Test 1.30 Fred Moyer 22:49:41
 Greetings,

Version 1.30 of Apache::Test will be coming to a CPAN mirror near you
shortly.

md5: f4e34be218a25048def­5a4f797ae7cb9

Summary of changes in version 1.30:

Added t_write_test_lib for temporary testing packages
[Fred Moyer <fred@redhotpenguin.com>]

Fix syntax error in generated PHP files t/conf/*.php.in
[Philippe M. Chiasson]

Add bwshare.so to the list of modules to not inherit b/c
it rate limits requests to less then that of a test suite.
PR: 25548
[imacat <imacat@mail.imacat.idv.tw>]

Add EXTRA_CFLAGS to c-module building if defined in the environment
[Geoffrey Young]



Enjoy!

- the modperl development team
Add comment
[RELEASE CANDIDATE] Apache-Test-1.30 RC1 Fred Moyer 21:08:19
 Greetings,

A release candidate for Apache::Test is now available:

http://people.apach­e.org/~phred/Apache-­Test-1.30-RC1.tar.gz­

Please take a moment to download, build, and report test failures or
success back to the list. Thanks!


Summary of changes in this version:

Added t_write_test_lib for temporary testing packages
[Fred Moyer <fred@redhotpenguin.com>]

Fix syntax error in generated PHP files t/conf/*.php.in
[Philippe M. Chiasson]

Add bwshare.so to the list of modules to not inherit b/c
it rate limits requests to less then that of a test suite.
PR: 25548
[imacat <imacat@mail.imacat.idv.tw>]

Add EXTRA_CFLAGS to c-module building if defined in the environment
[Geoffrey Young]
comment 10 answers | Add comment

Add new topic:

How:  Register )
 
Логин:   Пароль:   
Комментировать могут: Премодерация:
Topic:
  
 
Пожалуйста, относитесь к собеседникам уважительно, не используйте нецензурные слова, не злоупотребляйте заглавными буквами, не публикуйте рекламу и объявления о купле/продаже, а также материалы нарушающие сетевой этикет или УК РФ.


QAIX > Apache HTTP ServerGo to page: « previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | next »

see also:
RE: EAR Problems (Solved)
Change the CF JWS root directory?
OT: Javascript browser compatibility…
пройди тесты:
see also:
And it again I! I spoke, that I shall…
i'm a new user!!!
hello

  Copyright © 2001—2008 QAIX
Idea: Miсhael Monashev
Помощь и задать вопросы можно в сообществе support.qaix.com.
Сообщения об ошибках оставляем в сообществе bugs.qaix.com.
Предложения и комментарии пишем в сообществе suggest.qaix.com.
Информация для родителей.
Write us at:
If you would like to report an abuse of our service, such as a spam message, please .