Apache + php: include/require funktioniert nicht

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache + php: include/require funktioniert nicht

Postby Dilosupta » 21. January 2008 08:38

Halllo zusammen,

ich möchte ein php-script, das "require_once" enthält, auf dem localhost laufen lassen. Ich habe Apache 2.2.8 und php 5.2.5 instaliert. In der httpd.conf habe ich nur die Zeilen zur Einbindung von php hinzugefügt:

Code: Select all
PHPIniDir "C:/Programme/PHP/"
LoadModule php5_module "C:/Programme/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php


sonst habe ich sie im Original wie installiert belassen.

php läuft auch soweit (phpinfo wird angezeigt). Ein einfaches require, soll heißen in der require-Datei stehen nur echo-Befehle,funktioniert auch noch. Wenn ich aber versuche eine php-Datei, die eine Klasse definiert einzubinden, sehe ich den Quellcode der Datei, die ich eingebunden habe aber auch nicht vollständig. Das erste Fünftel fehlt.
Beispiel:

test.php:

Code: Select all
<?php
require_once("class.DTAUS.php");
 
$dtaus = new DTAUS("L","xxxxxxxxxxxx","xxxxxxx","xxxxxxx");

$dtaus->addTransaktion("Firma Beispiel", "76450000", "111111", "99.00", "vz1", "vz2","vz3");

header("Content-Disposition: attachment; filename=\"dtaus0.txt\"");

header("Content-type: text/plain");

header("Cache-control: public");

print $dtaus->create();

?>

class.DTAUS.php:

Zeile 1-10:

Code: Select all
<?


class _DTAUS {

  function fill($text, $len) {
    $text = strtoupper($text);         // nur Grossbuchstaben (bei UTF-8 werden Umlaute nicht umgewandelt)
           
    $text = eregi_replace ("ä", "ä", $text);
    $text = eregi_replace ("Ä", "Ä", $text);
...

Zeile 94 bis 98:
Code: Select all
  function DTAUS($typ="L", $kontoinhaber="", $blz="", $konto="") {
    $this->_trans = array();
    $this->_cs_betrag = 0.0;
    $this->_cs_blz = 0;
    $this->_cs_konto = 0;
...



Bei Aufruf von test.php erscheint auf dem Schirm:

Code: Select all
_trans = array(); $this->_cs_betrag = 0.0; $this->_cs_blz = 0; $this->_cs_konto = 0; $this->setTyp($typ); $this->setKontoinhaber($kontoinhaber); $this->setBLZ($blz); $this->setKonto($konto); } function setKontoinhaber($kontoinhaber) { $this->_kontoinhaber = $this->fill($kontoinhaber,27); }

ect, ect.
Das entspricht dem Code der class.DTAUS.php ab Mitte Zeile 95.

Wenn ich den Inhat der Datei class.DTAUS.php an die Stelle des require-Befehls in der test.php kopiere funktioniert das Script. Auch wenn ich es bei meinem Hostprovider laufen lasse funktioniert es, nur eben nicht local unter locahost.

Hat jemand von Euch eine Idee?

Christian

Edit by DJ DHG
Code-Tags hinzugefügt!
Dilosupta
 
Posts: 2
Joined: 21. January 2008 08:01

Postby sari42 » 21. January 2008 12:19

versuch mal <?php statt <?

(oder short_open_tag = On in php.ini)
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Dilosupta » 22. January 2008 09:50

Bingo! <?php war die Lösung. (Ich Blindfisch... )
Vielen Dank und viele Grüße

Christian
Dilosupta
 
Posts: 2
Joined: 21. January 2008 08:01


Return to Apache

Who is online

Users browsing this forum: No registered users and 52 guests