Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > f800694edefe91adea2624f711a41a2d > files > 8219

php-manual-en-5.5.7-1.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Apache 1.3.x on Unix systems</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="install.unix.html">Installation on Unix systems</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="install.unix.apache2.html">Apache 2.x on Unix systems</a></div>
 <div class="up"><a href="install.unix.html">Installation on Unix systems</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="install.unix.apache" class="sect1">
    <h2 class="title">Apache 1.3.x on Unix systems</h2>
    <p class="para">
     This section contains notes and hints specific to Apache installs
     of PHP on Unix platforms. We also have <a href="install.unix.apache2.html" class="link">instructions and notes for Apache 2
     on a separate page</a>.
    </p>   
    <p class="para">
     You can select arguments to add to the
     <strong class="command">configure</strong> on line 10 below from the <a href="configure.html" class="link">list of core configure options</a> and
     from extension specific options described at the respective
     places in the manual. The version numbers have been omitted here, to
     ensure the instructions are not incorrect. You will need to replace
     the &#039;xxx&#039; here with the correct values from your files.
    </p>

    <div class="example" id="install.unix.apache.example">
     <p><strong>Example #1 
      Installation Instructions (Apache Shared Module Version) for PHP
     </strong></p>
     <div class="example-contents screen">
<div class="cdata"><pre>
1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we&#039;ll do a simple configure with Apache 1 and MySQL support.  Your
    path to apxs may differ from our example.

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to 
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.
  
    Note that unless told otherwise, &#039;make install&#039; will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.

13. Setup your php.ini file:

      cp php.ini-development /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer your
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10. 
    
    If you instead choose php.ini-production, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

      LoadModule php5_module libexec/libphp5.so
      
15. And in the AddModule section of httpd.conf, somewhere under the
    ClearModuleList, add this:
    
      AddModule mod_php5.c

16. Tell Apache to parse certain extensions as PHP.  For example,
    let&#039;s have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We&#039;ll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It&#039;s also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:
    
      AddType application/x-httpd-php-source .phps

17. Use your normal procedure for starting the Apache server. (You must
    stop and restart the server, not just cause the server to reload by
    using a HUP or USR1 signal.)
</pre></div>
     </div>
    </div>

    <p class="para">
     Alternatively, to install PHP as a static object:
    </p>

    <div class="example" id="install.unix.apache.example-static">
     <p><strong>Example #2 
      Installation Instructions (Static Module Installation for Apache) for PHP
     </strong></p>
     <div class="example-contents screen">
