cvs: phpdoc-de /faq build.xml

From: Date: Sun, 09 Jun 2002 16:47:24 +0000
Subject: cvs: phpdoc-de /faq build.xml
Groups: php.doc 
Request: Send a blank email to phpdoc+get-969346298@lists.php.net to get a copy of this message
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 -->
« previous php.doc (#969346298) next »