PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei Interface



FloMK
27.11.2009, 23:14
Hey,

ich habe mir bei werbe-meister.com das vms 1.2 interface heruntergeladen.
Der Cron lässt sich aus irgendeinem Grunde nicht ausführen. Meine Werbemeisterdaten sind korrekt


<?

require_once ('lib/functions.lib.php');
db_connect();

$interfacedaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_interface WHERE interface = 'werbemeister'"));

db_query("UPDATE ".$db_prefix."_gebuchte_werbung SET status='0' WHERE sponsor='werbemeister' and werbeart='forcedbanner' and status='1'");

$fb=fopen("http://www.werbemeister.de/int/get.php?art=forcedbanner&uid=".$interfacedaten['betreiber']."&pw=".$interfacedaten['pass']."&sid=".$interfacedaten['seite']."&verguetung=".$interfacedaten['mindestverguetung']."&reload=240&uebrig=".$interfacedaten['restklicks']."&ma=".$interfacedaten['aufendhalt']."","r");
if($fb){
while($line=fgets($fb,1000)){
$file1.=$line;
}
fclose($fb);
}
$code = explode("|", $file1);
$tl_count = (count($code)/6)-1;
$bid_lesen = 0;

for ($tl_anz=0;$tl_anz <= $tl_count;$tl_anz++) {
$int_ziel = "http://www.werbemeister.de/kamp/ziel.php?uid=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&sid=".$interfacedaten['seite']."";
$int_banner = "http://www.werbemeister.de/kamp/b_view.php?uid=".$interfacedaten['betreiber']."&bid=".$code[$bid_lesen]."&sid=".$interfacedaten['seite']."";
$int_menge = $code[$bid_lesen+2];
$int_kid = $code[$bid_lesen];
$int_reload = $code[$bid_lesen+3]*3600;
$int_verdienst = ($code[$bid_lesen+4]*$interfacedaten['umrechnung']) - (($code[$bid_lesen+4]*$interfacedaten['umrechnung']) / 100 * $interfacedaten['eigenverdienst']);
$int_ma = $code[$bid_lesen+5]+4;
$int_tan = create_code(32);
$ext_verguetung = $code[$bid_lesen+4];

$bid_lesen = $bid_lesen+6;

$int_menge1 = round($int_menge/$interfacedaten['restklicks']);
if ($ext_verguetung >= $interfacedaten['mindestverguetung'] and $int_menge1 > 1) {
$forcedbanner_check = db_query ("SELECT * FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'werbemeister' and kid = '".$int_kid."'");
if (!mysql_num_rows($forcedbanner_check)) {
db_query ("INSERT INTO ".$db_prefix."_gebuchte_werbung (tan,kid,ziel,banner,preis,verdienst,aufendhalt,me nge,reload,sponsor,werbeart) VALUES ('".$int_tan."','".$int_kid."','".$int_ziel."','".$int_banner."','".$int_preis."','".$int_verdienst."','".$int_ma."','".$int_menge."','".$int_reload."','werbemeister','forcedbanner')");
}
else {
db_query ("UPDATE ".$db_prefix."_gebuchte_werbung SET status = '1',menge = '".$int_menge."',preis = '".$int_preis."',verdienst = '".$int_verdienst."', aufendhalt = '".$int_ma."' WHERE sponsor = 'werbemeister' and kid = '".$int_kid."' and status = '0'");
}
}
}

db_query ("DELETE FROM ".$db_prefix."_gebuchte_werbung WHERE sponsor = 'werbemeister' and status = '0'");

?>




Fehler:


Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /var/www/web4/html/neu/cron.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web4/html/neu/cron.php:2) in /var/www/web4/html/neu/lib/functions.lib.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web4/html/neu/cron.php:2) in /var/www/web4/html/neu/lib/functions.lib.php on line 6

Warning: fopen(http://www.werbemeister.de/int/get.php?art=forcedbanner&uid=geändert&pw=geändert&sid=geändert&verguetung=0.000000&reload=240&uebrig=0&ma=0) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/web4/html/neu/crons/werbemeister.php on line 10
Cron gelaufen


LG FloMK

jpwfour
27.11.2009, 23:43
Oha.

a) scheint das kein Cron fürs VMS 1.2 zu sein, sondern ein "alter" fürs 1.1 (dazu gibt es schon massig Threads)

b) die Fehlermeldung sollte aber dann auch bei allen Crons kommen:

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /var/www/web4/html/neu/cron.php on line 2

Die wird in der (zentralen) cron.php ausgelöst, da dein Webspace PHP den sg. "Safe mode" wohl aktiviert hat.

Di nächsten 2 sind "Folgefehler", der 4. dann "404" sagt aus, dass die URL des Sponsors wohl nicht mehr erreichbar ist.

Fragen:

Bist du dir sicher, dass das IF für VMS 1.2 ist?

Da der Sponsor IFs anbietet mit ungültigen/veralteten URLs , bist du dir sicher, diesen Sponsor einbauen zu wollen?

