File: dir-other-ipd.html

package info (click to toggle)
libapache-mod-python 2%3A2.7.11-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,328 kB
  • ctags: 848
  • sloc: ansic: 2,785; python: 1,115; sh: 299; makefile: 285
file content (154 lines) | stat: -rw-r--r-- 5,804 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>5.2.4 PythonInterpPerDirectory</title>
<META NAME="description" CONTENT="5.2.4 PythonInterpPerDirectory">
<META NAME="keywords" CONTENT="modpython">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<link rel="STYLESHEET" href="modpython.css">
<link rel="first" href="modpython.html">
<link rel="contents" href="contents.html" title="Contents">
<link rel="index" href="genindex.html" title="Index">
<LINK REL="next" href="dir-other-ipdv.html">
<LINK REL="previous" HREF="node58.html">
<LINK REL="up" href="dir-other.html">
<LINK REL="next" href="dir-other-ipdv.html">
</head>
<body>
<DIV CLASS="navigation">
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node58.html"><img src="icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-other.html"><img src="icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-other-ipdv.html"><img src="icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><A href="contents.html"><img src="icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.gif"
  border="0" height="32"
  alt="Index" width="32"></A></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node58.html">5.2.3 PythonImport</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-other.html">5.2 Other Directives</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-other-ipdv.html">5.2.5 PythonInterpPerDirective</A>
<br><hr>
</DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION007240000000000000000">&nbsp;</A>
<a name="l2h-149">&nbsp;</a>
<BR>
5.2.4 PythonInterpPerDirectory
</H2>

<P>
<b><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Syntax"
 title="Syntax:"
 >Syntax:</a></em></b>
PythonInterpPerDirectory {On, Off} 
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Default"
 title="Default:"
 >Default:</a></em>
PythonInterpPerDirectory Off
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Context"
 title="Context:"
 >Context:</a></em>
server config, virtual host, directory, htaccess
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Override"
 title="Override:"
 >Override:</a></em>
not None
<BR><em class="citetitle"><a
 href="http://www.apache.org/docs/mod/directive-dict.html#Module"
 title="Module:"
 >Module:</a></em>
mod_python.c

<P>
Instructs mod_python to name subinterpreters using the directory of
the file in the request (<code>req.filename</code>) rather than the the
server name. This means that scripts in different directories will
execute in different subinterpreters as opposed to the default policy
where scripts in the same virtual server execute in the same
subinterpreter, even if they are in different directories.

<P>
For example, assume there is a
<span class="file">/directory/subdirectory</span>. <span class="file">/directory</span> has an .htaccess
file with a PythonHandler directive.  <span class="file">/directory/subdirectory</span>
doesn't have an .htacess. By default, scripts in /directory and
<span class="file">/directory/subdirectory</span> would execute in the same interpreter assuming
both directories are accessed via the same virtual server. With
PythonInterpPerDirectory, there would be two different interpreters,
one for each directory.

<P>
<b>Note:</b> In early phases of the request prior to the URI translation
(PostReadRequestHandler and TransHandler) the path is not yet known
because the URI has not been translated. During those phases and with
PythonInterpPerDirectory on, all python code gets executed in the
main interpreter. This may not be exactly what you want, but
unfortunately there is no way around this.

<P>
<div class="seealso">
  <p class="heading"><b>See Also:</b></p>

	<dl compact class="seetitle">
    <dt><em class="citetitle"><a href="pyapi-interps.html"
        >Section <A href="pyapi-interps.html#pyapi-interps">4.1</A> Multiple Interpreters</a></em>
    <dd>for more information
  </dl>
</div>

<P>

<DIV CLASS="navigation">
<p><hr>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><A HREF="node58.html"><img src="icons/previous.gif"
  border="0" height="32"
  alt="Previous Page" width="32"></A></td>
<td><A href="dir-other.html"><img src="icons/up.gif"
  border="0" height="32"
  alt="Up One Level" width="32"></A></td>
<td><A href="dir-other-ipdv.html"><img src="icons/next.gif"
  border="0" height="32"
  alt="Next Page" width="32"></A></td>
<td align="center" width="100%">Mod_python Manual</td>
<td><A href="contents.html"><img src="icons/contents.gif"
  border="0" height="32"
  alt="Contents" width="32"></A></td>
<td><img src="icons/blank.gif"
  border="0" height="32"
  alt="" width="32"></td>
<td><A href="genindex.html"><img src="icons/index.gif"
  border="0" height="32"
  alt="Index" width="32"></A></td>
</tr></table>
<b class="navlabel">Previous:</b> <a class="sectref" HREF="node58.html">5.2.3 PythonImport</A>
<b class="navlabel">Up:</b> <a class="sectref" href="dir-other.html">5.2 Other Directives</A>
<b class="navlabel">Next:</b> <a class="sectref" href="dir-other-ipdv.html">5.2.5 PythonInterpPerDirective</A>
<hr>
<span class="release-info">Release 2.7.10, documentation updated on December 07, 2003.</span>
</DIV>
<!--End of Navigation Panel-->

</BODY>
</HTML>