Gentoo Archives: gentoo-commits

From: "Le Zhang (r0bertz)" <r0bertz@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/zh_cn/php: php-upgrading.xml
Date: Sat, 06 Oct 2007 18:10:04
Message-Id: E1IeDx7-00017V-Ei@stork.gentoo.org
1 r0bertz 07/10/06 18:00:37
2
3 Added: php-upgrading.xml
4 Log:
5 added proj/zh_cn/php/php-upgrading.xml
6
7 Revision Changes Path
8 1.1 xml/htdocs/proj/zh_cn/php/php-upgrading.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/zh_cn/php/php-upgrading.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/zh_cn/php/php-upgrading.xml?rev=1.1&content-type=text/plain
12
13 Index: php-upgrading.xml
14 ===================================================================
15 <?xml version="1.0" encoding="utf-8"?>
16 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/zh_cn/php/php-upgrading.xml,v 1.1 2007/10/06 18:00:36 r0bertz Exp $ -->
18 <!-- English CVS version: 1.5 -->
19
20 <guide link="/proj/zh_cn/php/php-upgrading.xml" lang="zh_cn">
21 <title>升级PHP</title>
22
23 <author title="作者">
24 <mail link="akorthaus@×××.de">Andreas Korthaus</mail>
25 </author>
26 <author title="译者">
27 <mail link="jjj3112000@×××.com">Zezhou Jiang</mail>
28 </author>
29
30 <abstract>
31 这个文档描述了最终用户安全升级PHP时所需要做的步骤。
32 </abstract>
33
34 <!-- The content of this document is licensed under the CC-BY-SA license -->
35 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
36 <license/>
37
38 <version>1.2</version>
39 <date>2007-08-11</date>
40
41 <chapter>
42 <title>介绍</title>
43 <section>
44 <body>
45
46 <p>
47 在过去有许多要求为什么在Portage里PHP5还没有被标记成稳定。问题不是PHP5包自身,PHP5没有被标记成稳定的主要原因是在Portage里的许多应用程序、PHP扩展和包还无法在PHP5下工作,但是我们毫无办法。PHP5不是100%地向后兼容PHP4,而且不是所有的PHP4程序可以被移植到PHP5上运行。在未来的很长一段时间内许多用户仍需要PHP4的支持。
48 </p>
49
50 <p>
51 这个问题的解决方案是提供一个在同一个主机同时混合PHP4和PHP5环境。但是对于现在的PHP包和eclass的界面来说是不可能的,所以必须有一个新的界面,新的eclass和新的ebuild。
52 </p>
53
54 <p>
55 这个文档详细描述了如何在不中断你的系统的情况下升级。
56 </p>
57
58 <note>
59 新的PHP包需要新的Apache界面,所以如果你还没升级,请看看<uri link="/doc/en/apache-upgrading.xml">升级Apache</uri>。
60 </note>
61
62 </body>
63 </section>
64 </chapter>
65
66 <chapter>
67 <title>变化</title>
68 <section>
69 <title>统一的基本PHP包</title>
70 <body>
71
72 <p>
73 所有的PHP的ebuild <c>dev-php/php</c>,<c>dev-php/php-cgi</c>和<c>dev-php/mod_php</c>已经整合成一个ebuild了:<c>dev-lang/php</c>。
74 </p>
75
76 <p>
77 选择你需要的SAPI,使用这些USE标记:
78 </p>
79
80 <ul>
81 <li><c>cgi</c>——编译和安装<path>/usr/bin/php-cgi</path></li>
82 <li><c>cli</c>——编译和安装<path>/usr/bin/php</path></li>
83 <li><c>apache</c>——编译和安装Apache 1.3的<c>mod_php</c>(新布局)</li>
84 <li><c>apache2</c>——编译和安装Apache 2.0的<c>mod_php</c>(新布局)</li>
85 </ul>
86
87 <p>
88 你可以混合并且组合这些USE标记;除了你不能同时开启<c>apache</c>和<c>apache2</c>两个USE标记。
89 </p>
90
91 <p>
92 这些ebuild的所有点是你可以同时拥有PHP4和PHP5:
93 </p>
94
95 <pre caption="安装PHP">
96 <comment>(安装最新的有CLI和Apache2模块的PHP)</comment>
97 <i>USE="cli apache2" emerge 'dev-lang/php'</i>
98
99 <comment>(只安装PHP4)</comment>
100 <i>USE="cli apache2" emerge '=dev-lang/php-4*'</i>
101
102 <comment>(安装两种,PHP4和PHP5)</comment>
103 <i>USE="cli apache2" emerge '=dev-lang/php-4*' '=dev-lang/php-5*'</i>
104 </pre>
105
106 <note>
107 USE标记不能像这样设,请使用<path>/etc/portage/package.use</path>,这个稍后会说。
108 </note>
109
110 </body>
111 </section>
112
113 <section>
114 <title>新的Portage分类</title>
115 <body>
116
117 <p>
118 新的PHP的ebuild已经从<c>dev-php</c>被移到<c>dev-lang/php</c>下了。为了独立地安装PHP4和PHP5,两个新的Portage分类已经被创建了:<c>dev-php4</c>和<c>dev-php5</c>。这些分类主要被用于PECL包像<c>pecl-pdo</c>,<c>pecl-apc</c>,<c>php-java-bridge</c>或<c>xdebug</c>。
119 </p>
120
121 <p>
122 安装<c>pecl-apc</c>:
123 </p>
124
125 <pre caption="安装PHP扩展像PECL::APC(示例)">
126 <comment>(只为PHP4安装APC)</comment>
127 <i>emerge dev-php4/pecl-apc</i>
128
129 <comment>(只为PHP5安装APC)</comment>
130 <i>emerge dev-php5/pecl-apc</i>
131
132 <comment>(为PHP4和PHP5安装APC)</comment>
133 <i>emerge dev-php4/pecl-apc dev-php5/pecl-apc</i>
134 </pre>
135
136 </body>
137 </section>
138
139 <section>
140 <title>新目录</title>
141 <body>
142
143 <ul>
144 <li>这些ebuild会将他们的内容安装到<path>/usr/lib/php4</path>和<path>/usr/lib/php5</path>下(Apache的模块被安装到相应的Apache目录里)</li>
145 <li>PEAR包和其他的PHP库文件将会被安装到<path>/usr/share/php</path>(之前是<path>/usr/lib/php</path>)</li>
146 <li>PECL包已经不再往<path>php.ini</path>配置文件下添加配置知道了,但添加一个<path>[PACKAGE].ini</path>文件到<path>/etc/php/[SAPI]/ext</path>目录下。</li>
147 </ul>
148
149 </body>
150 </section>
151
152 <section>
153 <title>PHP库的符号链接</title>
154 <body>
155
156 <p>
157 如果你安装不止一个版本的PHP,如:
158 </p>
159
160 <pre caption="编译安装PHP4和PHP5">
161 <i>USE="cgi cli apache2" emerge '=dev-lang/php-4*' '=dev-lang/php-5*'</i>
162 </pre>
163
164 <p>
165 ebuild将会在<path>/usr/bin</path>里为你安装的最后一个PHP版本建立链接,在这个例子中PHP5在PHP4后面装好。如果你想要<path>/usr/bin/php</path>或者<path>/usr/bin/php-cgi</path>指向PHP4,或者其中一个指向PHP4另一个指向PHP5,你可以使用来自<c>app-admin/php-toolkit</c>的<uri link="#doc_chap3_sect5">use the php-select tool</uri>。<c>php-select</c>将会使链接正确的二进制库变得十分简单。
166 </p>
167
168 </body>
169 </section>
170 </chapter>
171
172 <chapter>
173 <title>升级说明</title>
174 <section>
175 <title>找到要升级的包</title>
176 <body>
177
178 <p>
179 首先你要想好你要升级哪些包。你可以使用<c>equery</c>工具来达到目的,它是<c>app-portage/gentoolkit</c>包的一部分:
180 </p>
181
182 <pre caption="列出在dev-php中已安装的包">
183 $ <i>equery list 'dev-php/'</i>
184 [ Searching for all packages in 'dev-php' among: ]
185 * installed packages
186 [I--] [ ] dev-php/php-4.4.0 (0)
187 [I--] [ ] dev-php/mod_php-4.4.0 (1)
188 [I--] [ ] dev-php/smarty-2.6.10 (0)
189 [I--] [ ] dev-php/PEAR-PEAR-1.3.5-r1 (0)
190 [I--] [ ] dev-php/PEAR-Mail-1.1.6 (0)
191 [I--] [ ] dev-php/PEAR-MDB-1.3.0 (0)
192 [I--] [ ] dev-php/PECL-apc-3.0.6 (0)
193 [I--] [ ] dev-php/PECL-imagick-0.9.11 (0)
194 [I--] [ ] dev-php/xdebug-2.0.0_beta3 (0)
195 </pre>
196
197 <impo>
198 你安装好的包可能有巨大的不同,请确定你自己运行了这个命令。你应该保存上面建立好了的你的列表,来确保你将会升级所有的包。
199 </impo>
200
201 <note>
202 许多web应用程序因为它们不使用web应用程序eclass,所以不会受到影响,它们需要小心地正确安装。你可能想要检查一下是否那里有新的修订。
203 </note>
204
205 <p>
206 PHP扩展,像
207 </p>
208
209 <ul>
210 <li><c>PECL-apc</c></li>
211 <li><c>PECL-imagick</c></li>
212 <li><c>xdebug</c></li>
213 </ul>
214
215 <p>
216 已经被分为两个Portage分类:<c>dev-php4</c>和<c>dev-php5</c>,来使它能够为两个PHP版本独立地使用它们。还有,这些包的大部分已经被重命名过了:
217 </p>
218
219 <p>
220 新目录和重命名的示例:
221 </p>
222
223 <table>
224 <tr>
225 <th>PHP扩展</th>
226 <th>旧的</th>
227 <th>新PHP4</th>
228 <th>新PHP5</th>
229 </tr>
230 <tr>
231 <ti>APC</ti>
232 <ti>dev-php/PECL-apc</ti>
233 <ti>dev-php4/pecl-apc</ti>
234 <ti>dev-php5/pecl-apc</ti>
235 </tr>
236 <tr>
237 <ti>Imagick</ti>
238 <ti>dev-php/PECL-imagick</ti>
239 <ti>dev-php4/pecl-imagick</ti>
240 <ti>dev-php5/pecl-imagick</ti>
241 </tr>
242 <tr>
243 <ti>Xdebug</ti>
244 <ti>dev-php/xdebug</ti>
245 <ti>dev-php4/xdebug</ti>
246 <ti>dev-php5/xdebug</ti>
247 </tr>
248 </table>
249
250 <note>
251 在重新编译安装这些扩展前,你必须到<path>/usr/portage</path>下找出那些包是如何被重命名的。
252 </note>
253
254 </body>
255 </section>
256
257 <section>
258 <title>移除旧的包</title>
259 <body>
260
261 <p>
262 我们对Gentoo下的PHP做了很多改变。你必须在安装新的包前完全移除你的旧的PHP包:
263 </p>
264
265 <pre caption="移除旧的包(示例)">
266 <comment>(反安装PHP包)</comment>
267 <i>emerge --unmerge php mod_php</i>
268
269 <comment>(反安装PHP扩展)</comment>
270 <i>emerge --unmerge PECL-apc PECL-imagick xdebug</i>
271
272 <comment>(反安装PHP库或应用程序)</comment>
273 <i>emerge --unmerge PEAR-PEAR PEAR-Mail PEAR-MDB smarty</i>
274 </pre>
275
276 </body>
277 </section>
278
279 <section>
280 <title>设置USE标记</title>
281 <body>
282
283 <p>
284 因为我们已经添加了一些新的USE标记,你可能想要重新看看它们,并且添加适当的USE标记到<path>/etc/portage/package.use</path>里(如果不存在的话需要创建)
285 </p>
286
287 <note>
288 <path>/etc/portage/package.use</path>将会为你的PHP安装设置USE标记,并且不通过修改<path>make.conf</path>来记录他们。
289 </note>
290
291 <p>
292 请根据你要安装的PHP支持来设置USE标记(推荐至少要设置<c>cli</c>这个USE标记):
293 </p>
294
295 <pre caption="dev-lang/php的USE标记(示例)">
296 dev-lang/php -* cli apache2 ctype expat fastbuild ftp gd hash iconv memlimit mysql nls pcre pic pdo reflection session simplexml sockets spl ssl tokenizer truetype unicode xml xsl zlib
297 </pre>
298
299 <note>
300 <c>-*</c>将会禁用所有的USE标记(它甚至会禁用一些PHP基本的特性像Session-,PCRE-,gd-和MySQL支持),所以你必须特别地为一些你想要的扩展或特性指定USE标记。请参看<uri link="http://overlays.gentoo.org/proj/php/wiki/ManagingExtensions">管理扩展</uri>来获取更多细节。你必须为以上默认的设置USE标记像这些:如果你想用<c>pcre</c>参看<uri link="http://overlays.gentoo.org/proj/php/wiki/PhpRefPcre">preg_*函数</uri>,或者你想用<c>会话</c>参看<uri link="http://overlays.gentoo.org/proj/php/wiki/PhpRefSession">会话处理函数</uri>。
301 </note>
302
303 <p>
304 如果你想安装同时PHP4和PHP5,你可以为每个不同版本加入不同的USE标记:
305 </p>
306
307 <pre caption="PHP4和PHP5 USE标记的不同(示例)">
308 =dev-lang/php-4* -* cli cgi apache2 ctype expat fastbuild force-cgi-redirect ftp gd iconv ipv6 memlimit mysql nls pcre pic posix session sockets ssl tokenizer truetype unicode xml xsl zlib
309 =dev-lang/php-5* -* cli cgi apache2 ctype fastbuild force-cgi-redirect ftp gd hash iconv ipv6 memlimit mysql nls pcre pic posix pdo reflection session simplexml soap sockets spl sqlite ssl tokenizer truetype unicode xml xmlreader xmlwriter xsl zlib
310 </pre>
311
312 <note>
313 你可以在<uri link="http://overlays.gentoo.org/proj/php/wiki/CommonQuestions">推荐的USE标记</uri>里找到推荐的USE标记列表。在overlay的维基百科<uri link="http://overlays.gentoo.org/proj/php/wiki/NewUseFlags">USE标记列表</uri>里你能找到PHP能用的USE标记的列表。</note>
314
315 </body>
316 </section>
317
318 <section>
319 <title>编译安装PHP</title>
320 <body>
321
322 <p>
323 现在选择单独安装PHP4或单独安装PHP5,还可以同时安装。如果你要单独安装PHP4你必须emerge <c>=dev-lang/php-4*</c>,单独安装PHP5(最新)你可以用<c>dev-lang/php</c>,如果要同时安装的话,你必须emerge <c>=dev-lang/php-4*</c>和<c>=dev-lang/php-5*</c>。
324 </p>
325
326 <p>
327 检查USE标记设置:
328 </p>
329
330 <pre caption="检查USE标记(示例)">
331 <comment>(检查PHP4包)</comment>
332 <i>emerge --pretend --verbose '=dev-lang/php-4*'</i>
333
334 <comment>(检查PHP5包)</comment>
335 <i>emerge --pretend --verbose '=dev-lang/php-5*'</i>
336
337 <comment>(为PHP4检查PHP扩展)</comment>
338 <i>emerge --pretend --verbose dev-php4/pecl-apc dev-php4/pecl-imagick dev-php4/xdebug</i>
339
340 <comment>(为PHP5检查PHP扩展)</comment>
341 <i>emerge --pretend --verbose dev-php5/pecl-apc dev-php5/pecl-imagick</i>
342
343 <comment>(检查PHP库和应用程序)</comment>
344 <i>emerge --pretend --verbose PEAR-PEAR PEAR-Mail PEAR-MDB smarty</i>
345 </pre>
346
347 <p>
348 如果一切都好了,请编译安装PHP:
349 </p>
350
351 <pre caption="编译安装新的包(示例)">
352 <comment>(编译PHP4包)</comment>
353 <i>emerge '=dev-lang/php-4*'</i>
354
355 <comment>(编译PHP5包)</comment>
356 <i>emerge '=dev-lang/php-5*'</i>
357
358 <comment>(为PHP4编译安装扩展)</comment>
359 <i>emerge dev-php4/pecl-apc dev-php4/pecl-imagick dev-php4/xdebug</i>
360
361 <comment>(为PHP5编译安装扩展)</comment>
362 <i>emerge dev-php5/pecl-apc dev-php5/pecl-imagick</i>
363
364 <comment>(编译PHP库或应用程序)</comment>
365 <i>emerge PEAR-PEAR PEAR-Mail PEAR-MDB smarty</i>
366 </pre>
367
368 </body>
369 </section>
370
371 <section>
372 <title>PHP4和PHP5的相似之处:选择使用哪个cli/cgi二进制包</title>
373 <body>
374
375 <p>
376 在你编译安装后你将会有在<path>/usr/lib/php4/bin</path>和/或<path>/usr/lib/php5/bin</path>里的<c>cli</c>和/或<c>cgi</c>的二进制包。如果你把PHP4和PHP5都装了,那么Portage不能为你决定哪一个应该被作为默认的版本,所以它总是把你安装在<path>/usr/bin</path>的最后一个版本作为默认的。所以如果你最后装了PHP5,你将会看到<path>/usr/bin/php</path>被链接到了<path>/usr/lib/php5/bin/php</path>。所以一个<c>cli</c>和/或<c>cgi</c>的二进制包和<c>php-devel</c>(为建立使用<c>phpize</c>和<c>php-config</c>的PHP扩展)必须被链接(在<path>/usr/bin</path>里),这可以很简单地用<c>app-admin/php-toolkit</c>的一部分<c>php-select</c>来完成。
377 </p>
378
379 <note>
380 <c>dev-lang/php</c>包依赖于<c>app-admin/php-toolkit</c>所以<c>app-admin/php-toolkit</c>应该能够在编译安装担心的PHP包以后自动启用。
381 </note>
382
383 <p>
384 假如你已经编译安装了<c>=dev-lang/php-4*</c>或<c>=dev-lang/php-5*</c>,输入如下命令<c>php-select</c>来看看最近选择的PHP版本:
385 </p>
386
387 <pre caption="列出最近选择的PHP版本">
388 <comment>(为cli)</comment>
389 <i>php-select php</i>
390
391 <comment>(为cgi)</comment>
392 <i>php-select php-cgi</i>
393
394 <comment>(为phpize,php-config)</comment>
395 <i>php-select php-devel</i>
396 </pre>
397
398 <p>
399 你应该会看到像这样的东西:
400 </p>
401
402 <pre caption="php-select的示例输出">
403 # <i>php-select php</i>
404 /usr/bin/php is set to /usr/lib/php5/bin/php
405 </pre>
406
407 <p>
408 这意味着默认的PHP的cli二进制包路径<path>/usr/bin/php</path>被链接到PHP5的二进制包路径<path>/usr/lib/php5/bin/php</path>下了。所以PHP脚本使用的<path>/usr/bin/php</path>会被PHP5运行。
409 </p>
410
411 </body>
412 </section>
413
414 <section>
415 <title>用php-select来改变默认的PHP版本</title>
416 <body>
417
418 <p>
419 如果你不喜欢你在最后一章找出的默认版本设置,你可以再次使用<c>php-select</c>来选择一个想要的版本:
420 </p>
421
422 <pre caption="选择想要得到的版本">
423 <comment>(为cli)</comment>
424 <i>php-select php php4</i>
425
426 <comment>(为cgi)</comment>
427 <i>php-select php-cgi php5</i>
428
429 <comment>(为phpize,php-config)</comment>
430 <i>php-select php-devel php5</i>
431 </pre>
432
433 <note>
434 请输入<c>php-select -h</c>来详细了解更多<c>php-select</c>功能的细节。
435 </note>
436
437 <p>
438 检查符号链接:
439 </p>
440
441 <pre caption="检查符号链接">
442 # <i>stat /usr/bin/php /usr/bin/php-cgi /usr/bin/phpize /usr/bin/php-config | grep File</i>
443 File: `/usr/bin/php' -&gt; `/usr/lib/php4/bin/php'
444 File: `/usr/bin/php-cgi' -&gt; `/usr/lib/php5/bin/php-cgi'
445 File: `/usr/bin/phpize' -&gt; `/usr/lib/php5/bin/phpize'
446 File: `/usr/bin/php-config' -&gt; `/usr/lib/php5/bin/php-config'
447 </pre>
448
449 <note>
450 请记住<c>php-select</c>只改变默认的版本。如果你PHP4和PHP5的cgi/cli都装了,你可以用直接路径像<path>/usr/lib/php4/bin/php</path>和<path>/usr/lib/php5/bin/php</path>来运行你个特定版本的PHP脚本。你可以在相同的Apache实例中使用PHP4和PHP5的cgi,但是你不能在相同的Apache实例中使用两个不同的PHP的Apache模块,参见<uri link="php4-php5-configuration.xml">PHP4和PHP5配置指南</uri>来得到更多细节。
451 </note>
452
453 </body>
454 </section>
455 </chapter>
456
457 <chapter>
458 <title>配置文件的移动</title>
459 <section>
460 <body>
461
462 <p>
463 Gentoo的PHP包在<path>/etc/php</path>下存储配置文件,它包括每个不同PHP版本的每个SAPI的一个子目录:
464 </p>
465
466 <pre caption="列出PHP配置目录">
467 $ <i>ls -1 /etc/php</i>
468 apache2-php4
469 apache2-php5
470 cli-php4
471 cli-php5
472 </pre>
473
474 <p>
475 每个子目录包含一个自己的<path>php.ini</path>,像旧的包一样。
476 </p>
477
478 </body>
479 </section>
480
481 <section>
482 <title>php.ini的改变</title>
483 <body>
484
485 <p>
486 你应该使用<c>etc-update</c>或者<c>dispatch-conf</c>,然后看看在<path>php.ini</path>里的新旧配置的不同。两个规则你必须明确的是<c>include_path</c>和<c>extension_dir</c>。但是在这里请小心,因为<c>extension_dir</c>在两个不同的PHP版本间是不同的(在5.0和5.1间也一样!)。
487 </p>
488
489 <p>
490 PHP5.1在<path>/etc/php/apache2-php5/php.ini</path>和<path>/etc/php/cli-php5/php.ini</path>的示例:
491 </p>
492
493 <pre caption="php.ini的旧配置">
494 include_path = ".:/usr/lib/php"
495 extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20050617/"
496 </pre>
497
498 <pre caption="php.ini的新设置">
499 include_path = ".:/usr/share/php"
500 extension_dir = "/usr/lib/php5/lib/php/extensions/no-debug-non-zts-20050617/"
501 </pre>
502
503 <warn>
504 确保你使用了<c>etc-update</c>或者<c>dispatch-conf</c>来查看所有文件的正确设置。
505 </warn>
506
507 </body>
508 </section>
509
510 <section>
511 <title>改变了的PHP扩展的配置</title>
512 <body>
513
514 <p>
515 新的PHP包不会在<path>php.ini</path>里存储共享的PHP扩展的配置指令。这些指令会被存储在每一个扩展的在<path>/etc/php/*/ext</path>目录里的自己的配置文件里。如果要启用/禁用共享的扩展,<path>/etc/php/*/ext-active</path>的链接被使用了。如果你想要启动一个扩展,创建<path>/etc/php/*/ext-active</path>的链接到<path>/etc/php/*/ext/</path>目录里的适当的<path>[EXTENSION].ini</path>文件上。如果你想要禁用扩展,只要移除链接就好。
516 </p>
517
518 <p>
519 如果你之前已经装了<c>dev-php/PECL-apc</c>,APC配置文件已经储存在你的<path>php.ini</path>里了。如果你重新编译安装了型的<c>dev-php5/pecl-apc</c>包,默认的APC配置文件将会被写到<path>/etc/php/*5/ext/apc.ini</path>里。
520 </p>
521
522 <p>
523 所以你必须从<path>/etc/php/*5/php.ini</path>移动你的APC配置规则到<path>/etc/php/*5/ext/apc.ini</path>,然后创建一个符号链接从<path>/etc/php/*5/ext-active/apc.ini</path>到<path>/etc/php/*5/ext/apc.ini</path>。
524 </p>
525
526 <note>
527 如果你把PHP安装作一个Apache的模块,请确定你在安装和配置后重启了Apache。
528 </note>
529
530 </body>
531 </section>
532 </chapter>
533
534 <chapter>
535 <title>配置Apache来与PhP4和/或PHP5一起工作</title>
536 <section>
537 <body>
538
539 <p>
540 为了配置Apache来加载PHP4或PHP5模块(mod_php),你应该分别添加<c>-D PHP4</c>和<c>-D PHP5</c>到在<path>/etc/conf.d/apache2</path>文件里的<c>APACHE2_OPTS</c>变量里。
541 </p>
542
543 <pre caption="配置Apache来加载mod_php">
544 <comment>(为PHP4设置)</comment>
545 <i>APACHE2_OPTS="-D PHP4"</i>
546
547 <comment>(或者为PHP5设置)</comment>
548 <i>APACHE2_OPTS="-D PHP5"</i>
549 </pre>
550
551 <p>
552 有许多方法可以使Apache同时运行两个PHP版本。最简单的方法是把PHP4和PHP5作为一个cgi二进制库来使用,或者一个PHP4的cgi和一个PHP5的模块(或者是其他的办法)。在同一Apache实例中无法同时使用PHP4模块和PHP5模块。
553 </p>
554
555 <p>
556 我们创建了<uri link="php4-php5-configuration.xml">PHP4和PHP5配置指南</uri>来提供一些可能的解决方案。
557 </p>
558
559 </body>
560 </section>
561 </chapter>
562
563 <chapter>
564 <title>支持和得到帮助</title>
565 <section>
566 <body>
567
568 <p>
569 如果你在使用新的Gentoo的PHP包时遇到麻烦,你可以在这里找到帮助:
570 </p>
571
572 <ul>
573 <li>
574 关于Gentoo上的PHP的<uri link="http://overlays.gentoo.org/proj/php/wiki/CommonQuestions">常见问题</uri>
575 </li>
576 <li>
577 <uri link="http://overlays.gentoo.org/proj/php/">PHP Overlay的开发页面</uri>
578 </li>
579 <li>
580 在irc.freenode.net上的#gentoo-php;这是一个overlay的正式作者经常逛的聊天室。我们很希望在那见到你!
581 </li>
582 <li>
583 <uri link="http://forums.gentoo.org/">Gentoo论坛</uri>这里是寻求帮助的好地方。这里有很多每时每刻都阅读论坛的其他Gentoo用户,如果你急需得到帮助,这里是个好地方。
584 </li>
585 </ul>
586
587 <p>
588 对于新的包的细节,你可以看看<uri link="http://article.gmane.org/gmane.linux.gentoo.devel/30050">gentoo-dev上Stuart的邮件</uri>。你也许觉得<uri link="http://blog.stuartherbert.com/php/">Stuart的PHP博客</uri>也很有趣。
589 </p>
590
591 <p>
592 在<uri link="http://overlays.gentoo.org/proj/php/">开发页面</uri>上,你将会发现很多文档和最近的ebuild,这些将会迟一些才被移到官方的Portage树。
593 </p>
594
595 </body>
596 </section>
597 </chapter>
598 </guide>
599
600
601
602 --
603 gentoo-commits@g.o mailing list