Cronjob.php neemt geen zelf gemaakte catogerieën mee

Status
Niet open voor verdere reacties.

fwdb

Gebruiker
Lid geworden
1 feb 2016
Berichten
51
Wie kan mij helpen?

Ik heb 2 jaar geleden een affiliate script gekocht en heb er toen niet veel mee gedaan.
Nu ben ik met het script bezig maar ik heb er echter één probleempje mee.
Als de feeds ´s nachts opnieuw ingelezen worden verdwijnen alle zelfgemaakte categorieën en ziet de site er niet meer uit.
Is dit alleen cronjob.php die dit kan veroorzaken of zijn er ook nog andere .php files die hier voor zorgen.

Ik heb hierover ook gemaild naar de maker van het script maar, die geven niet meer thuis, het script is ook nergens meer te koop dus hoop ik dat hier iemand mij kan helpen.

Graag hoor ik van jullie.

Fred
 
laat eens iets zien
Productnaam cms naam.
code?? en is het wel niet oo?
wil je betalen dan zoek ik rap iemand in uw buurt?
 
Het gaat om het script " CSV-Webshop " en ik heb het geïnstalleerd op fwdb.nl
Wat bedoel je precies met " code?? en is het wel niet oo? "
Ik ben wel bereid om er voor te betalen, maar aan hoeveel zou ik dan moeten denken?

Fred
 
als ik de fout moet zien zonder code lijkt het moeilijk

let op er bestaat ook iets als backup van de database en de backup terugplaatsen als er dan al iets is gewijzigd

betalen hier is alles gratis
maar als je wil betalen moet je weten welk cms je hebt of als het maatwerk was.
je rekent annalise indien oo veel korter zal zijn als is het code files van meer of 300 lijnen Bij mij zijn de afzondererlijke bloken nooit groter dan 50 lijnen en hierdoor vindt je sneller de fouten.Prijzen kan je hier nog niet zien maar mogelijks plaatst het systeem een sql file terug op de database zodat crime zeer moeilijk wordt.
 
Laatst bewerkt:
Hierbij de code van cronjob.php

-------------------------------------------------------------------------------------------------------------------------------------------

<?php
include 'config.php';
include 'function.php';

$q = mysql_query("SELECT * FROM feed WHERE cronjobtime!=0 AND cronjobtime>3599");
while($result = mysql_fetch_array($q))
{
$stt = strtotime($result[cronos]);
$total = $stt + $result[cronjobtime];

if($total < time())
{
//remove all items out content from $result['id'] feed table
mysql_query("delete from brand_color where name in (select distinct(brand) from content where feed_id='".$result['id']."')");
mysql_query("delete from brand_color where name in (select distinct(color) from content where feed_id='".$result['id']."')");
mysql_query("delete from content where feed_id='".$result['id']."'");
mysql_query("delete from term where term_id NOT in (select distinct(cat) from content) AND term_id NOT IN (select distinct(subcat) from content) AND term_id NOT IN (select distinct(subsubcat) from content)");

//reload items from feed
mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='".$result['id']."';");
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");
}
}

?>

-----------------------------------------------------------------------------------------------------------------------------------------------

Ik hoop dat je hier iets mee kan.

Fred
 
voor wat ik kan zien lijkt me dit script te tijd van cronjob bij te houden en indien deze te groter is zal uitvoeren
$q = mysql_query("SELECT * FROM feed WHERE cronjobtime!=0 AND cronjobtime>3599");

dit bestand moet je wel aanroepen met cronloader op je domein indien het geen fouten bevat.

wat die parser.php doet moet je ook bekijken.
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");

PHP:
<?php
include 'config.php';
include 'function.php';
$q = mysql_query("SELECT * FROM feed WHERE cronjobtime!=0 AND cronjobtime>3599");
while ($result = mysql_fetch_array($q)) {
    $stt = strtotime($result[cronos]);
    $total = $stt + $result[cronjobtime];
    if ($total < time()) {
        //remove all items out content from $result['id'] feed table
        mysql_query("delete from brand_color where name in (select distinct(brand) from content where feed_id='".$result['id'] . "')");
        mysql_query("delete from brand_color where name in (select distinct(color) from content where feed_id='".$result['id'] . "')");
        mysql_query("delete from content where feed_id='" . $result['id'] . "'");
        mysql_query("delete from term where term_id NOT in (select distinct(cat) from content) ".
        " AND term_id NOT IN (select distinct(subcat) from content) ".
        " AND term_id NOT IN (select distinct(subsubcat) from content)");
        //reload items from feed hier worden de crons herladen
        mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='" . $result['id'] ."';");
        header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");
    }
}
?>
 
Ok? die tijd van de cronjob bijhouden zou dat iets te maken kunnen hebben met het gedeelte wat ik in de admin in kan vullen

Feed name Refesh time (sec) 0=no cronjob
naam v/d feed hier kan ik dan een tijd van 0 tot 3599 invullen

dit stukje staat er in de bijgesloten gebruiksaanwijzing over de cronjob

Cronjob instellen via directadmin:

