PHP4 als Modul, PHP5 als CGI auf Apache 2

Alles, was PHP betrifft, kann hier besprochen werden.

PHP4 als Modul, PHP5 als CGI auf Apache 2

Postby Thasmo » 16. December 2005 18:01

Hallo!

Ich habe gehört es ist möglich PHP4 als Modul
und PHP5 als CGI auf einem Apache 2 (Windows)
laufen zu lassen.

Bis jetzt habe ich nur PHP4 als CGI auf dem Apache 2
laufen lassen, verstehe aber in der Readme/Install Datei
von PHP nicht wie ich PHP als Modul laufen lassen kann.

Ich hoffe mich zerreisst jetzt nicht jemand in der Luft
für diese Frage. Ich bräuchte nur ein paar Links zu
Tutorials, Webseiten oder Posts die dieses Thema
behandeln.

Bin sehr dankbar für Hilfe!
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 16. December 2005 18:20

Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 16. December 2005 20:04

Ich danke vielmals! *verbeug*

Wenn mir jetzt noch jemand beibringen kann
wie ich per .htaccess pder httpd.conf Apache definiere
welche Verzeichnisse er mit PHP4 und welche anderen
er mit PHP5 ausführen soll, bin ich endlos glücklich.

Danke sehr im Vorhinein!
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 16. December 2005 20:08

Das steuerst du über AddType. Für die Modul-Variante steht ja der mime-type schon fest. Für die CGI-Variante denkst du dir halt für die Kombi AddType/Action einen aus.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 16. December 2005 20:22

Wiedmann wrote:Das steuerst du über AddType. Für die Modul-Variante steht ja der mime-type schon fest. Für die CGI-Variante denkst du dir halt für die Kombi AddType/Action einen aus.


Du meinst also so etwas wie *.php5 als Dateiendung?
Ist es möglich die Dateiendung auf *.php zu belassen
und trotzdem verzeichnisabhängig zwischen der Version
4 und der Version 5 zu unterscheiden?
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 16. December 2005 20:55

Du meinst also so etwas wie *.php5 als Dateiendung?

Jein.

Ist es möglich die Dateiendung auf *.php zu belassen
und trotzdem verzeichnisabhängig zwischen der Version
4 und der Version 5 zu unterscheiden?

Hab ich ja eigentlich beschrieben. Hast du schonmal im Apache-Manual nachgeschaut was die Directiven AddType und Action machen und wie diese zusammenwirken?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 16. December 2005 21:08

Wiedmann wrote:
Du meinst also so etwas wie *.php5 als Dateiendung?

Jein.

Ist es möglich die Dateiendung auf *.php zu belassen
und trotzdem verzeichnisabhängig zwischen der Version
4 und der Version 5 zu unterscheiden?

Hab ich ja eigentlich beschrieben. Hast du schonmal im Apache-Manual nachgeschaut was die Directiven AddType und Action machen und wie diese zusammenwirken?


Entschuldige, ich will niemanden reizen.
Nein, hab ich mir noch nicht angesehen,
aber werd ich machen, danke für diesen Tipp!
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Thasmo » 16. December 2005 21:18

Hab diesbezüglich relevante Informationen gefunden.
Werde mich jetzt ein wenig spielen. Wenn ich wieder
anstehe werd ich mich wahrscheinlich wieder melden.

Noch eine andere Frage. Habe erfahren, dass man
PHP4 und 5 nicht beide als Modul laufen lassen kann,
ist das richtig?
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 16. December 2005 21:21

Noch eine andere Frage. Habe erfahren, dass man
PHP4 und 5 nicht beide als Modul laufen lassen kann,
ist das richtig?

Das ist richtig.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 16. December 2005 21:37

Habe jetzt folgendes in meienr httpd.conf Datei hinzugefügt:

# PHP5 as CGI in thasmo.com/web/5
ScriptAlias /PHP5/ "C:/Server/PHP5/"
<Location /thasmo.com/web/5>
AddType application/x-httpd-php5 .php
Action application/x-httpd-php5 "/PHP5/php-cgi.exe"
</Location>

# PHP4 as MODULE
LoadModule php4_module "C:/Server/PHP4/php4apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/Server/PHP4"


Die Datei "index.php" in diesem Verzeichnis /5/
hat als Inhalt die Funktion phpinfo(). Es wird auch
die Ausgabe der Information gegeben, allerdings
die von PHP4. Kannst du mir sagen wo der Haken liegt?
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 16. December 2005 22:31

Geift wohl der Location nicht. Nehm doch mal einen normalen Directory.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 17. December 2005 00:37

Hatte auch schon den direkten Pfad von C: weg genommen
und es ändert sich nichts daran. Ich weiß nicht, mir gehen die Ideen aus.

EDIT:

Habe anstatt Location jetzt einfach Directory verwendet:
<Directory C:/~/Websites/~/web/5>


Damit funktioniert es einwandfrei. (Zumindest wird in
diesem Verzeichnis nun PHP5 verwendet!)

Danke vielmals für die Hilfe! =o)
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Thasmo » 18. December 2005 17:54

Habe ein komisches Problem und zwar, dass
PHP Fehler nicht angezeigt werden, ich bekomme
einfach eine blank Seite, auf der auch der Quelltext
nichts enthält.

Ich vermute, dass PHP4 und PHP5 au dieselbe
php.ini zugreifen.

Wie kann ich prüfen, welche Version auf welche
php.ini zugreift, bzw. wie kann ich die beiden Versionen
dazu bringen auf 2 verschiedene php.ini Dateien zuzugreifen?

Danke vielmals!

EDIT:

Okay, nein, in den phpinfo() Funktionen der jeweiligen
PHP Version wird der jeweils richtige Pfad zur php.ini angezeigt.

Liegt wohl an etwas anderem ...
Last edited by Thasmo on 18. December 2005 18:18, edited 1 time in total.
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25

Postby Wiedmann » 18. December 2005 18:04

Wie kann ich prüfen, welche Version auf welche php.ini zugreift,

phpinfo()

wie kann ich die beiden Versionen dazu bringen auf 2 verschiedene php.ini Dateien zuzugreifen?

http://de.php.net/manual/en/configurati ... ation.file
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Thasmo » 18. December 2005 18:33

Wiedmann wrote:
Wie kann ich prüfen, welche Version auf welche php.ini zugreift,

phpinfo()

wie kann ich die beiden Versionen dazu bringen auf 2 verschiedene php.ini Dateien zuzugreifen?

http://de.php.net/manual/en/configurati ... ation.file


Danke, habe das überprüft, siehe Antwort oben -> EDIT.

Habe folgende Klasse:
Code: Select all
<?php

class GameServer {
   private $data, $conn;
   private const PORT = '27960';
   private const HOST = '195.11.243.34';
   
   public function __construct() {
      $this->printLine(__CLASS__ . '::' . __FUNCTION__);
      
      $this->connectTo();
   }
   
   public function __destruct() {
      $this->printLine(__CLASS__ . '::' . __FUNCTION__);
      
      fclose($this->conn);
   }
   
   private function connectTo() {
      $this->printLine(__CLASS__ . '::' . __FUNCTION__);
      
      if(!$this->conn = fsockopen('udp://' . self::HOST, self::PORT, $errno, $errstr))
         trigger_error('Can\'t establish a connection.');
   }
   
   private function printLine($line) {
      print 'LOG: ' . $line;
   }
}

$gs = new GameServer();

?>


Die Ausgabe im Opera 8.5 ist genau. Gar. Nichts.
(Der Quelltext lässt sich nicht anzeigen, also nehme
ich an, dass es keinen gibt. Auch Opera lädt nicht
mehr, Seite sollte also vollständig geladen sein.)

Ich finde die Ursache nicht.
Thasmo
 
Posts: 32
Joined: 28. November 2005 13:25


Return to PHP

Who is online

Users browsing this forum: No registered users and 9 guests