Server Support Forum
Anzeige:
[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo)

Zurück   Server Support Forum > >


Antwort
 
Themen-Optionen Bewertung: Bewertung: 6 Stimmen, 5,00 durchschnittlich.
  #1  
Alt 21.10.2005, 17:16
server4downs
Gast
 
Beiträge: n/a
[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo)

Hallo zusammen.

Hier kommt das ultimative, langerwartete, geniale, einzigartige HowTo...

Note: Please click here to see the English version.

Achtung! Dieses HowTo richtet sich an fortgeschrittene Linux-Serveradministratoren!
Es werden grundlegende Linux-Kenntnisse (u.a. auch Apache-Kenntnisse etc) vorausgesetzt.

Ziel dieses HowTo's:
- PHP4 und PHP5 parallel laufen zu lassen und
- trotzdem nicht auf open_basedir verzichten

Voraussetzungen:
- Linux-Webserver
- Apache 1.xx oder 2.xx
- gute Linuxkenntnisse (es wird auf Grundlagen aufgebaut)
- 20 Minuten Zeit
- 20 Liter Bier (Erfolg feiern, bzw. Frusttrinken)

So, nun geht´s los:
Kleine Geschichte zum Anfang:
Wer kennt das Problem nicht? Man will einerseits auf PHP4 nicht verzichten (z.B. Kunden benötigen es noch) aber anderseits will man PHP5 testen.
Zwei Apache-Module auf ein und dem selben Webserver sind unmöglich (höchstens mit 2. Apache-Instanz, was hier nicht erklärt werden soll).
Nun ist guter Rat teuer. Um es nicht zu spannend zu machen:
Man muss zumindest eine Version als CGI-Version laufen lassen. Es empfiehlt sich hierbei jedoch nur z.B. PHP5 als CGI laufen zu lassen.
Wir gehen nun also davon aus, dass PHP4 schon als Apache-Modul installiert ist.
Kleiner Hinweis, wieso dieses HowTo als "einzigartig" bezeichnet wird:
Die CGI-Edition bringt den Nachteil mit sich, dass über den Apachen keine Einstellungen mehr an PHP vorgenommen werden können. D.h. dass Einstellungen, wie z.B. die open_basedir flachfallen. Und genau diese function wird in diesem HowTo gepatched. Denn ohne open_basedir sieht der Server nicht mehr unbedingt sicher aus. Man kann zwar einfach verschiedene Verzeichnis-Berechtigungen setzen, die verhindern, dass man vom einem Doc_Root in den Doc_Root des anderen Kunden gelangt, aber der Rest des Servers bleibt weitestgehend offen (siehe 1&1 Webhosting-Sever).
Um dies zu vermeiden habe ich mich an den Source von PHP4/5 rangemacht. Hierbei wird die open_basedir gefälscht. Es sollte jedoch kein Grund zur Sorge bestehen, dass dies ein unsicheres Workaround ist. Es wurde mehrfach und auf verschiedenen Maschinen getestet (Wahrscheinlichkeit eines Bugs: 0,00000000000000000000000001%).
Es werden KEINE C-Kenntnisse erfordert! (das habe ich schon erledigt).
So, nun gehts wirklich los:
1. PHP-Sources ziehen:
z.B.:
Code:
wget http://de3.php.net/get/php-5.0.5.tar.gz/from/this/mirror
2. Entpacken:
Code:
tar xfz php-5.0.5.tar.gz
3. In's Verzeichnis wechseln:
Code:
cd php-5.0.5
4. Configure ausführen:
z.B.:
Code:
./configure --prefix=/usr/share/php5 --datadir=/usr/share/php5 --bindir=/usr/bin/php5 --libdir=/usr/share/php5 --with-config-file-path=/etc/php5 --with-exec-dir=/usr/lib/php5/bin --enable-memory-limit --enable-force-cgi-redirect --enable-track-vars --with-mysql=/usr --without-pear --enable-session --without-sqlite --enable-exif
Hinweis:
--enable-force-cgi-redirect wird zur CGI-Version benötigt. Hierbei darf kein apxs/apxs2 verwendet werden.
--with-mysql=/usr MySQL muss bei PHP5 mit eincompiliert werden.
Natürlich ist dies nur eine Minimal-Konfiguration. Weitere Dinger können selbstverständlich mit eingetippt werden.
5. ENTER schmettern
6. Abwarten. Configure läuft durch. Bei Fehlern bitte Google befragen. Meistens wird Configure wegen fehlender Header-Files meckern. Hierzu einfach diese installieren (devel-packages).
7. (optional) Die ersten 0,5l können getrunken werden. Je nach Servergeschwindigkeit können auch 1-2l getrunken werden.
8. Configure ist nun fröhlichst durchgerattert und ist mit einer Success-Meldung fertig.
9. Nun gehts erstmal an´s Patchen:
a) Mit einem beliebigen Editor die Datei /php-5.0.5/main/fopen_wrappers.c öffnen (z.B. mit vi)
b)
Nun die Zeile mit dem Inhalt
Code:
PHPAPI int php_check_open_basedir_ex(const char *path, int warn TSRMLS_DC)
aufsuchen. Dies ist die Funktion, die wir faken werden.
c) Nun gehen wir noch ein paar Zeilen runter und bewegen uns mit dem Cursor unter folgenden Auszug:
Code:
if (PG(open_basedir) && *PG(open_basedir)) {
                char *pathbuf;
                char *ptr;
                char *end;
d) Jetzt kommt der tricky part... wir fügen nun folgenden Code ein:
Code:
/*faked base_dir */

                char awesome[MAXPATHLEN];
                char pathstuff[MAXPATHLEN];
                int counter = 0;
                strlcpy(awesome, "", sizeof(awesome));
                strlcpy(pathstuff, SG(request_info).path_translated, sizeof(pathstuff));
                int i;
                for(i = 0; pathstuff[i]; i++)
                    {
                    if(pathstuff[i] == '/')
                    counter++;
                    if(counter == 6)
                        {
                        pathstuff[i+1] = 0;
                        strlcpy(awesome, pathstuff, sizeof(awesome));
                        break;
                        }
                    }

                strlcat(awesome, ":/other/base/dirs/dude/:/tmp/", sizeof(awesome));

                /* end! */
