File: install.sgml

package info (click to toggle)
php3 1%3A3.0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 8,348 kB
  • ctags: 9,086
  • sloc: ansic: 76,362; sh: 2,333; php: 1,329; yacc: 1,148; makefile: 970; perl: 763; cpp: 529; awk: 90; sql: 11
file content (803 lines) | stat: -rw-r--r-- 29,501 bytes parent folder | download
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
 <chapter id="installation">
  <title>Installation</title>
  <abstract>
   <para>
    This chapter will guide you through the configuration and
    installation of PHP3.  Prerequisite knowledge and software:
    
    <itemizedlist>
     <listitem><simpara>Basic UNIX skills (being able to operate "make"
      and a C compiler)</simpara></listitem>
     <listitem><simpara>An ANSI C compiler</simpara></listitem>
     <listitem><simpara>A web server (obviously)</simpara></listitem>
    </itemizedlist>
   </para>
  </abstract>
  
  <sect1 id="install-unix">
   <title>Installing From Source on UNIX</title>
   
   <sect2>
    <title>Downloading Source</title>
    <simpara>
     The source code for the latest version can be found at
     <literal><ulink
       url="http://www.php.net">http://www.php.net</ulink></literal>.
    </simpara>
   </sect2>
  
   <sect2>
	<title>Quick Installation Instructions (Apache Module Version)</title>
	<para>
	<informalexample>
	<programlisting>

1.  gunzip apache_1.3.x.tar.gz
2.  tar xvf apache_1.3.x.tar
3.  gunzip php-3.0.x.tar.gz
4.  tar xvf php-3.0.x.tar
5.  cd apache_1.3.x
6.  ./configure --prefix=/www
7.  cd ../php-3.0.x
8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9.  make
10. make install
11. cd ../apache_1.3.x
12. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
13. make
14. make install
  Instead of this step you may prefer to simply copy the httpd binary overtop
  of your existing binary.  Make sure you shut down your server first though.

15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini
You can edit /usr/local/lib/php3.ini file to set PHP options.
If you prefer this file in another location, use --with-config-file=/path in step 8.

17. Edit your httpd.conf or srm.conf file and add: 
      
            AddType application/x-httpd-php3 .php3
 
  You can choose any extension you wish here.  .php3 is simply the one we suggest.   

