PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP4 + Apache und kein Ende...



danjelsan
09.10.03, 10:29
Hi Community,

trotz der vielen Beiträge zu diesem Thema parst mein Apache die php-Seiten nicht.

Liegt es vllt.daran das ich die ganzen php-Direktiven am Ende der http.conf eingefügt habe?


<IfDefine PHP4>
LoadModule php4_module /usr/lib/apache/libphp4.so
</ifDefine>
<IfDefine PHP4>
AddModule mod_php4.c
</IfDefine>
# Some more types:
#
# PHP 3.x:
# <IfModule mod_php3.c>
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php3 .phtml
</IfModule>
#
# PHP 4.x:
#
<IfModule mod_php4.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4
AddType application/x-httpd-php-source .phps
</IfModule>

OS ist SuSE 8.0, ich benutze aber nicht den mitgelieferten Apache, sondern hab mir den 2.0.47er aus dem Netz gezogen, der auch sehr brav läuft...
Den muss ich auch verwenden für eine Testumgebung!

mod_php+core ist ebenfalls installiert, was mich verwundert ist das ich die
mod_php4.c nicht auf meinem System finde.

i'm stuck!
any hints?

TIA

Berufspenner
09.10.03, 12:35
Hi

Versuch es mal testweise ohne Definierungsderektiven.

Cu
André

Stanislaus
09.10.03, 13:24
Wenn Du genau nach dieser Anleitung:
http://www.php.net/manual/en/install.apache2.php (Punkt 3-6)
vorgehst klappts auch mit dem Apachen.
Ist zigtausendfach erprobt und funktioniert hundertprozentig.

Viel Erfolg!

danjelsan
09.10.03, 13:28
Hi,

ne keine Change ohne die Definition, hier ohne bei LoadModule:

Cannot load /usr/lib/apache/libphp4.so into server: /usr/lib/apache/libphp4.so: undefined symbol: ap_block_alarms
ap_block_alarms?

und bei AddModule:

Invalid command 'AddModule', perhaps mis-spelled or defined by a module not included in the server configuration

Ich habe auch mal die Direktiven weiter vorne in der conf gepackt, leider hatte aber leider keinen Effekt :(

danjelsan
09.10.03, 13:49
@Stanislaus:

Bin nach der Anleitung gegangen, und hab mir das letzte stabile php-Packet geholt.(der in der Anleitung angegebende Link)

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

hier bricht er nach kurzer Zeit ab, hier die letzen Zeilen

checking whether ln -s works... yes
checking for gawk... gawk
checking for bison... no
checking for byacc... no
configure: warning: You will need bison if you want to regenerate the PHP parsers.
checking for flex... lex
checking for yywrap in -ll... no
checking lex output file root... ./configure: line 2377: lex: command not found
configure: error: cannot find output from lex; giving up

Was ist den bison und was ist mit dem lex output?
Der Pfad zum apache stimmt so wie er standardmässig angegeben wurde.

Gruß
danjelsan

Berufspenner
09.10.03, 14:03
Hi@all

http://freshmeat.net/projects/bison/?topic_id=45
http://ds9a.nl/lex-yacc/

Cu
André

Stanislaus
09.10.03, 14:07
Original geschrieben von danjelsan
Was ist den bison und was ist mit dem lex output?
Was genau Bison ist kann ich Dir nicht sagen. "A yacc-compatible parser generator" So stehts im gentoo portage beschrieben.
Jedenfalls habe ich Bison in der Version 1.35 und flex (nicht lex) in der Version 2.5.4a.
Als php Version habe ich die 4.3.3.

Wenn es mit dem letzten stabilen nicht funktioniert hat, welche php Version hattest Du denn dann im Einsatz?

Wie auch immer, wenn die von Dir genutzen PHP Sourcen mit dem Apache 2 klarkommen sollte es ausreichen in der httpd.con folgendes ans Ende zu hängen:
LoadModule php4_module libexec/libphp4.so
AddType application/x-httpd-php .php
und zwar genau so. Wenn alles korrekt kompiliert wurde ist es nicht nötig, den Pfad zum modul absolut an zu geben.

danjelsan
10.10.03, 09:21
Moin Jungs!


If you have been programming for any length of time in a Unix environment, you will have encountered the mystical programs Lex & YACC, or as they are known to GNU/Linux users worldwide, Flex & Bison, where Flex is a Lex implementation by Vern Paxon and Bison the GNU version of YACC.

Soviel zum Verständnis. Ich hab jetzt Bison + Flex installiert und dann sollte es auch mit dem:

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

klappen.

Nächste Hürde beim make:

ext/mysql/libmysql/my_tempnam.lo: In function `my_tempnam':
/root/download/php4-200310091130/ext/mysql/libmysql/my_tempnam.c:115: the use of `tempnam' is dangerous, better use `mkstemp'
ext/standard/filestat.lo: In function `php_stat':
/root/download/php4-200310091130/ext/standard/filestat.c:575: undefined reference to `php_check_open_basedir_ex'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

Das erste sieht für mich aus wie ein 'warning', wofür ich nicht extra in der tempnam.c rumpfuschen muss, aber was mach ich bei dem 2. Fehler???


Gruß
danjelsan

Stanislaus
10.10.03, 10:05
"/root/download/php4-200310091130/"
Dem Pfad nach würde ich mutmaßen, daß Du einen CVS Snapshot der PHP Sourcen und nicht die letzte stabile Version gezogen hast, stimmts?

Nimm die 4.3.3 von dieser Seite:
http://www.php.net/downloads.php
Damit muss es funktionieren.

Viel Erfolg!

danjelsan
10.10.03, 10:19
:rolleyes:

also, vor dem link stand eindeutig das das die letzte stabile Version sei.

whatever,hab mir grad 4.3.3 gezogen und mache das nun damit. :)
btw, was ist ein CVS Snapshot?

OT:
Stanislaus, dein Avatar kommt mir so bekannt vor...
Wer oder was ist denn das?

Stanislaus
10.10.03, 10:59
Original geschrieben von danjelsan
btw, was ist ein CVS Snapshot?
CVS ist das System, über das die Sourcen verwaltet werden. Und aus diesem wird, meißtens per Cronjob, einmal täglich, wöchentlich oder wie man halt mag der aktuelle Stand gezogen und als tarball zum Download angeboten.
Das Paket, daß Du gezogen hattes scheint am 09.10 um 11:30 aus dem CVS erzeugt worden zu sein.

Original geschrieben von danjelsan
OT:
Stanislaus, dein Avatar kommt mir so bekannt vor...
Wer oder was ist denn das?
Der ist vom "In the court of the crimson king" Album von King Crimson geklaut. (sehr geiles Album)

Bis neulich ...

danjelsan
10.10.03, 13:04
soooo,

ich bin jetzt mit allen Punkten durchgekommen,
er hatte auch nichts mehr zum meckern.

Allerdings hab ich keine /usr/local/lib/php.ini
sondern nur das Verzeichnis /usr/local/lib/php wo die php.ini nicht drinliegt.

Zum anderen wurde auch kein Verzeichnis /usr/local/apache2/libexec angelegt,
was aber nicht schlimm ist das ich es mit expliziter Pfadangabe lade.

Wenn ich nun versuche über den Konqueror die Index.php von phpMyAdmin zu laden, öffnet die ein Fenster und ich werde abgefragt mit welchen Programm ich die Seite öffnen soll....

was mach ich bloss falsch?

Stanislaus
10.10.03, 13:29
Allerdings hab ich keine /usr/local/lib/php.ini
sondern nur das Verzeichnis /usr/local/lib/php wo die php.ini nicht drinliegt.
Och nee,
wieso machst Du denn nicht, was auf php.net geschrieben steht? (siehe Punkt 13)
Da steht eindeutig, daß du die php.ini-dist nach /usr/local/lib/php.ini kopieren sollst.


Zum anderen wurde auch kein Verzeichnis /usr/local/apache2/libexec angelegt,
was aber nicht schlimm ist das ich es mit expliziter Pfadangabe lade.
Doch das ist schlimm, wenn Du alles so gemacht hast, wie auf php.net beschrieben gibt es keinen Grund absolute Pfade anzugeben. Und überhaupt wohin zeigen denn die absoluten Pfade? Wenn php nach einem make install die dinger nicht in libexec sondern in einem anderen verzeichnis anlegt hast Du was falsch gemacht.

Ich habe selber bestimmt schon 20mal nach o.g. Anleitung den Kram gebaut. Es funktioniert hundertprozentig.

Vorschlag: Geh nochmal Schritt für Schritt die Aleitung durch und schreib die genauen Schritte (absolut alle) hier rein. So kann ich Dir nicht weiterhelfen.

Bis neulich ...

danjelsan
23.10.03, 08:46
hi!

@Stanislaus

hier, bin noch nicht dazu gekommen Deine Step by Step Anleitung nochmal zu machen,
aber ich hab hier auf einem anderen Suse Rechner (8.1), wo ich das gleiche
Problem hatte (zeigte keine .php an), lösen können.

Ich hab handisch in die

suse_addmodule.conf das mod_php4.c und in die
suse_loadmodule.conf das libphp4.so

eingetragen und dann sollte es auch klappen...

Wieder einmal ein weiterer Minuspunkt für SuSE's eigenwillige Konfigurationsdateien! :rolleyes:

..whateva, ich halte euch auf dem laufenden, was das mit der Anleitung ergeben hat..


greetz

danjelsan