Erklärung hierzu (bitte genau lesen):
Dieser Patch basiert auf folgendem Gedankengut:
Jeder sollte beim Hosting auf eine gewisse Verzeichnisbaumstruktur seiner User achten.
Beispiel:
Doc_Root: /home/www/hostedstuff/users/username/
Hierbei sollte beachtet werden, dass /username durch den Username oder sonst was ersetzt wird.
Das Script (oben) checkt nun einfach den jeweils aufgerufenen Scriptpfad ab und ermittelt hierdurch den Doc_Root.
Hierbei wird einfach nach "/" gesucht. Hier muss nun bis 6x "/" durchlaufen werden und dieser String wird dann als Doc_Root verwendet.
Beispiel:
Username: sweetheart
Dieser User ruft nun sein Script fools.php im Ordner /donuts auf.
Script-Path: /home/www/hostedstuff/users/sweetheart/donuts/fools.php
Dies wird nun sofort von unserem Script analysiert und heraus kommt der Doc_Root
/home/www/hostedstuff/users/sweetheart/ in welchen der User eingesperrt werden soll.
Hinzu kommen dann noch zusätzliche open_basedirs, welche mit ":" getrennt werden. Dies ist jedoch optional und kann auch rausgelassen werden.
Das Geniale an diesem Patch ist, dass es auch mit Mass-Hosting-Solutions arbeitet (mod_vhost_alias).
d) Nun muss noch der Funktionsaufruf geändert werden:
Code:
pathbuf = estrdup(PG(open_basedir));
wird durch
Code:
pathbuf = estrdup(awesome);
ersetzt.
e) nun speichern wir die ganze Geschichte ab! (von Editor zu Editor anders deshalb keine Beschreibung)
f) Editor verlassen.
g) erfolgreich gepatcht. Herzlichen Glückwunsch. Was dich jetzt 5 Minuten gekostet hat ist nur durch fast 5 monatiger Arbeit an diesem Patch möglich. Hier steckt wirklich viel Arbeit und die damit verbundenen Hirnzellen drinnen. Ich bitte deshalb den Code nicht ins Lächerlich zu ziehen (ich bin kein Profi).
h) (optional) wir leisten uns nun nochmals ein Bier