18. Use your normal procedure for starting the Apache server.  

	</programlisting>
	</informalexample>
	</para>
   </sect2>
 
   <sect2>
    <title>Configuration</title>
    <para>
     There are two ways of configuring PHP3.
     
     <itemizedlist>
      <listitem>
       <para>
        Using the "setup" script that comes with PHP3.  This script
        asks you a series of questions (almost like the "install"
        script of PHP/FI 2.0) and runs "configure" in the end.  To run
        this script, type <command>./setup</command>.
       <para>
        This script will also create a file called "do-conf", this
        file will contain the options passed to configure. You can
        edit this file to change just a few options without having to
        re-run setup. Then type <command>./do-conf</command> to run
        configure with the new options.
      </listitem>
      <listitem>
       <para>
        Running configure by hand.  To see what options you have, type
        <command>./configure --help</command>.
      </listitem>
     </itemizedlist>
     
    <para>
     Details about some of the different configuration options are
     listed below.

   <sect2 id="with-apache">
    <title>Apache module</title>

    <para>
     To build PHP3 as an Apache module, answer "yes" to "Build as an Apache
     module?" (the <option><link linkend="with-apache">
     --with-apache</link>=<replaceable>DIR</replaceable></option>
     option to configure) and specify the Apache distribution base
     directory.  If you have unpacked your Apache distribution in
     <filename class=directory>/usr/local/www/apache_1.2.4</filename>,
     this is your Apache distribution base directory.  The default
     directory is <filename
     class=directory>/usr/local/etc/httpd</filename>.

   <sect2 id="with-fhttpd">
    <title>fhttpd module</title>

    <para>
     To build PHP3 as an fhttpd module, answer "yes" to "Build as an fhttpd
     module?" (the <option><link linkend="with-fhttpd">
     --with-fhttpd</link>=<replaceable>DIR</replaceable></option>
     option to configure) and specify the fhttpd source base directory.
     The default directory is <filename
     class=directory>/usr/local/src/fhttpd</filename>. If you are running   
     fhttpd, building PHP as a module will give better performance,
     more control and remote execution capability.
     
   <sect2>
    <title>CGI version</title>

    <para>
     The default is to build PHP3 as a CGI program.  If you are
     running a web server PHP3 has module support for, you should
     generally go for that solution for performance reasons.  However,
     the CGI version enables Apache users to run different
     PHP3-enabled pages under different user-ids.  Please make sure
	 you read through the <link linkend="config-security">Security chapter</link>
	 if you are going to run PHP as a CGI.

   <sect2>
    <title>Database Support Options</title>

    <para>
     PHP3 has native support for a number of databases (as well as
     ODBC):

    </para>
    <sect3 id="with-adabas">
     <title>Adabas D</title>
     <synopsis>
      <option>--with-adabas<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Compiles with Adabas D support.  The parameter is the Adabas D
      install directory and defaults to <filename
      class=directory>/usr/local/adabasd</filename>.
     <simpara>
      <ulink url="http://www.adabas.com/">Adabas home page</ulink>
    </sect3>

    <sect3 id="with-dbase">
     <title>dBase</title>
     <synopsis>
      <option>--with-dbase</option>
     </synopsis>
     <simpara>
      Enables the bundled DBase support.  No external libraries are
      required.
    </sect3>

    <sect3 id="with-filepro">
     <title>filePro</title>
     <synopsis>
      <option>--with-filepro</option>
     </synopsis>
     <simpara>
      Enables the bundled read-only filePro support.  No external
      libraries are required.
    </sect3>

    <sect3 id="with-msql">
     <title>mSQL</title>
     <synopsis>
      <option>--with-msql<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Enables mSQL support.  The parameter to this option is the mSQL
      install directory and defaults to <filename
      class=directory>/usr/local/Hughes</filename>.  This is the
      default directory of the mSQL 2.0 distribution.
      <command>configure</command> automatically detects which mSQL
      version you are running and PHP3 supports both 1.0 and 2.0, but
      if you compile PHP3 with mSQL 1.0, you can only access mSQL 1.0
      databases, and vice-versa.
     <simpara>
      See also <link linkend="ini.sect.msql">mSQL Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
     <simpara>
      <ulink url="http://www.hughes.com.au">mSQL home page</ulink>
    </sect3>

    <sect3 id="with-mysql">
     <title>MySQL</title>
     <synopsis>
      <option>--with-mysql<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Enables MySQL support.  The parameter to this
      option is the MySQL install directory and defaults to <filename
       class=directory>/usr/local</filename>.  This is the default
      installation directory of the MySQL distribution.
     <simpara>
      See also <link linkend="ini.sect.mysql">MySQL Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
     <simpara>
      <ulink url="http://www.tcx.se">MySQL home page</ulink>
    </sect3>

    <sect3 id="with-iodbc">
     <title>iODBC</title>
     <synopsis>
      <option>--with-iodbc<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes iODBC support.  This feature was first developed for
      iODBC Driver Manager, a freely redistributable ODBC driver manager
      which runs under many flavors of UNIX. The parameter to this option is
      the iODBC installation directory and defaults to <filename
      class=directory>/usr/local</filename>.
     <simpara>
      <ulink url="http://users.ids.net/~bjepson/freeODBC/">FreeODBC home 
      page</ulink>
    </sect3>

    <sect3 id="with-openlink">
     <title>OpenLink ODBC</title>
     <synopsis>
      <option>--with-openlink<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes OpenLink ODBC support. The parameter to this option is
      the OpenLink ODBC installation directory and defaults to
      <filename class=directory>/usr/local/openlink</filename>.
     <simpara>
      <ulink url="http://www.openlinksw.com/">OpenLink Software's home
       page</ulink>
    </sect3>

    <sect3 id="with-oracle">
     <title>Oracle</title>
     <synopsis>
      <option>--with-oracle<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes Oracle support.  Has been tested and should be working
      at least with Oracle versions 7.0 through 7.3.  The parameter is
      the <envar>ORACLE_HOME</envar> directory.  You do not have to
      specify this parameter if your Oracle environment has been set
      up.
     <simpara>
      <ulink url="http://www.oracle.com">Oracle home page</ulink>
    </sect3>

    <sect3 id="with-pgsql">
     <title>PostgreSQL</title>
     <synopsis>
      <option>--with-pgsql<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes PostgreSQL support.  The parameter is the PostgreSQL base
      install directory and defaults to <filename
      class=directory>/usr/local/pgsql</filename>.
     <simpara>
      See also <link linkend="ini.sect.pgsql">Postgres Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
     <simpara>
      <ulink url="http://www.postgreSQL.org/">PostgreSQL home page</ulink>
    </sect3>

    <sect3 id="with-solid">
     <title>Solid</title>
     <synopsis>
      <option>--with-solid<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes Solid support.  The parameter is the Solid install
      directory and defaults to <filename
      class=directory>/usr/local/solid</filename>.
     <simpara>
      <ulink url="http://www.solidtech.com">Solid home page</ulink>
    </sect3>

    <sect3 id="with-sybase">
     <title>Sybase</title>
     <synopsis>
      <option>--with-sybase<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes Sybase support.  The parameter is the Sybase install
      directory and defaults to <filename
      class=directory>/home/sybase</filename>.
     <simpara>
      See also <link linkend="ini.sect.sybase">Sybase Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
     <simpara>
      <ulink url="http://www.sybase.com">Sybase home page</ulink>
    </sect3>

    <sect3 id="with-sybase-ct">
     <title>Sybase-CT</title>
     <synopsis>
      <option>--with-sybase-ct<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes Sybase-CT support.  The parameter is the Sybase-CT
      install directory and defaults to <filename
      class=directory>/home/sybase</filename>.
     <simpara>
      See also <link linkend="ini.sect.sybct">Sybase-CT Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
    </sect3>

    <sect3 id="with-velocis">
     <title>Velocis</title>
     <synopsis>
      <option>--with-velocis<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes Velocis support.  The parameter is the Velocis install
      directory and defaults to <filename
      class=directory>/usr/local/velocis</filename>.
     <simpara>
      <ulink url="http://www.raima.com">Velocis home page</ulink>
    </sect3>

    <sect3 id="with-custom-odbc">
     <title>A custom ODBC library</title>
     <synopsis>
      <option>--with-custom-odbc<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes support for an arbitrary custom ODBC library.  The parameter 
	  is the base directory and defaults to 
	  <filename class=directory>/usr/local</filename>.
     <simpara>
      This option implies that you have defined CUSTOM_ODBC_LIBS when
      you run the configure script. You also must have a valid odbc.h header
	  somewhere in your include path. If you don't have one, create it and
      include your specific header from there. Your header may also require
      some extra definitions, particularly when it is multiplatform. Define
	  them in CFLAGS.
     <simpara>
      For example, you can use Sybase SQL Anywhere on QNX as following:
		<literal>
		CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
		</literal>
    </sect3>

    <sect3 id="disable-unified-odbc">
     <title>Unified ODBC</title>
     <synopsis>
      <option>--disable-unified-odbc</option>
     </synopsis>
     <simpara>
      Disables the Unified ODBC module, which is a common interface to
      all the databases with ODBC-based interfaces, such as Solid and
      Adabas D.  It also works for normal ODBC libraries. Has been tested with
      iODBC, Solid, Adabas D and Sybase SQL Anywhere. Requires that one 
	  (and only one) of these modules or the Velocis module is enabled, or a
      custom ODBC library specified. This option is only applicable
      if one of the following options is used:
      <link linkend="with-iodbc">--with-iodbc</link>,
      <link linkend="with-solid">--with-solid</link>,
      <link linkend="with-adabas">--with-adabas</link>,
      <link linkend="with-velocis">--with-velocis</link>, or
      <link linkend="with-adabas">--with-custom-odbc</link>,
     <simpara>
      See also <link linkend="ini.sect.uodbc">Unified ODBC Configuration</link>
      Directives in the <link linkend="php3.ini">configuration file</link>.
    </sect3>

    <sect3 id="with-ldap">
     <title>LDAP</title>
     <synopsis>
      <option>--with-ldap<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Includes <acronym>LDAP</acronym> (Lightweight Directory Access
      Protocol) support.  The parameter is the LDAP base install
      directory, defaults to <filename
      class=directory>/usr/local/ldap</filename>.
     <simpara>
      More information about LDAP can be found in
      <ulink url="ftp://ftp.isi.edu/in-notes/rfc1777.txt">RFC1777</ulink>
      and <ulink url="ftp://ftp.isi.edu/in-notes/rfc1778.txt">RFC1778</ulink>.
    </sect3>

   </sect2>

   <sect2>
    <title>Other configure options</title>

    <sect3 id="enable-maintainer-mode">
     <title>--enable-maintainer-mode</title>
     <synopsis>
      <option>--enable-maintainer-mode</option>
     </synopsis>
     <simpara>
      Turns on extra dependencies and compiler warnings used by some
      of the PHP3 developers.
    </sect3>

    <sect3 id="with-system-regex">
     <title>--with-system-regex</title>
     <synopsis>
      <option>--with-system-regex</option>
     </synopsis>
     <simpara>
      Uses the system's regular expression library rather than the
      bundled one.  If you are building PHP3 as a server module, you
      must use the same library when building PHP3 as when linking the server.
      Enable this if the system's library provides special features you need.
      It is recommended that you use the bundled library if possible.
    </sect3>

    <sect3 id="with-config-file-path">
     <title>--with-config-file-path</title>
     <synopsis>
      <option>--with-config-file-path=DIR</option>
     </synopsis>
     <simpara>
      The path used to look for <link linkend="php3.ini">the php3.ini
      file</link> when PHP starts up.
    </sect3>

    <sect3 id="with-exec-dir">
     <title>--with-exec-dir</title>
     <synopsis>
      <option>--with-exec-dir<replaceable>=DIR</replaceable></option>
     </synopsis>
     <simpara>
      Only allow running of executables in DIR when in safe mode.
      Defaults to <filename class=directory>/usr/local/bin</filename>.
      This option only sets the default, it may be changed with the
      <link linkend="ini.safe-mode-exec-dir">safe_mode_exec_dir</link>
      directive in the <link linkend="php3.ini">configuration file</link>
      later.
    </sect3>

    <sect3 id="disable-debug">
     <title>--disable-debug</title>
     <synopsis>
      <option>--disable-debug</option>
     </synopsis>
     <simpara>
      Does not include debug information in the library or executable.
      The debug information makes it easier to pinpoint bugs, so it is
      a good idea to leave debug on as long as PHP3 is in alpha or
      beta state.
    </sect3>

    <sect3 id="enable-safe-mode">
     <title>--enable-safe-mode</title>
     <synopsis>
      <option>--enable-safe-mode</option>
     </synopsis>
     <simpara>
      Enables "safe mode" by default. This imposes several restrictions
      on what PHP can do, such as opening only files within the document
      root.  Read the <link linkend="config-security">Security chapter</link>
      for more more information.  CGI users should always enable secure mode.
      This option only sets the default, it may be enabled or disabled with
      the <link linkend="ini.safe-mode">safe_mode</link> directive in the
      <link linkend="php3.ini">configuration file</link> later.
    </sect3>

    <sect3 id="enable-track-vars">
     <title>--enable-track-vars</title>
     <synopsis>
      <option>--enable-track-vars</option>
     </synopsis>
     <simpara>
      Makes PHP3 keep track of where GET/POST/cookie variables come
      from in the arrays HTTP_GET_VARS, HTTP_POST_VARS and
      HTTP_COOKIE_VARS.
      This option only sets the default, it may be enabled or disabled with
      the <link linkend="ini.track-vars">track_vars</link> directive in the
      <link linkend="php3.ini">configuration file</link> later.
    </sect3>

    <sect3 id="enable-magic-quotes">
     <title>--enable-magic-quotes</title>
     <synopsis>
      <option>--enable-magic-quotes</option>
     </synopsis>
     <simpara>
      Enable magic quotes by default.
      This option only sets the default, it may be enabled or disabled with
      the <link linkend="ini.magic-quotes-runtime">magic_quotes_runtime</link>
      directive in the <link linkend="php3.ini">configuration file</link>
      later. See also the <link linkend="ini.magic-quotes-gpc">
      magic_quotes_gpc</link> and the <link
      linkend="ini.magic-quotes-sybase">magic_quotes_sybase</link> directives.
    </sect3>

    <sect3 id="enable-debugger">
     <title>--enable-debugger</title>
     <synopsis>
      <option>--enable-debugger</option>
     </synopsis>
     <simpara>
      Enables the internal PHP3 debugger support.  This feature is
      still in an experimental state. See also the <link
      linkend="ini.sect.debugger">Debugger Configuration</link> directives
      in the <link linkend="php3.ini">configuration file</link>.
    </sect3>

    <sect3 id="enable-discard-path">
     <title>--enable-discard-path</title>
     <synopsis>
      <option>--enable-discard-path</option>
     </synopsis>
     <simpara>
      If this is enabled, the PHP CGI binary can safely be placed
      outside of the web tree and people will not be able to
      circumvent .htaccess security.
      Read the <link linkend="config-security-cgi-shell">section in
      the security chapter</link> about this option.
    </sect3>

    <sect3 id="enable-bcmath">
     <title>--enable-bcmath</title>
     <synopsis>
      <option>--enable-bcmath</option>
     </synopsis>
     <simpara>
      Enables <command>bc</command> style arbitrary precision math
      functions. See also the <link linkend="ini.sect.bcmath">bcmath.scale
      </link> option in the <link linkend="php3.ini">configuration file</link>.
    </sect3>

    <sect3 id="enable-force-cgi-redirect">
     <title>--enable-force-cgi-redirect</title>
     <synopsis>
      <option>--enable-force-cgi-redirect</option>
     </synopsis>
     <simpara>
      Enable the security check for internal server redirects.  You
      should use this if you are running the CGI version with Apache.

     <simpara>
      When using PHP as a CGI binary, PHP by default always first
      checks that it is used by redirection (for example under Apache,
      by using Action directives).  This makes sure that the PHP
      binary cannot be used to bypass standard web server
      authentication procedures by calling it directly, like <filename
      role=url>http://my.host/cgi-bin/php/secret/doc.html</filename>.
      This example accesses <filename
      role=url>http://my.host/secret/doc.html</filename> but does not
      honour any security settings enforced by httpd for directory
      <filename role=dir>/secret</filename>.

     <simpara>
      Not enabling option disables the check and enables bypassing httpd
      security and authentication settings.  Do this only if your
      server software is unable to indicate that a safe redirection
      was done and all your files under your document root and
      user directories may be accessed by anyone.

     <simpara>
      Read the <link linkend="config-security-cgi-force">section in
      the security chapter</link> about this option.
     </sect3>

    <sect3 id="disable-short-tags">
     <title>--disable-short-tags</title>
     <synopsis>
      <option>--disable-short-tags</option>
     </synopsis>
     <simpara>
      Disables the short form <literal>&lt;? ?&gt;</literal> PHP3
      tags.  You must disable the short form if you want to use PHP3
      with <acronym>XML</acronym>.  With short tags disabled, the only
      PHP3 code tag is <literal>&lt;?php ?&gt;</literal>.
      This option only sets the default, it may be enabled or disabled with
      the <link linkend="ini.short-open-tag">short_open_tag</link> directive
      in the <link linkend="php3.ini">configuration file</link> later.
    </sect3>

    <sect3 id="enable-url-includes">
     <title>--enable-url-includes</title>
     <synopsis>
      <option>--enable-url-includes</option>
     </synopsis>
     <simpara>
      Makes it possible to run code on other HTTP or FTP servers directly
      from PHP3 with <link linkend="function.include">include()</link>.
      See also the <link linkend="ini.include-path">include_path</link> option
      in the <link linkend="php3.ini">configuration file</link>.
    </sect3>

    <sect3 id="disable-syntax-hl">
     <title>--disable-syntax-hl</title>
     <synopsis>
      <option>--disable-syntax-hl</option>
     </synopsis>
     <simpara>
      Turns off syntax highlighting.
    </sect3>

    <sect3>
     <title>CPPFLAGS and LDFLAGS</title>
     <para>
      To make the PHP3 installation look for header or library files in
      different directories, modify the <envar>CPPFLAGS</envar> and
      <envar>LDFLAGS</envar> environment variables, respectively.  If
      you are using a sensible shell, you should be able to do
      <command>LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
      </command>
    </sect3>

  </sect2>


  <sect2>
    <title>Building</title>
    <simpara>
     When PHP3 is configured, you are ready to build the CGI
     executable or the PHP3 library.  The command
     <command>make</command> should take care of this.  If it fails
     and you can't figure out why, see the <link
     linkend="install-problems">Problems section</link>.

    <sect3> <!--not sure-->
    <title>VPATH</title>
    <simpara>
    </sect3>

   </sect2>

   <sect2>
    <title>Testing</title>
    <simpara>
     If you have built PHP3 as a CGI program, you may test your build
     by typing <command>make test</command>.  It is always a good idea
     to test your build.  This way you may catch a problem with PHP3
     on your platform early instead of having to struggle with it
     later.
   </sect2>

   <sect2>
    <title>Benchmarking</title>
    <simpara>
     If you have built PHP3 as a CGI program, you may benchmark your build
     by typing <command>make bench</command>. Note that if safe mode is on
     by default, the benchmark may not be able to finish if it takes longer
     then the 30 seconds allowed. This is because the
     <function>set_time_limit</function> can not be used in safe mode. Use
     the <link linkend="ini.max-execution-time">max_execution_time</link>
     to control this time for you own scripts. <command>make bench</command>
     ignores the <link linkend="php3.ini">configuration file</link>.
   </sect2>

  </sect1>

  <sect1 id="install-windows95-nt">
   <title>Installing PHP on Windows95/NT</title>

   <sect2>
    <title>Apache/NT and Stronghold/NT</title>

    <simpara>
     Follow the instructions for configuration under Unix.

   </sect2>

   <sect2>
    <title>IIS and MS-PWS</title>

    <simpara>
     You can access php scripts simply by putting the php.exe file
     into your scripts directory and using a url such as:
     <filename role=url>http://my.server/scripts/php.exe/page.php</filename>

    <simpara>
     Redirection If you would like to use a url like:
     <filename role=url>http://my.server/page.php</filename> you will
     have to edit your registry.

    <note><simpara>
     Disclaimer: Be sure you make a backup of your registry before
     editing it.  The PHP Development Team is not responsible for
     damaged registries.  If you damage your registry, you may not be
     able to restart your computer without reinstalling your OS!
    </simpara></note>

    <simpara>
     You can edit your registry by running regedit.exe.  To do this,
     choose Run... from the Start menu, and type
     <command>regedit</command> then click on OK.  The registry
     setting you need to edit is:
     <database>HKEY_LOCAL_MACHINE:System:CurrentControlSet:Services:W3Svc:Parameters:ScriptMap</database>.
     Add a new string value here with the extension you would like to
     use for your php scripts, and make the value data the path to the
     php executable: <literal>.phtm3 "c:\webshare\scripts\php.exe"</literal>

    <simpara>
     For the ISAPI version of PHP, use something like: <literal>.phtm
     "c:\webshare\scripts\php3_isapi.dll"</literal>

    <simpara>
     You must also make any directories containing php scripts
     executable.  This is done in the IIS administrator.  Consult your
     IIS documentation for more information.

    <simpara>
     For other servers consult your server documentation.

    <simpara>
     PHP.INI File Under Windows, PHP will look for php3.ini
     automaticaly, first under the windows os directory
     (<filename>c:\windows</filename> or
     <filename>c:\winnt</filename>) then in the directory in which the
     PHP executable resides.  Alternately, you can set the environment
     variable <envar>PHPRC=\pathto\php3.ini</envar>, though this does
     not work with all servers (apache for one).

   </sect2>

  </sect1>

  <sect1 id="install-problems">
   <title>Problems?</title>

   <sect2>
    <title>Read the FAQ</title>
    <simpara>
     Some problems are more common than others.  The most common ones
     are listed in the PHP3 FAQ, found at <ulink
     url="&url.php3.faq;">&url.php3.faq;</ulink>
   </sect2>

   <sect2>
    <title>Bug reports</title>

    <simpara>
     If you think you have found a bug in PHP3, please report it.  The
     PHP3 developers probably don't know about it, and unless you
     report it, chances are it won't be fixed.  A form for reporting
     bugs is available on the PHP3 network of sites, the main form is
     at <ulink url="&url.php3.bugs;" >&url.php3.bugs;</ulink>.
   </sect2>

  <sect2>
    <title>Other problems</title>

    <simpara>
     If you are still stuck, someone on the PHP3 mailing list may be
     able to help you.  You should check out the archive first, in
     case someone already answered someone else who had the same
     problem as you.  The archive is available at <ulink
     url="&url.php3.archive;">&url.php3.archive;</ulink>.  To
     subscribe to the PHP3 mailing list, send an empty mail to <ulink
     url="mailto:&email.php3.subscribe;">&email.php3.subscribe;</ulink>.
     The mailing list address is <literal>&email.php3;</literal>.

    <simpara>
     If you want to get help on the mailing list, please try to be
     precise and give the necessary details about your environment
     (which operating system, what PHP version, what web server, if
     you are running PHP as CGI or a server module, etc.), and
     preferably enough code to make others able to reproduce and test
     your problem.

  <sect1 id="install-security">
   <title>Security</title>

   <simpara>
    PHP is a powerful tool.  As with many other powerful tools, it is
    possible to shoot yourself in the foot with it.  PHP has
    functionality that, if carelessly used, may cause security
    problems on your system.  The best way of preventing this is to
    always know what you are doing.  Read the <link
    linkend="config-security">Security chapter</link> for more
    information.
    
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->