<div class="cdata"><pre>
1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    (The above line is correct! Yes, we know libphp5.a does not exist at this
    stage. It isn&#039;t supposed to. It will be created.)

12. make
    (you should now have an httpd binary which you can copy to your Apache bin dir if
    it is your first install then you need to &quot;make install&quot; as well)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. You can edit /usr/local/lib/php.ini file to set PHP options.
    Edit your httpd.conf or srm.conf file and add:
    AddType application/x-httpd-php .php
</pre></div>
      </div>
     </div>

     <p class="para">
      Depending on your Apache install and Unix variant, there are many
      possible ways to stop and restart the server. Below are some typical
      lines used in restarting the server, for different apache/unix
      installations. You should replace <em>/path/to/</em> with
      the path to these applications on your systems.
     </p>
     <p class="para">
      <div class="example" id="example-11">
       <p><strong>Example #3 Example commands for restarting Apache</strong></p>
       <div class="example-contents">
<div class="shellcode"><pre class="shellcode">1. Several Linux and SysV variants:
/etc/rc.d/init.d/httpd restart

2. Using apachectl scripts:
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl and httpsdctl (Using OpenSSL), similar to apachectl:
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. Using mod_ssl, or another SSL server, you may want to manually
stop and start:
/path/to/apachectl stop
/path/to/apachectl startssl</pre>
</div>
       </div>

      </div>
     </p>
     <p class="para">
      The locations of the apachectl and http(s)dctl binaries often
      vary. If your system has <em>locate</em> or
      <em>whereis</em> or <em>which</em> commands,
      these can assist you in finding your server control programs.
     </p>

     <p class="para">
      Different examples of compiling PHP for apache are as follows:
      <div class="informalexample">
       <div class="example-contents">
<div class="shellcode"><pre class="shellcode">./configure --with-apxs --with-pgsql</pre>
</div>
       </div>

      </div>
     </p>
     <p class="para">
      This will create a <var class="filename">libphp5.so</var> shared library
      that is loaded into Apache using a LoadModule line in Apache&#039;s
      <var class="filename">httpd.conf</var> file. The PostgreSQL support is embedded into this
      library.
     </p>
     <p class="para">
      <div class="informalexample">
       <div class="example-contents">
<div class="shellcode"><pre class="shellcode">./configure --with-apxs --with-pgsql=shared</pre>
</div>
       </div>

      </div>
     </p>
     <p class="para">
      This will create a <var class="filename">libphp5.so</var> shared
      library for Apache, but it will also create a
      <var class="filename">pgsql.so</var> shared library that is loaded into
      PHP either by using the extension directive in
      <var class="filename">php.ini</var> file or by loading it explicitly in
      a script using the  <span class="function"><a href="function.dl.html" class="function">dl()</a></span> function.
     </p>
     <p class="para">
      <div class="informalexample">
       <div class="example-contents">
<div class="shellcode"><pre class="shellcode">./configure --with-apache=/path/to/apache_source --with-pgsql</pre>
</div>
       </div>

      </div>
     </p>
     <p class="para">
      This will create a <var class="filename">libmodphp5.a</var> library, a
      <var class="filename">mod_php5.c</var> and some accompanying files and
      copy this into the <em>src/modules/php5</em> directory
      in the Apache source tree. Then you compile Apache using
      <em>--activate-module=src/modules/php5/libphp5.a</em>
      and the Apache build system will create
      <var class="filename">libphp5.a</var> and link it statically into the
      <var class="filename">httpd</var> binary. The PostgreSQL support is
      included directly into this <var class="filename">httpd</var> binary,
      so the final result here is a single <var class="filename">httpd</var>
      binary that includes all of Apache and all of PHP.
     </p>
     <p class="para">
      <div class="informalexample">
       <div class="example-contents">
<div class="shellcode"><pre class="shellcode">./configure --with-apache=/path/to/apache_source --with-pgsql=shared</pre>
</div>
       </div>

      </div>
     </p>
     <p class="para">
      Same as before, except instead of including PostgreSQL support
      directly into the final <var class="filename">httpd</var> you will get
      a <var class="filename">pgsql.so</var> shared library that you can load
      into PHP from either the <var class="filename">php.ini</var> file or
      directly using  <span class="function"><a href="function.dl.html" class="function">dl()</a></span>.
     </p>
     <p class="para">
      When choosing to build PHP in different ways, you should consider
      the advantages and drawbacks of each method. Building as a shared
      object will mean that you can compile apache separately, and don&#039;t
      have to recompile everything as you add to, or change, PHP.
      Building PHP into apache (static method) means that PHP will
      load and run faster. For more information, see the Apache
      <a href="http://httpd.apache.org/docs/current/dso.html" class="link external">&raquo;&nbsp;web page on DSO support</a>.
     </p>
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <p class="para">
      Apache&#039;s default <var class="filename">httpd.conf</var> currently ships with a section that looks
      like this:
      <div class="informalexample">
       <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode">User nobody
Group &quot;#-1&quot;</pre>
</div>
       </div>

      </div>
      Unless you change that to &quot;Group nogroup&quot; or something like that (&quot;Group daemon&quot; is
      also very common) PHP will not be able to open files.
     </p>
    </p></blockquote>  
    <blockquote class="note"><p><strong class="note">Note</strong>: 
     <p class="para">
      Make sure you specify the installed version of apxs when using
      <strong class="option configure">--with-apxs=/path/to/apxs</strong>
.
      You must NOT use the apxs version that is in the apache sources but the one
      that is actually installed on your system.
     </p>
    </p></blockquote>   
   </div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="install.unix.html">Installation on Unix systems</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="install.unix.apache2.html">Apache 2.x on Unix systems</a></div>
 <div class="up"><a href="install.unix.html">Installation on Unix systems</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>