10. Wir kommen nun zum make-Befehl:
Code:
make
11. Warten... (Bier aufmachen und trinken)
12. Alles gut durchgelaufen? Super!
Dann jetzt:
Code:
make install
reinkloppen
13. Warten. Files werden installiert!
14. Fertig mit PHP-Installation.
15. Ganze Geschichte nun auf Apache anwenden...
16. In Vhost-File, bzw. httpd.conf folgendes eintragen:
Code:
<Directory "/usr/bin/php5">
AllowOverride None
Options +ExecCGI +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
ScriptAlias /php5rocks /usr/bin/php5
Action php5-cgi /php5rocks/php
AddType php5-cgi .php5
17. Natürlich kann man auch noch suexec einsetzen (empfohlen).
Hierzu biete ich jetzt allerdings kein HowTo an. Einfach unter gewünschtem User laufen lassen. Eventuell noch an suexec rumschrauben:
http://www.serversupportforum.de/for...mpilieren.html
18. Nun werden alle *.php5 als PHP5-CGI geparst.
19. Entgültig fertig!
20.
Geschafft!
21. Rest auftrinken!

Nachwort:
Das HowTo ist auch auf PHP4 anwendbar!
In diesem HowTo steckt massig Arbeit. Ich bitte dies zu berücksichtigen und aus diesem Thread deshalb keine Laber-Ecke zu machen.
Das HowTo ist für Fortgeschrittene Admins bestimmt. Deswegen fang ich auch nicht von NULL an bei der Beschreibung.
Sollte das HowTo euch wirklich gefallen haben, so freut sich CwCity.de jederzeit über eine Geldspende (Paypal).
Ich weise darauf hin, dass ich keinen kostenlosen Support per ICQ/MSN zu selbigem Thema anbiete!
Ich konnte auch nach wochenlangem Suchen keine Lösung über Google und PHP.net finden. Deshalb ist dieses HowTo etwas wirklich Besonderes!
Selbstverständlich können auch noch andere Lösungswege existieren.

Ich übernehme KEINE Haftung für dieses HowTo!

Copyright © 2005-2006 by server4downs at serversupportforum.de and PHP-Installation.de - Installation/Update PHP4, PHP5 Apache-Modul, CGI, suPHP, FastCGI, CLI

Stand des HowTos: 22.10.2005 (13:24Uhr)

Geändert von server4downs (08.11.2006 um 14:42 Uhr)
Mit Zitat antworten

  #2  
Alt 21.10.2005, 20:34
Benutzerbild von Huschi
Huschi Huschi ist offline
Moderator
 
Registriert seit: 09.2003
Ort: Nürnberg
Beiträge: 15.413
Blog-Einträge: 5
Cooles Howto. Leider vertrage ich nicht so viel Bier.

Anmerkung zu 9 d)
Die Variable awesome sollte vorinnitialisiert werden, da (z.B. aufgrund von Verständisschwierigkeiten oder evtl. auftretenen Ausnahmen) evtl. die Schleife ohne erreichen der 6 (o.ä. Zahl) beendet werden könnte. Ein strlcat bringt dann ein unkalkulierbares Ergebnis.

z.B. (kann vom einigen Compiler angemeckert werden):
char awesome[MAXPATHLEN] = {0};
Compiler sicher:
Code:
char awesome[MAXPATHLEN];
awesome[0] = 0;
// oder 
//strlcpy(awesome, "", sizeof(awesome));
huschi.
__________________
huschi.net - Linux-Server-Admin FAQ
Consult-N.de - kommerzieller Linux-Support
Mit Zitat antworten
  #3  
Alt 22.10.2005, 12:24
server4downs
Gast
 
Beiträge: n/a
Danke für diesen Hinweis.
Das HowTo wurde soweit angepasst.
Mit Zitat antworten
  #4  
Alt 22.10.2005, 16:26
Benutzerbild von society
society society ist offline
Registered User
 
Registriert seit: 05.2004
Ort: 127.0.0.1
Alter: 34
Beiträge: 3.216
Klasse, sehr gut gelöst.
Ich würde es zwar anderst machen, aber für dein Massenhosting ist das die beste Ultimativste Lösung.

Ich benutze für die Sache mit OPEN_Basedir und PHP4 und PHP5 suphp mit der cgi php version. Dort gebe ich für jeden Virtuellen Host eine eigene php.ini an bei der ich diese Configuration angepasst habe.

Wie gesagt ist Geschmackssache. Aber gute Lösung werden bestimmt einige gebrauchen können.
__________________
Mit Zitat antworten
  #5  
Alt 22.10.2005, 17:33
server4downs
Gast
 
Beiträge: n/a
Durchaus auch ein Lösungsweg!
Aber eben wie gesagt. Meine Lösung baut auf Hosting auf. Auch FastCGI wäre ansonsten keine schlechte Sache... aber es würde zu viele Prozesse brauchen und wäre schlecht mit mehreren tausend vhosts verbindbar.
Ein weiterer Vorteil an der "normalen" CGI-Lösung (im Gegensatz zu suPHP) ist, dass man mehrere PHP-Versionen verwenden kann. Man ist nicht nur auf 2 beschränkt. Dies "kann" von Vorteil sein.
Mit Zitat antworten
  #6  
Alt 22.10.2005, 18:50
Benutzerbild von society
society society ist offline
Registered User
 
Registriert seit: 05.2004
Ort: 127.0.0.1
Alter: 34
Beiträge: 3.216
Das auf jedenfall. Ich finde das gut das du es hinbekommen hast.
Weiter so.
__________________
Mit Zitat antworten
  #7  
Alt 02.03.2006, 08:15
test022 test022 ist offline
Registered User
 
Registriert seit: 03.2006
Beiträge: 4
Guten Tag,

habe diese Anweisung befolgt, leider meldet mein Server Fehler beim ausführen von *.php5 dateien (allen php5 dateien habe ich chmod 755 vergeben):

Forbidden
You do not have permission to access this document.

Woran kann es liegen?

System ist ein SuSe 9.3 Professional
Admin Oberfläche Plesk 7.54 Reloadet

Vielen Dank im Voraus
Mit Zitat antworten
  #8  
Alt 02.03.2006, 11:10
server4downs
Gast
 
Beiträge: n/a
Hallo,

vorab will ich die Vorraussetzungen für dieses HowTo dir nochmals näher bringen:
Zitat:
Voraussetzungen:
- Linux-Webserver
- Apache 1.xx oder 2.xx
- gute Linuxkenntnisse (es wird auf Grundlagen aufgebaut)
- 20 Minuten Zeit
- 20 Liter Bier (Erfolg feiern, bzw. Frusttrinken)
Zu diesen sog. "Grundlagen" zählen IMHO auch das Studieren von Logfiles ohne sonderliche Aufforderung.

Wenn du wirklich Hilfe hier erwartest, so will ich doch gerade bei solch einem "advanced" HowTo dem Hilfesuchenden nicht jede Selbstverständlichkeit aus der Nase ziehen.
Bei gescheiter Fehlermeldungsangabe kann ich sicherlich weiterhelfen. So weigere ich mich
Mit Zitat antworten
  #9  
Alt 03.03.2006, 09:00
test022 test022 ist offline
Registered User
 
Registriert seit: 03.2006
Beiträge: 4
php5 als CGI

Guten Tag,

Habe alles von neu gemacht. Jetzt Meldet Server beim aufruf von php5 dateien 500er Error

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.



bin jetzt ratlos hoffe dass, Sie mir helfen können.

also kleiner Auszug:

