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!