php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-05-2008, 11:49
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard fopen local und auf dem server

Hi

Gibt es da Unterschiede, oder etwas was ich beachten muss?

Ich habe eine Funktion:
PHP-Code:
function makeTest() {
 
$TestAusl fopen ("http://www.domainl.tld/dateiauslese.php""r");
 
$test = @fgets($TestAusl4096);
 @
fclose ($TestAusl );
 return 
$test;

Nun habe ich damit folgendes Problem:
Wenn ich die Datei dateiauslese.php im Browser direkt aufrufe geht es und die Datie gibt mir das aus was er in der funktion auslesen soll.

Wenn ich diese Funktion auf meinem lokalen Webserver nutze (Die Datei dateiauslese ist online) liest er mir alles richtig aus.

Wenn ich diese funktion jedoch auf meinem webserver nutze, läd er ewig und bricht irgendwann ohne fehler ab. mit seite kann nicht angezeigt werden.

Ich war der meinung auf dem alten Webserver hat dies geklappt. An was kann das liegen? Also wo muss ich den fehler suchen?

Auch wenn ich eine textdatei mti fopen einlesen würde mit dem pfad ./test.txt geht es. wenn ich jedoch wieder mit einer URL arbeite und nicht nur den Pfad passiert das selbe.

Danke schonmal für eure Tipps.

Gruss Olli4

Geändert von Olli4 (01-05-2008 um 12:25 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 01-05-2008, 12:13
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

phpinfo() gibt dir gern Auskunft über allow_url_fopen, wenn OFF eingestellt ist, dann geht es nicht.
Mit Zitat antworten
  #3 (permalink)  
Alt 01-05-2008, 12:22
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi

Danke dir. Ist eigentlich auf ON. wo muss ich dann den fehler suchen?
allow_url_fopen ON

Gruss

Olli4
Mit Zitat antworten
  #4 (permalink)  
Alt 01-05-2008, 13:29
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Lesen: http://www.php-resource.de/forum/sho...threadid=50454

error_reporting(E_ALL);
ini_set("display_errors", ON);

wird dir helfen, Fehlermeldungen zu bekommen.
Mit Zitat antworten
  #5 (permalink)  
Alt 01-05-2008, 13:57
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi

Danke. Jedoch bringt mir dies leider nichts.

Ich bekomme keine Fehlermeldung. Wie gesagt kann ich die Funktion lokal aufrufen. Auf dem server nicht. Dort läd er einfach eine gewisse Zeit und bringt dann Die Seite kann nicht angezeigt werden. Mit dem error_reporting ist es das selbe spiel. Er bricht das laden ab.

EDIT: Wenn ich die Datei mit fopen direkt öffne also nicht über die url sondern einfach ./datei.php gehts und e_all gibt keine fehler aus von diesem code. wenn ich es aber via URL aufrufe (Muss ich leider so haben) gehts nicht.

EDIT2 Habe mal folgendes als Code gemacht als einziges in der Datei:
error_reporting(E_ALL);
ini_set("display_errors", ON);
$TestAusl = fopen ("http://www.domainl.tld/dateiauslese.php", "r");
So läd er auch ewig ohne Fehler ausgabe oder so. Wenn ich diesen Code local habe (mit dem fopen auf den webserver geht es). Gibt es da noch eine Einstellung oder so? Bin irgendwie ratlos.



Gruss Olli4

Geändert von Olli4 (01-05-2008 um 14:25 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 01-05-2008, 14:28
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Olli4

EDIT: Wenn ich die Datei mit fopen direkt öffne also nicht über die url sondern einfach ./datei.php gehts und e_all gibt keine fehler aus von diesem code. wenn ich es aber via URL aufrufe (Muss ich leider so haben) gehts nicht.
Ähm, der code ist auf deinem Server, warum in Gottesnamen musst du über http öffnen

Zu deinen Fehler, es könnte an dem Timeout liegen.
Mit Zitat antworten
  #7 (permalink)  
Alt 01-05-2008, 14:36
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Ähm, der code ist auf deinem Server, warum in Gottesnamen musst du über http öffnen

Zu deinen Fehler, es könnte an dem Timeout liegen.
Hi

Also:
1. Timeout: Ja an dem liegt es. Er bricht das Laden ab. Jedoch warum. Das ist das was ich gerne verstehen würde. Wenn ich es vom localen WEbserver verwende (das fopen auf den Server Online) geht es. Aber wenn ich es auf dem Webserver habe nicht.

2. Hast du inrirekt recht. Wenn ich einige dinge ändern würde könnte ich es anders machen, was ich aber ungerne tun. Mache es aber wenn es keine Lösung gibt.

Aber es muss doch gehen wenn allow_url_fopen wie du sagst auf ON ist. Kann ja nicht mal http://www.domain.tld/textdatei.txt machen und er bricht ab mit einem Timeout. Aber wie gesagt nur direkt auf dem Server. Wenn ich es vom lokalhost mit fopen auf http://www.domain.tld/textdatei.txt mache gehts und wenn ich es vom Webspace mit fopen auf http://www.domain.tld/textdatei.txt kommt die seite kann nicht angezeigt werden nach ner weile laden.

Das muss doch ein Grund haben.

Danke für deine Hilfe.

Gruss

Olli4
Mit Zitat antworten
  #8 (permalink)  
Alt 01-05-2008, 14:53
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ich hoffe, du hast die Regeln richtig gelesen und die @-Zeichen vor den Funktionsaufrufen entfernt. Eigentlich solltest du Fehlermeldungen erhalten!
Mit Zitat antworten
  #9 (permalink)  
Alt 01-05-2008, 14:58
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von PHP-Desaster
Ich hoffe, du hast die Regeln richtig gelesen und die @-Zeichen vor den Funktionsaufrufen entfernt. Eigentlich solltest du Fehlermeldungen erhalten!
Hi

Danke aber habe ich ja. Wie oben geschrieben:
Ich habe drei Server:
server1
server2
server3.
Die Datei dateiauslese.php liegt immer auf server1. Bei jedem test.
Ich habe die Datei test.php mal so angelegt:
PHP-Code:
error_reporting(E_ALL); 
ini_set("display_errors"ON);
$TestAusl fopen ("http://www.domainl.tld/dateiauslese.php""r"); 
Nun zu den fehlern:
server1: er läd bis er abbricht und der Fehler kommt Seite kann nicht angezeigt werden

server2: Problemloser ablauf.

server3: Problemloser ablauf.

Der einzige fehler den er bei 2 und 3 ausgibt ist wegen der Zeile ini_set das das ON in 'ON' geändert werden sollte oder sowas.

Also du siehst er gibt kein fehler zu dem aus weil alles funktioniert wie es soll. Nur direkt vom einen Server geht es nicht. Dort läd er sich dumm und dämlich. Und genau das ist ja das seltsame. Nur beim einen Hoster.

Gruss

Olli4

Geändert von Olli4 (01-05-2008 um 15:38 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 01-05-2008, 15:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Wurde ja eigentlich schon besprochen, dass es unsinnig ist, eine "Datei" über HTTP zu holen, wenn Sie auf dem eigenen selben Server/Webspace liegt.

Du kannst mal folgende Alternativen ausprobieren: fsockopen, file_get_contents, curl, ... (Reihenfolge ohne Wertung)

Außerdem probier doch mal aus, was passiert, wenn du eine dateiauslese.php (mit beliebigen Inhalt) auf server2 oder 3 liegen hast und dann von server1 abrufst.

Wenn das alles keinen Sinn hat, poste doch mal die URL zu der dateiauslese.php
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 01-05-2008, 16:16
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
Wurde ja eigentlich schon besprochen, dass es unsinnig ist, eine "Datei" über HTTP zu holen, wenn Sie auf dem eigenen selben Server/Webspace liegt.

Du kannst mal folgende Alternativen ausprobieren: fsockopen, file_get_contents, curl, ... (Reihenfolge ohne Wertung)

Außerdem probier doch mal aus, was passiert, wenn du eine dateiauslese.php (mit beliebigen Inhalt) auf server2 oder 3 liegen hast und dann von server1 abrufst.

Wenn das alles keinen Sinn hat, poste doch mal die URL zu der dateiauslese.php
Hallo

Danke für deine Antwort. Habe die PHP Datei gegen eine textdatei geändert test.txt, damit ich fehler in der Datei dateuauslese.php ausschliessen kann.

Das es schwachsinn ist aufzurufen mag sein kann es direkt verarbeiten. ich kann ja keine php datei mit fopen aufrufen mit ./dateiauslese.php da er sonst nur den quellcode ausgibt und nicht das was er darin verarbeitet.

Mit der Datei test.txt passiert das selbe. Wenn ich dies aufrufe und die Datei test.txt auf einem anderen Server habe geht es probemlos.

Das heisst es gibt nur probleme mit fopen auf dem selben server gleiche IP (subdomains etc gehen auch nicht) das scheint irgend ein Problem sein das beim Hoster ist. Denke das wäre falsch jetzt noch bei PHP zu suchen wenn es auch mit txt nicht geht und mit diesem kleinen code oder?

Werde es denke ich ändern. Wäre einfach Interessant herauszufinden warum es so ist. Habe mal den Hoste rangeschrieben ob es irgend eine einschränkung mit fopen gibt.

Gruss

Olli4
Mit Zitat antworten
  #12 (permalink)  
Alt 01-05-2008, 17:03
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

file_get_contents probiert? Kann dein Server überhaupt Domainnamen auflösen? Will die Datei evtl. einen ordentlichen User-Agent? Warum nimmst du nicht cURL für sowas, wie es sich gehört? Wieso unterdrückst du Fehlermeldungen und heulst dann rum, dass keine Fehler kommen?

Und ich hab noch so viele Fragen, die du dir eigentlich hättest vorher selber stellen müssen!
Mit Zitat antworten
  #13 (permalink)  
Alt 01-05-2008, 17:10
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von unset
file_get_contents probiert? Kann dein Server überhaupt Domainnamen auflösen? Will die Datei evtl. einen ordentlichen User-Agent? Warum nimmst du nicht cURL für sowas, wie es sich gehört? Wieso unterdrückst du Fehlermeldungen und heulst dann rum, dass keine Fehler kommen?

Und ich hab noch so viele Fragen, die du dir eigentlich hättest vorher selber stellen müssen!
Habe ich Probiert. Wie gesagt nur mit fopen gibt es das Problem. Es ist mir auch möglich abzuändern wo ich auch ahbe. mich nimmt es einzig und alleine noch wunder warum es nicht geht mit fopen. Warum er sobald eine URL angegeben ist endlos läd.

Fehlermeldungen werden unterdrückt? Was gibt es denn mehr als
error_reporting(E_ALL);
ini_set("display_errors", ON);
mehr ist mir nicht bekannt sorry.

Ob er Domainnamen auflösen kann weiss ich nichit genau. Wie kann ich das sehen?

Danke schonmal.

Gruss

Olli
Mit Zitat antworten
  #14 (permalink)  
Alt 01-05-2008, 17:11
Blackgreetz
 PHP Junior
Links : Onlinestatus : Blackgreetz ist offline
Registriert seit: Oct 2005
Beiträge: 901
Blackgreetz ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Olli4

Fehlermeldungen werden unterdrückt? Was gibt es denn mehr als
error_reporting(E_ALL);
ini_set("display_errors", ON);
mehr ist mir nicht bekannt sorry.
Er meint die @-zeichen in deinem Ausgangscode.
Wenn du diese wegnimmst, dann wäre es sinnvoller, nochmals deinen Code zu posten, weil sich die Ausgangsbedingungen geändert haben

mfg
Mit Zitat antworten
  #15 (permalink)  
Alt 01-05-2008, 17:19
Olli4
 Registrierter Benutzer
Links : Onlinestatus : Olli4 ist offline
Registriert seit: Mar 2008
Beiträge: 112
Olli4 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Blackgreetz
Er meint die @-zeichen in deinem Ausgangscode.
Wenn du diese wegnimmst, dann wäre es sinnvoller, nochmals deinen Code zu posten, weil sich die Ausgangsbedingungen geändert haben

mfg
Hi

Ach so danke. Mein Code den ich zum testen habe ist nur dieser:
PHP-Code:
error_reporting(E_ALL); 
ini_set("display_errors"ON);
$TestAusl fopen ("http://www.server1.tld/test.txt""r"); 
Nochmals zum erklären mit 2 servern. server1 und server2, wobei server1 der ist wo probleme macht
Wenn ich den obengenannten Code auf server 1 ausführe, läd er endlos und bricht ab.
Wenn ich diesen Code auf Server 2 ausführe geht es Problemlos ausser eben wegen dem ON in ini_set.

Wenn ich jedoch die Datei test.txt auf server2 packe, geht es von beiden servern.

Wie gesagt ich kann es nun auch ändern das es für mich klappt. Es Interessiert mich einfach warum dies so ist um es eventuell besser verstehen zu können.

Gruss

Olli4
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:06 Uhr.