# find / -name error_log
/var/log/apache2/error_log
/var/www/vhosts/mein_user/statistics/logs/error_log


In
/var/www/vhosts/mein_user/statistics/logs/error_log
stand folgendes:

[Fri Mar 03 09:54:27 2006] [warn] Cannot get media type from 'php5-cgi'
[Fri Mar 03 09:54:27 2006] [warn] Cannot get media type from 'php5-cgi'
[Fri Mar 03 09:54:27 2006] [warn] Cannot get media type from 'php5-cgi'
[Fri Mar 03 09:54:27 2006] [error] [client 83.135.138.57] failed to open log file
[Fri Mar 03 09:54:27 2006] [error] [client 83.135.138.57] fopen: No such file or directory
[Fri Mar 03 09:54:27 2006] [error] [client 83.135.138.57] Premature end of script headers: php


In restlichen Logs war nichts auffälliges…


Vielen Dank im Voraus

Geändert von test022 (03.03.2006 um 09:06 Uhr)
Mit Zitat antworten
  #10  
Alt 03.03.2006, 09:27
server4downs
Gast
 
Beiträge: n/a
Na, das sieht doch schonmal anders aus. Demnächst bitte noch Angaben über OS und Apache-Version.
Veränder doch einfach mal Folgendes:
Code:
<Directory "/usr/bin/php5">
 AllowOverride None
 Options +ExecCGI +FollowSymLinks
 Order allow,deny
 Allow from all
 </Directory>
 ScriptAlias /php5rocks /usr/bin/php5
  Action php5-cgi application/php5rocks/php
  AddType application/php5-cgi .php5

Sollte funktionieren.
Ich fände es demnächst schön, wenn du einfach ein wenig mehr "Effort" in die Geschichte steckst, denn es tut mir ein wenig weh zu sehen, dass so schnell immer aufgegeben wird bei einem "Projekt", was mir schon Stunden um Stunden Kopfzerbrechen und Googlen beschert hatte.
HowTo Google:
1. Voraussetzung:
wenn man seine Server-Probleme ergooglen will, so braucht man mittel bis gutes English.
2. Wie Google ich solche Sachen?
Ich schnappe mir die Hauptaussage der Fehlermeldung.
Diese wäre in diesem Falle:
"Cannot get media type from"
Nun suchen wir danach:
http://www.google.de/search?hl=de&ne...nG=Suche&meta=
und merken, dass es s. hierbei nicht nur im PHP-Probleme handelt.
Also müssen wir die Suche weiter einschränken.
Dann mal los:
http://www.google.de/search?hl=de&ne...nG=Suche&meta=
Der Weg ist das Ziel


Wieso habe ich dieses HowTo gepostet?
Weil ich es schade finde, dass viele Leute, bzw. Serveradministratoren nicht wissen, wie sie Google befragen können und es immer andere für s, machen lassen.

Also, ich hoffe, dass es nun bei dir funktioniert hat.
Freue mich auf kurze Rückmeldung.
Mit Zitat antworten
  #11  
Alt 03.03.2006, 10:01
test022 test022 ist offline
Registered User
 
Registriert seit: 03.2006
Beiträge: 4
Zitat:
Zitat von server4downs
Na, das sieht doch schonmal anders aus. Demnächst bitte noch Angaben über OS und Apache-Version.
Veränder doch einfach mal Folgendes:
Code:
<Directory "/usr/bin/php5">
 AllowOverride None
 Options +ExecCGI +FollowSymLinks
 Order allow,deny
 Allow from all
 </Directory>
 ScriptAlias /php5rocks /usr/bin/php5
  Action php5-cgi application/php5rocks/php
  AddType application/php5-cgi .php5

Sollte funktionieren.
Bitte nicht hauen nach dem ich Eintrag in httpd.conf geändert habe, kriege ich php5 dateien zum Donload angeboten.

Obwohl ich php5 Interpreter installiert habe alles nach Ihrem HowTo.
kleiner auszug:
# cd /usr/bin/php5
# ./php -v
PHP 5.1.2 (cgi) (built: Mar 3 2006 09:42:23)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