Kannst du den safe mode auf OFF schalten lassenbei deinem Hoster?

FloMK
28.11.2009, 10:58
in der rar datei waren zwei ordner. einmal der fürs vms 1.1 und einmal 1.2.

safe mode ist doch egal. ich meine das funzt bei mir in der regel auch wenn der aktiviert ist.

Wenn das Netzwerk das nicht auf die Reihe kriegt gescheite interfaces einzurichten, baue ich den wohl auch nicht ein.

Vielen Dank jpwfour..

LG

jpwfour
28.11.2009, 13:32
naja ich find den safe mode nicht gut, aber egal.

Kannst die Zeile set_time_limit() einfach rauslöschen oder ein @ davorsetzen.

breaker
28.11.2009, 13:54
Im Safemode kann man kein time_limit setzen, deshalb wäre eine Abfrage auf Safemode das beste ;)


/**
* php.ini patchen
*/
if(!ini_get('safe_mode'))
{
@set_time_limit(300);
}Davon abgesehen, hast du dir mit Safemode nicht wirklich geholfen, du kannst den kompletten Server genauso sicher und gut konfigurieren, wenn safe_mode deaktiviert ist, hast danach aber nicht solche Probleme wie jetzt ;)

Falls due unbedingt Safemode beibehalten willst, kannst du das time-limit auch in der php.ini etwas höher setzen

jpwfour
28.11.2009, 17:12
...

PHPCODE ...


ini_get('safe_mode')

kann auch on/off zurückliefern, indem fall wertet der Ausdruck immer zu "true" aus! :suspicious:

breaker
28.11.2009, 17:37
ini_get('safe_mode')kann auch on/off zurückliefern, indem fall wertet der Ausdruck immer zu "true" aus! :suspicious:

Nicht wirklich ;)

Es wird ja per "ini_get" geprüft ob "safe_mode" ein oder ausgeschaltet ist...wenn es ausgeschaltet ist, ist "!ini_get('safe_mode') erfüllt und das time-limit kann gesetzt werden, wenn es eingeschaltet ist, wird die bedingung nicht erfüllt, es wird also auch nicht versucht, das Time-Limit zu ändern ;)

FloMK
28.11.2009, 19:58
das ist nur der probespace. hinterher buche ich besseren, aber das dauert eh nochn

LG

jpwfour
29.11.2009, 12:51
Nicht wirklich ;)

...

Wenn dir aber ini_get on bzw. off als String zurückliefert?


if(!ini_get('safe_mode'))der ! Operator in PHP testet zwar nicht nur auf "false", sondern auch 0 /NULL usw. aber afaik noch nicht auf den String "off".

Sprich in dem Fall wertet der Ausdruck, egal ob der safe_mode nun auf On oder off steht, immer zu "false" aus.

Sprich besser/richtig wärs so:

if(!ini_get('safe_mode') || strtolower(ini_get('safe_mode'))=='off')

breaker
02.12.2009, 01:33
Wenn dir aber ini_get on bzw. off als String zurückliefert?


if(!ini_get('safe_mode'))der ! Operator in PHP testet zwar nicht nur auf "false", sondern auch 0 /NULL usw. aber afaik noch nicht auf den String "off".

Sprich in dem Fall wertet der Ausdruck, egal ob der safe_mode nun auf On oder off steht, immer zu "false" aus.

Sprich besser/richtig wärs so:

if(!ini_get('safe_mode') || strtolower(ini_get('safe_mode'))=='off')





Returns the value of the configuration option as a string on success, or an empty string on failure or for null values.

Demnach sollte es auf jedem Server so laufen ;)

PHP-Manuall ist hier: http://php.net/manual/de/function.ini-get.php

jpwfour
02.12.2009, 12:07
lol, da fällt mir auch nichts mehr zu ein, sofern du meintest, deine Methode läuft auf jedem Server, und genau den Absatz zitierst, denn ich für meine Zweifel herangezogen habe, da dort steht, dass der Wert als String (also bspw. auch "On/Off", was aber bei deinem Code beides zu true auswertet) zurückgeliefert werden kann :frusty: :der:

breaker
02.12.2009, 17:09
Es gibt doch kein "Off", es gibt doch nur "true" (ist Wahr) oder ein leeren String (ist nicht Wahr) als return-wert....

Ein Var-Dump des Rückgabewertes (bei abgeschalteten Safe_mode) ergibt bei mir:

string(0) ""

jpwfour
02.12.2009, 20:58
Das hängt davon ab, welche PHP Version genau verwendet wird, in welchem Modus, auf welchem OS, und wo genau die Konfig-Werte jeweils überschrieben werden.

Man muss damit rechnen, dass als String auch "off" ausgegeben wird.

Rechnet man damit nicht, schreibt ein Script, was sich drauf verlässt, dass deaktivierte Flags zu false auswerten, und bekommt dann zu hören, dass es bei anderen Leuten nicht korrekt funktioniert, weiß man, warum man diesen Fall auch hätte behandeln sollen :wink: