Toon posts:

Probleem php, uitlezen van bestanden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een script gemaakt voor het uitlezen van webalizer.hist bestanden om van alle domeinnamen het aantal verbruikte GB per maand te kunnen zien op 1 pagina.

Het maakt gebruik van mysql database met daarin de velden:
idnr, url, pakket

Er draaien 2 servers met daarin allebei de zelfde database en tabel, alleen de records zijn dus anders.

Het probleem is dus dat op server 1 het perfect werkt, maar op server 2 de volgende foutmelding krijg:
Warning: file("http://www.domeinnaam.nl/usage/webalizer.hist") - Success in /www/server2.firstfind.nl/public_html/webstats/webstats2.php on line 34

Iemand enig idee wat het probleem bij server 2 kan zijn? Misschien een instelling in php?

Ik dacht zelf eerst aan "allow_url_fopen" maar deze staat gewoon op enabled.

regel 34 is de volgende regel:
PHP:
1
<?      if (!$rawentries = file($fname)) { ?>

Hieronder code waar het om gaat:
PHP:
1
<?function read_hist($fname) {       if (!$rawentries = file($fname)) {            return 0;       }       $x = 0;      foreach($rawentries as $entry) {             $raw_entry = explode(" ", $entry);            if ($raw_entry[1] == "2002") {            $x = $raw_entry[0];            $entries[$x]["data"]  = $raw_entry[5];            }      }        return $entries; } $dlimits = array( 'start'=>0.75, 'lite'=>3, 'lite+'=>4, 'basic'=>5, 'basic+'=>6, 'pro'=>10, 'pro+'=>20, 'extreme'=>25, 'custom'=>250);$sql = mysql_query("SELECT * FROM webstats ORDER BY URL");    while($row = mysql_fetch_object($sql))    {     if (!$hist = read_hist('http://www.' .$row->url. '/usage/webalizer.hist')) /* Functie read_hist() uitvoeren op $hostname */         {            echo "D'r ging iets mis...";            echo  $row->url .= "<b>&amp;nbsp;Gaat niet goed</b>";         }            $pklimit = $dlimits[strtolower($row->pakket)];            /* Start nieuwe tabelrij, etc... */            echo '<tr>            <td width="">' .ucfirst($row->url). '</td>            <td>'.ucfirst($row->pakket).'</td>';                 for ($i=1; $i<=12; $i++)                     {                       echo '<td width="10">';                          if (!empty($hist[$i]["data"]))                     {                     $datagb = sprintf("%.2f", $hist[$i]["data"]/1024/1024);  /* Data in GB's, in juiste format zetten. */                       }                         else                         {                         $datagb = '&amp;nbsp;-';                           }                               if ($datagb >= $pklimit)                               {                             echo '<font color="#FF0000">' . $datagb . "</font>";   /* >1 Gig. rood kleuren */                               }                                   else                                 {                                 echo "$datagb";      /* en anders gewoon zonder kleurtje. */                                   }                                       echo "</td>\n";                     }    }?>

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

= != ==

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Het inlezen van een logbestand (dat heet niet voor niets log bestand) is typisch iets dat je niet met een array wilt doen.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Topicstarter
dusty.. misschien vreemd.. maar je antwoord bedoel je daar ook echt iets mee?

en op server1 gaat het perfect..
en webalizer.hist ziet er redelijk simpel uit:

1 2002 431476 185439 1355 526357 1 31 30004 2089
2 2002 1171168 546884 54542 2616494 1 28 51138 6101
3 2002 1964182 874265 112855 4622623 1 31 48141 8242
4 2002 402537 180658 21799 850085 22 30 6495 1560
5 2002 1438645 654154 66174 3096397 1 29 27678 6565
12 2001 44654 12653 74 89512 6 31 8924 271

Verwijderd

Topicstarter
hmm.. dat wou dus niet.. ff testen hoe je die code in kleurtjes krijgt..

  • Ignoramus
  • Registratie: December 2001
  • Laatst online: 04-09 14:35
Op woensdag 29 mei 2002 00:23 schreef qmaster het volgende:
dusty.. misschien vreemd.. maar je antwoord bedoel je daar ook echt iets mee?
'=' is geen '=='

Bij IT-ers gaat alles automatisch, maar niets vanzelf Workstation Server


  • blackd
  • Registratie: Februari 2001
  • Niet online
Op woensdag 29 mei 2002 00:25 schreef qmaster het volgende:
hmm.. dat wou dus niet.. ff testen hoe je die code in kleurtjes krijgt..
met [PHP ] en [ /PHP]
(zonder spaties)

9000Wp o/w SolarEdge SE6K - Panasonic 5kW bi-bloc - gasloos sinds 17-7-2023


Verwijderd

Topicstarter
als ik van die = een == maak.. krijg ik alleen maar meer foutmeldingen...

Warning: Invalid argument supplied for foreach() in /www/server2.firstfind.nl/public_html/webstats/webstats2.php on line 39

line 39 is:
PHP:
1
<?      foreach($rawentries as $entry) { ?>

Het probleem zit volgens mij ook in een instelling ergens, want ik gebruik dezelfde code op server1 waar die wel goed werkt.

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Maak van die regel 34
PHP:
1
<?      if (!$rawentries = file($fname)) { ?>

eens
PHP:
1
<?      if (!($rawentries = file($fname))) { ?>

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Verwijderd

Topicstarter
Heeft geen zin.. precies dezelfde foutmelding.

Wel zijn de php versies anders:

Server 1: 4.1.2 (werkt wel)
Server 2: 4.1.0 (werkt niet)

Hmm.. ik dacht dat het juist andersom was.. zou dit het probleem kunnen geven?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Owkay 4.2.0 werkt niet en 4.1.2 wel. Laten we even in de changelog kijken dan

Eerste regel
Version 4.2.0
22-Apr-2002
ATTENTION!! register_globals defaults to 'off' now !!!
Heb je hier op gelet? Welke variabele komen van 'buitenaf' en benader je die dan ook met $_POST, $_GET enz?

Is het dat niet, kijk dan nog ff hier http://www.php.net/ChangeLog-4.php

Verwijderd

Topicstarter
Waar die niet op werkt is 4.1.0 en geen 4.2.0.. Dus dat zal niks moeten uitmaken.. had ook al ff in de changelog zitten kijken... maar kan er weinig over vinden.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op woensdag 29 mei 2002 09:35 schreef qmaster het volgende:
Waar die niet op werkt is 4.1.0 en geen 4.2.0.. Dus dat zal niks moeten uitmaken.. had ook al ff in de changelog zitten kijken... maar kan er weinig over vinden.
Dan moet je het hierboven niet andersom vermelden :+
Wat is het nou!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

beetje manual bladeren, met google op php.net zoeken, wat usernotes bekeken en voila:
Warning: [URL] - Success means the server responded something like "forbidden" or "page not found" (403).
maw.. die .hist staat zeker achter een authorization .htaccess-je oid :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Nee dat is het ook niet.... maar ik weet al wat het wel is... ik ben een ongelooflijke eikel...
Het domeinnaam dat ik dacht dat bij server2 draaide draaid helemaal niet bij ons... vandaar dat ie het niet doet...

Kan me zelf wel voor de kop slaan.... Ieder geval heeel erg bedankt all.

  • tomato
  • Registratie: November 1999
  • Niet online
Op woensdag 29 mei 2002 11:56 schreef qmaster het volgende:
Nee dat is het ook niet.... maar ik weet al wat het wel is... ik ben een ongelooflijke eikel...
Het domeinnaam dat ik dacht dat bij server2 draaide draaid helemaal niet bij ons... vandaar dat ie het niet doet...

Kan me zelf wel voor de kop slaan.... Ieder geval heeel erg bedankt all.
"page not found" dus...

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 07-08 19:18

killercow

eth0

je krijgt deze error ook als je een pagina op een server probeert te openen die door middel van dns meerdere domeinen en host acounts op een ip heeft staan.
bijvoorbeeld bij virtual hosting oplossingen zoals plesk.

openkat.nl al gezien?


Verwijderd

Topicstarter
"page not found" dus...
Soort van.. alleen wat het probleem was dat die domein ook heel toevallig webalizer draaide en daarom dacht dat die op onze server draaide... en de foutmelding was ook beetje vreemd.
Pagina: 1