in Apache Error_log ist jetzt das zusehen:
Code:
[Fri Mar 03 11:24:29 2006] [warn] child process 7533 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7586 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7587 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7525 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7526 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7527 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7528 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7529 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7533 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7586 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7587 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7526 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7527 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7528 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:29 2006] [warn] child process 7529 still did not exit, sending a SIGTERM
[Fri Mar 03 11:24:30 2006] [notice] caught SIGTERM, shutting down
[Fri Mar 03 11:24:31 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Fri Mar 03 11:24:31 2006] [warn] RSA server certificate CommonName (CN) `h68516.serverkompetenz.net' does NOT match server name!?
[Fri Mar 03 11:24:31 2006] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Fri Mar 03 11:24:31 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec2)
[Fri Mar 03 11:24:32 2006] [warn] RSA server certificate CommonName (CN) `h68516.serverkompetenz.net' does NOT match server name!?
[Fri Mar 03 11:24:32 2006] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Fri Mar 03 11:24:32 2006] [notice] mod_python: Creating 32 session mutexes based on 150 max processes and 0 max threads.
[Fri Mar 03 11:24:32 2006] [notice] FastCGI: process manager initialized (pid 7665)
[Fri Mar 03 11:24:32 2006] [notice] Apache/2.0.53 (Linux/SUSE) configured -- resuming normal operations


System: SuSe 9.3 Professional
Admin Oberfläche: Plesk 7.5.4
Apache2: httpd-2.0.53
PHP Version 4.3.10 als mod


Vielen Dank im Voraus

Geändert von djrick (03.03.2006 um 11:17 Uhr)
Mit Zitat antworten
  #12  
Alt 03.03.2006, 11:14
server4downs
Gast
 
Beiträge: n/a
Gehauen wird hier niemand
Erst war ich etwas erstaunt vom Ergebnis... nun habe ich eine leise Ahnung. Bitte poste einen Link zu deiner php4-phpino() oder hänge sie hier in den Anhang, damit ich etwas über die Apache-Settings erfahren kann.
Irgendwas stimmt bei dir mit den mime-types nicht so ganz.

P.s:
Hast du mod_mime bei Apache aktiviert?
Mit Zitat antworten
  #13  
Alt 05.03.2006, 11:53
mod-exi
Gast
 
Beiträge: n/a
Tag' auch - Hab den selben fehler wie der Herr test022.

Url zur PHP-Info: http://www.ro-god.net/phpinfo.php
Url zur eigendlichen PHP5-Info: http://www.ro-god.net/phpinfo.php5

Ich habe mod_mime aktiv ...denke ich

Ist ein Vorinstallierter Server mit Plesk 7.5 Reloaded, Ebenfalls Suse
Mit Zitat antworten
  #14  
Alt 05.03.2006, 16:44
server4downs
Gast
 
Beiträge: n/a
Das ist interessant... werde mich heute Abend mit der Thematik nomma befassen.
Mit Zitat antworten
  #15  
Alt 05.03.2006, 17:58
mod-exi
Gast
 
Beiträge: n/a
Zitat:
Zitat von server4downs
Das ist interessant... werde mich heute Abend mit der Thematik nomma befassen.
Yaaay, das wär nett !
Danke jetzt schonmal.

PS: Was ist denn das interresante daran?
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HowTo install PHP5 server4downs FAQs & Anleitungen 168 31.08.2006 09:12
Apache2 mit php3 und php4 (vielleicht auch mal php5) dragon001 Webserver 4 17.04.2005 23:09
IRC Howto dereine FAQs & Anleitungen 4 10.02.2005 16:49
PHP5 parallel zu PHP4 laufen lassen mit selber php.ini server4downs Perl / PHP / Python / bash 2 26.10.2004 18:16
Deutsches ausführlichen HowTO für IPv6 reverse DNS djrick DNS 0 16.12.2003 11:08


[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo)
[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo)
[HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo) [HowTo] PHP4/PHP5 als CGI - gepatcht (deutsches HowTo)
Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.