In menu zit een extra tab achter de admin.php na inlog. Hierin kun je instellen hoe vaak je de cronjob wil laten runnen (om zo te voorkomen dat mensen op je cronjob.php file gaan spammen en je site offline trekken). Minimaal 3600 seconden en 0 seconden betekend dat de cronjob niet draait (vanzelfsprekend).
/controller/cronjob.php instellen zodat deze elke minuut draait.
Voorbeeld:
*/1 * * * * /usr/bin/wget -O /dev/null http://www.url.nl/controller/cronjob.php





Maar ik heb zo goed als geen verstand van PHP, waar kan ik die cronloader vinden?

en hoe of wat moet ik bekijken wat die parser doet.

Fred
 
Cronloader ken ik ook niet. Maar cronjobs kan je vaak in webhosting-controlpanels (Plesk, DirectAdmin etc..) wel instellen.
 
Cronjobs instellen in Direct Admin is gedaan en werkt. Maar de cronjob wordt niet goed uitgevoerd. Na ieder cronjob zijn alle zelfgemaakte categorieën verdwenen en is de site niet meer om aan te zien alles staat door elkaar.

Fred
 
Welke query uit de cronjob is de boosdoener? Kan je die isoleren?
 
Geen idee welke query het niet doet? hoe/waar kan ik dat controleren
 
dit is via commandline of ssh uit te voeren
*/1 * * * * /usr/bin/wget -O /dev/null http://www.url.nl/controller/cronjob.php

in vele gevallen heb je directadmin of cpanel ect ...
heb je die niet ter beschikking dan heb je een while loop die blijft draaien met commando die() en sleep(interval)
now()en dan enkele variabelen om te controleren of er 1min 1uur 1dag voorbij is let op deze met elke herstart van apache weer geladen worden.
 
Testen door ze tijdelijk even per stuk te deactiveren.
 
Dit is goed ingesteld bij direct admin

Naamloos.png

Als de cronjob.php via directadmin wordt uitgevoerd dan leest die niet de zelfgemaakte categorieën in.
Ik heb er maar één regel ingevuld staan bij directadmin
 
Laatst bewerkt:
Er is dus naar mijn idee één querie die de boosdoener is. Achterhaal eens welke dat is. Gewoon met het uittesten en door steeds een query te deactiveren.
 
Uhhh ???? met een query bedoel je dus niet die regel die ik in directadmin heb ingevuld?
Met een query bedoel je??
zo goed ben ik niet thuis in programmeertaal. Ik weet één query te vinden en die staat ergens als tabblad bij "phpMyAdmin' of zit ik nou helemaal fout
 
Dat is een command.
Ik bedoel de mysql_query(....) in je code.
 
Aha! Dit ga ik uitproberen.
Kom hier zo snel mogelijk op terug als ik het resultaat weet.
Alvast bedankt
 
Hier de uitslag van de test die ik heb gedaan met de mysql_query ( beetje laat maar lag een paar dagen met griep op bed)
Er zit dus ergens iets fout maar waar? wie weet een oplossing

----------------------------------------------------------------------------------------------------------------------------------------------
Bij deze mysql_query test: is merk en de artikelen en de categorie verdwenen vd site en wordt feed * merk * niet opnieuw ingeladen

//remove all items out content from $result['id'] feed table
mysql_query("delete from brand_color where name in (select distinct(brand) from content where feed_id='".$result['id']."')");

//reload items from feed
mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='".$result['id']."';");
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");
-------------------------------------------------------------------------------------------------------------------------------------------------
Bij deze mysql_query test: is de kleur vd site en de artikelen en de categorie verdwenen en wordt feed * kleur *niet opnieuw ingeladen

//remove all items out content from $result['id'] feed table
mysql_query("delete from brand_color where name in (select distinct(color) from content where feed_id='".$result['id']."')");

//reload items from feed
mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='".$result['id']."';");
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");
---------------------------------------------------------------------------------------------------------------------------------------------------
Bij deze mysql_query test: is er niets verdwenen vd site (artikel en categorie zijn wel blijven staan) en wordt feed niet opnieuw ingeladen/vernieuwd

//remove all items out content from $result['id'] feed table
mysql_query("delete from term where term_id NOT in (select distinct(cat) from content) AND term_id NOT IN (select distinct(subcat) from content) AND term_id NOT IN (select distinct(subsubcat) from content)");

//reload items from feed
mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='".$result['id']."';");
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined");
----------------------------------------------------------------------------------------------------------------------------------------------------
Bij deze mysql_query test: is er niets verdwenen vd site (artikel en categorie zijn wel blijven staan) en wordt feed niet opnieuw ingeladen/vernieuwd

//remove all items out content from $result['id'] feed table
mysql_query("delete from content where feed_id='" . $result['id'] . "'");

//reload items from feed
mysql_query("UPDATE `feed` SET `cronos` = NOW() WHERE `id` ='".$result['id']."';");
header("Location: parser.php?proc=yes&id=$result[id]&val=rel&name=gavetas&content=undefined")
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan