nohn            Sun Jun  9 12:47:24 2002 EDT

  Added files:                 
    /phpdoc-de/faq      build.xml 
  Log:
  Initial commit of german translation
  
  

Index: phpdoc-de/faq/build.xml
+++ phpdoc-de/faq/build.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.17 Maintainer: nohn Status: ready -->
<!-- $Revision: 1.1 $ -->
<chapter id="faq.build">
  <title>Probleme bei der Compilierung</title>
  <titleabbrev>Probleme bei der Compilierung</titleabbrev>

   <para>
    Diese Sektion behandelt die meistverbreiteten Fehler, die beim
    Compilieren von PHP auftauchen.
   </para>

  <qandaset>
   <qandaentry id="faq.build.configure">
    <question>
     <para>
      Ich habe mir die aktuellste Version von PHP mit Hilfe des
      Anonymous-CVS-Dienstes besorgt, kann aber kein configure-Script
      finden.
     </para>
    </question>
    <answer>
     <para>
      Sie m�ssen das GNU autoconf-Paket installiert haben, damit das
      configure-Script aus <filename>configure.in</filename> generiert
      werden kann. Mittels <command>./buildconf</command> im
      Hauptverzeichnis des vom CVS-Server gezogenen Source-Trees wird das
      <command>configure</configure>-Script generiert. Es ist zu
      beachten, das das configure-Script bei einer ge�nderten
      <filename>configure.in</filename> nicht neu generiert wird, es sei
      denn, configure wird mit dem Parameter
      <literal>--enable-maintainer-mode</literal> aufgerufen. Es sollte also
      darauf geachtet werden, das das configure-Script manuell neu generiert
      wird, wenn configure.in ver�ndert wurde. Ein Symptom f�r eine
      Ver�nderung des configure.in ist, wenn Dinge wie @VARIABLE@ im
      Makefile auftachen, nachem configure oder
      <filename>config.status</configure> ausgef�hrt wurde.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.configuring">
    <question>
     <para>
      Ich habe Probleme. PHP f�r den Apache zu konfigurieren.
      Er beschwert sich, das er die Datei <filename>httpd.h</filename>
      nicht finden kann, obwohl sie sich genau dort befindet, wo ich es
      angegeben habe.
     </para>
    </question>
    <answer>
     <para>
      Sie m�ssen dem configure/setip-Script die Top-Level-Pfad des
      Apache-Source-Trees mitteilen. Das bedeutet, da� z.B.
      <literal>--with-apache=/path/to/apache</literal> korrekt ist,
      <literal>--with-apache=/path/to/apache/src</literal> jedoch
      <emphasis>nicht</emphasis>.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.not-found">
    <question>
     <para>
      When I run configure, it says that it can't find the 
      include files or library for GD, gdbm, or some other package!
     </para>
    </question>
    <answer>
     <para>
      Es ist m�glich, das configure-Script so anzupassen, das es nicht
      nur in Standard-Pfaden nach Headerdatei und Bibliotheken sucht, in dem
      dem C Pr�prozessort und Linker zus�tzliche Flags �bergeben werden:
      <programlisting>
<![CDATA[
    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
]]>
      </programlisting>
      Wenn Sie (aus welchem Grund auch immer) eine csh-Variante als
      Login-Shell verwenden:
      <programlisting>
<![CDATA[
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
]]>
      </programlisting>
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.yytname">
    <question>
     <para>
      Wenn die Datei <filename>language-parser.tab.c</filename>
      compiliert wird, erscheinen Fehler, die <literal>yytname
      undeclared</literal> besagen.
     </para>
    </question>
    <answer>
     <para>
       Sie m�ssen Bison updaten. Die aktuellste Version findet sich
       unter <ulink url="&faqurl.bison;">&faqurl.bison;</ulink>.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.link">
    <question>
     <para>
      Wenn ich <command>make</command> ausf�hre, scheint alles normal
      zu verlaufen, aber sobald es versucht, die Applikation zu linken,
      beschwert es sich, einige Dateien nicht finden zu k�nnen.
     </para>
    </question>
    <answer>
     <para>
      Einige alte Versionen von make platzieren die compilierten
      Versionen der Dateien nicht in das korrekte Verzeichnis. Versuchen
      Sie, das Problem zu l�sen, indem sie zun�chst mittels <command>cp *.o
      functions</command> die Dateien an der vorgesehenen Platz kopieren,
      und anschlie�end <command>make</command> noch einmal ausf�hren. Sollte
      es dann funktionieren, empfehlen wir, Ihre Version von GNU make zu
      aktualisieren.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.undefined">
    <question>
     <para>
      Wenn PHP gelinkt wird, berschwert es sich �ber undefinierte
      Referenzen.
     </para>
    </question>
    <answer>
     <para>
      Schauen Sie sich die Link-Zeile an, und stellen Sie sicher, das
      alle n�tigen Bibliotheken am Ende mit eingeschlossen werden. H�ufig
      werden '-ldl' und Datenbankbibliothken vergessen.
     </para>
     <para>
      Wenn Sie mit Apache 1.2.x linken, haben Sie daran gedacht, die
      ben�tigten Informationen in die EXTRA_LIBS-Zeile des
      Konfigurationsscriptes einzuf�gen, und haben Sie das configure-Script
      des Apache wiederholt ausgef�hrt? Weitere Informationen dazu finden
      Sie im <ulink url="&faqurl.file.installation;">INSTALL</ulink> File
      Ihrer Distribution.
     </para>
     <para>
      Einige Leute haben berichtet, da� sie '-ldl' unmittelbar nach
      <filename>libphp4.a</filename> einf�gen mu�ten, wenn sie PHP mit 
      Apache gelinkt haben.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.Apache">
    <question>
     <para>
      Wie wird PHP mit Apache 1.3.x compiliert?
     </para>
    </question>
    <answer>
     <para>
      Folgen Sie diesen Schritten:
      <itemizedlist>
       <listitem>
        <simpara>
         Besorgen Sie sich die letzte Version von Apache unter
         <ulink url="&faqurl.apache;">&faqurl.apache;</ulink>.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Entpacken Sie die Datei zum Beispiel unter
         <filename>/usr/local/src/apache-1.3</filename>.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Compilieren Sie zun�chst PHP, zum Beispiel mit
         <command>./configure --with-apache=/&lt;path&gt;/apache-1.3</command>
         (ersetzen Sie &lt;path&gt; mit dem Pfad zu Ihrem
         apache-1.3-Verzeichnis.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         F�hren Sie <command>make</command>, gefolgt von einem
         <command>make install</command> aus, und kopieren die ben�tigten
         Dateien in den Apache-Tree.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Wechseln Sie in das Verzeichnis
         <filename>/&lt;path&gt;/apache-1.3/src</filename> und bearbeiten die
         Datei <filename>Configuration</filename>.
         F�gen Sie <literal>AddModule modules/php4/libphp4.a</literal>
         hinzu.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         F�hren Sie <command>./Configure</command>, gefolgt von
         <literal>make</literal> aus.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Nun sollte eine lauff�hig Version eines PHP-f�higen Apaches
         compiliert sein. 
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
     <para>
      <emphasis>Bitte beachten Sie:</emphasis> Sie k�nnen auch das
      neue Apache <literal>./configure</literal>-Script nuten. Weitere
      Informationen dazu finden sie in der Datei
      <literal>README.configure</literal>, die der Apache-Distribution
      beiliegt. Auch in der Datei <filename>INSTALL</filename> Ihrer
      PHP-Distribution finden sich Informationen dazu.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.not-running">
    <question>
     <para>
      Ich habe die Schritte, die zur Installation des Apache-Modules
      unter UNIX n�tig sind, aber wenn ich mit meinem Browser PHP-Scripts
      aufrufe, werde ich aufgefordert, die Dateien zu speichern.
     </para>
    </question>
    <answer>
     <para>
      Das bedeutet das das PHP-Modul nicht aufgerufen wird. Sie
      sollten folgende Dinge �berpr�fen:
      <itemizedlist>
       <listitem>
        <simpara>
         Stellen Sie sicher, das das httpd-Binary, das sie ausf�hren
         das neue httpd-Binary ist, das sie compiliert haben. Um das zu tun
         versuchen Sie, <literal>/path/to/binary/httpd -l</literal> auszuf�hren.
        </simpara>
        <simpara>
         Wenn <filename>mod_php4.c</filename> nicht auftaucht, f�hren
         Sie nicht das korrekte Binary aus. Finden und installieren Sie das
         korrekte Binary.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Stellen Sie sicher, das die den korrekten Mime-Type in ihrer
         <literal>Apache .conf</literal>-Datei angegeben haben. Er
         sollte <literal>AddType application/x-httpd-php3
         .php3</literal> (f�r PHP 3) 
        </simpara>
        <simpara>
         oder <literal>AddType application/x-httpd-php .php</literal>
         (f�r PHP 4) lauten.
        </simpara>
        <simpara> 
         Stellen Sie ebenfalls sicher, das diese AddType-Anweisung
         sich nicht in einem &lt;Virtualhost&gt; oderr &lt;Directory&gt; Block
         befindet.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Der Standardplatz der Apache Konfigurationsdateien hat sich
         von Apache 1.2 zu Apache 1.3 ver�ndert. Sie sollten sicherstellen, das
         die Konfigurationsdatei, zu der sie die AddType-Anweisung hinzugef�gt
         haben diejenige ist, die auch verarbeitet wird. Sie k�nnen einen
         offensichtlichen Syntaxfehler oder eine andere eindeutige �nderung in
         Ihre httpd.conf einfbauen, um dies zu �berpr�fen.
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.activate-module">
    <question>
     <para>
      Es heisst, es mu�
      <literal>--activate-module=src/modules/php4/libphp4.a</literal>
      benutzt werden, aber diese Datei existiert nicht, also habe ich es zu 
      <literal>--activate-module=src/modules/php4/libmodphp4.a</literal>
      ge�ndert, aber es funktioniert nicht.
     </para>
    </question>
    <answer>
     <para>
       Die Datei <filename>libphp4.a</filename> soll nicht existieren,
       der Apache wird es generieren.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.ansi">
    <question>
     <para>
      Wenn ich versuche, den Apache mit PHP als statisches Modul
      mittels <literal>--activate-module=src/modules/php4/libphp4.a</literal> zu
      compilieren, kommt die Fehlermeldung, mein Compiler sei nicht
      ANSI-Konform.
     </para>
    </question>
    <answer>
     <para>
      Das ist eine irref�hrende Fehlermeldung des Apache, die in
      aktuellen Versionen behoben ist.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.apxs">
    <question>
     <para>
      Wenn ich versuche, PHP mittels der Option
      <literal>--with-apxs</literal> zu compilieren, bekomme ich komische
      Fehlermeldungen.
     </para>
    </question>
    <answer>
     <para>
      Hier sind drei Dinge zu �berpr�fen: Wenn Apache das apxs
      Perlscript generiert, werden manchmal aus unerfindlichen Gr�nden nicht
      die richtigen Compiler-Flags verwendet. �ffnen Sie Ihr apxs-Script und
      �berpr�fen es auf Zeilen, die �hnlich wie folgende aussehen:
      <programlisting>
<![CDATA[
my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
]]>
      </programlisting>
      Wenn Sie so etwas sehen, haben Sie Ihr Problem gefunden. �ndern
      Sie die Zeilen wie folgt:
      <programlisting>
<![CDATA[
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl 
]]>
      </programlisting>
      Das zweite m�gliche Problem kann unter Red Hat 6.1 und 6.2
      auftauchen. Das apxs-Script, das Red Hat ausliefert ist fehlerhaft.
      Suchen sie nach dieser Zeile:
      <programlisting>
<![CDATA[
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
]]>
      </programlisting>
      �ndern Sie diese Zeile in
      <programlisting>
<![CDATA[
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
]]>
      </programlisting>
       Zuguterletzt, wenn sie Apache neu installieren, f�gen Sie ein
       <command>make clean</command> nach dem <command>./configure</command>
       und vor dem <command>make</command> ein.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.microtime">
    <question>
     <para>
     W�hrend des <command>make</command> bekomme ich Fehler in
     microtime und jede Menge <literal>RUSAGE_</literal>-Zeugs.
    </para>
    </question>
    <answer>
     <para>
      Wenn w�hrend des <command>make</command>-Teils der Installation
      Probleme auftauchen, die wie folgt aussehen:
      <programlisting>
<![CDATA[
microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1
]]>
      </programlisting>
     </para>
     <para>
     ist Ihr System besch�digt. Sie m�ssen Ihr
     <filename>/usr/include</filename> reparieren, indem sie das
     glibc-devel-Paket installieren, dessen Version mit der Ihrer glibc
     �bereinstimmt. Das hat absolut nichts mit PHP zu tun. Um sich
     selbst davon zu �berzeugen, f�hren Sie folgenden simplen Test durch:
     <programlisting>
<![CDATA[
$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
]]>
      </programlisting>
      Wenn hier Fehler auftachen wissen sie, das ihre include-Dateien
      fehlen oder fehlerhaft sind.
     </para>
    </answer>
   </qandaentry>
   
   <qandaentry id="faq.build.upgrade">
    <question>
     <para>
      Ich m�chte mein PHP aktualisieren. Wo kann ich die
      <command>./configure</command>-Zeile finden, die von meiner aktuellen
      PHP-Version verwendet wird?
     </para>
    </question>
    <answer>
     <para>
      Entweder schauen sie in die
      <filename>config.nice</filename>-Datei im Source-Tree ihrer aktuellen
      PHP-Version nach, oder Sie f�hren folgendes Script aus:
      <programlisting>
<![CDATA[
       <?php phpinfo(); ?> 
]]>
      </programlisting>
      Zu Beginn der Datei wird die
      <command>./configure</command>-Zeile angezeigt.
     </para>
    </answer>
   </qandaentry>   
  </qandaset>
 </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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Reply via email to