Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »
Wouter Hardeman

Wouter Hardeman

15/06/2011 21:39:41
Quote Anchor link
Goedenavond,

Ik heb een (zwaar) script gemaakt die 4000+ YouTube video's moet scannen en in een database stoppen. M'n probleem is nu het memory limit.

Quote:
Fatal error: Allowed memory size of 209715200 bytes exhausted (tried to allocate 47 bytes) in C:\xampp\htdocs\gamerspawnfeed\Zend\Gdata\App\Base.php on line 380


Ik heb php.ini al aangepast naar 8196M, maar dit lijkt niet te werken... Heeft iemand een oplossing?

Alvast bedankt!
 
PHP hulp

PHP hulp

19/05/2024 09:03:01
 
Pieter van Linschoten

Pieter van Linschoten

15/06/2011 21:45:50
Quote Anchor link
Hahaha, als je server meer dan 8 GB intern geheugen heeft, zou het geen probleem moeten zijn.

Je kan er voor zorgen dat je het geheugen zo optimaal mogelijk gebruikt.
Dit doe je door zo efficient mogelijk je processen af te handelen.

Verder kun je natuurlijk in één keer proberen alle 8,000 filmpjes te scannen, maar je kan het ook verdelen in parten van bijvoorbeeld 100 stuks. Je laat het script bijhouden welke filmpjes je al hebt gehad.

Laat een cronjob het script aanroepen en verder gaan bij het laatste filmpje.
 
Wouter Hardeman

Wouter Hardeman

15/06/2011 22:05:12
Quote Anchor link
Ik dacht echt dat 16GB genoeg moest zijn voor m'n server... :/

Tevens heb ik al geprobeerd om variables te unsetten, maar zonder succes. Ik krijg een error wanneer ik objects (YouTube API werkt met objects) in een session probeer te zetten. Ook met serialize()
Gewijzigd op 15/06/2011 22:11:42 door Wouter Hardeman
 
Jelmer -

Jelmer -

15/06/2011 22:29:35
Quote Anchor link
Zou je wat code kunnen posten? Niet alles, maar ongeveer dat waarin globaal staat wat je doet (het ophalen, het verwerken, het opslaan)

Ik denk dat je daar een heleboel kan verbeteren, want in principe heb je hiervoor amper geheugen nodig: gewoon één filmpje per keer verwerken, dan hoef je altijd maar data voor één filmpje in het geheugen te houden. En aangezien PHP toch niet threaded is en ik niet aanneem dat je ingewikkelde dingen met curl aan het doen bent, denk ik dat dat prima mogelijk is.
 
Wouter Hardeman

Wouter Hardeman

15/06/2011 23:07:39
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function printEntireFeed($videoFeed, $counter) {
    mysql_connect("", "", "");
    mysql_select_db("");
 foreach($videoFeed as $videoEntry) {
     $videoThumbnails = $videoEntry->getVideoThumbnails();
     foreach($videoThumbnails as $videoThumbnail) {
        $thumbnails[] = $videoThumbnail['url'];
     }
     $query = "INSERT INTO videos (video_id, title, added, updated, private, description, tags, category, viewcount, rating, watch_page_url, flash_url, mobile_rtsp_url, thumbnails) VALUES ('" . $videoEntry->getVideoId() ."', '" . addslashes($videoEntry->getVideoTitle()) . "', '" . $videoEntry->getPublished() . "', '" . $videoEntry->getUpdated() . "', '" . $videoEntry->isVideoPrivate() . "', '" . addslashes($videoEntry->getVideoDescription()) . "', '" . addslashes(implode(", ", $videoEntry->getVideoTags())) . "', '" . $videoEntry->getVideoCategory() . "', '" . $videoEntry->getVideoViewCount() . "', '" . serialize($videoEntry->getVideoRatingInfo()) . "', '" . $videoEntry->getVideoWatchPageUrl() . "', '" . $videoEntry->getFlashPlayerUrl() . "', '" . addslashes(serialize($videoEntry->mediaGroup->content)) . "', '" . serialize($thumbnails) . "')";
     mysql_query($query) or die($query . "<br />" . mysql_error());
     echo $counter . "<br />";
     $counter++;
     unset($videoEntry);
 }

 // See whether we have another set of results
 try {
   $newVideoFeed = $videoFeed->getNextFeed();
   unset($videoFeed);
 } catch (Zend_Gdata_App_Exception $e) {
   echo $e->getMessage() . "<br />\n";
   if($e->getMessage() == "No link to next set of results found.") {
        return;
   } else {
        printEntireFeed($newVideoFeed, $counter);
   }
 }

 if ($newVideoFeed) {
   echo "-- next set of results --<br />\n";
   printEntireFeed($newVideoFeed, $counter);
 }
}


Als iemand weet hoe ik dat kan optimaliseren, hoor ik het graag. :)
Gewijzigd op 15/06/2011 23:10:23 door Wouter Hardeman
 

15/06/2011 23:13:41
Quote Anchor link
Zou je misschien eerst niet een beetje leren over ZEND enzo (dat gebruik je?). Je hoeft niet iedere keer opnieuw te connecten met je database. Verder heb je ook geen foutafhandeling op je database (nee, 'or die' is geen foutafhandeling).
 
Wouter Hardeman

Wouter Hardeman

15/06/2011 23:19:10
Quote Anchor link
Nee, ik gebruik de Google Data APIs. Ik gebruik het framework verder niet. http://framework.zend.com/download/gdata

Verder is het geen openbaar script en hoeft de error niet afgehandeld te worden.
 
Jelmer -

Jelmer -

15/06/2011 23:30:34
Quote Anchor link
Als prolog fan vind ik recursie prachtig, maar ik zou het niet gebruiken in PHP: grote kans dat hij variabelen pas vrij geeft aan het eind van een functie, en dat is in pure recursie pas aan het eind het geval. (prolog en andere talen die ervoor gemaakt zijn optimaliseren dat automatisch)

Dus gewoon een while lus. En escape alles! Ook dat wat uit Google's API komt. Niet ervan uit gaan dat het wel veilig is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
// buiten de functie gehaald om er niet voor te zorden dat hij iedere keer
// er nog een verbinding bij maakt.

mysql_connect("", "", "");
mysql_select_db("");

function
escape_date($date)
{

    $time = strtotime($date);
    return date('Y-m-d H:i:s', $time);
}

function
escape_bool($bool)
{

    // Geen idee hoe jij bools in je database opslaat
    return $bool ? 'yes' : 'no';
}

function
import_feed($videoFeed)
{

    $videos_imported = 0;
    
    foreach($videoFeed as $videoEntry)
    {

        $videoThumbnails = $videoEntry->getVideoThumbnails();
        foreach($videoThumbnails as $videoThumbnail) {
            $thumbnails[] = $videoThumbnail['url'];
        }

         
        $query = "
            INSERT INTO videos (
                video_id,
                title,
                added,
                updated,
                private,
                description,
                tags,
                category,
                viewcount,
                rating,
                watch_page_url,
                flash_url,
                mobile_rtsp_url,
                thumbnails
            ) VALUES (
                '"
. mysql_real_escape_string($videoEntry->getVideoId()) ."',
                '"
. mysql_real_escape_string($videoEntry->getVideoTitle()) . "',
                '"
. escape_date($videoEntry->getPublished()) . "',
                '"
. escape_date($videoEntry->getUpdated()) . "',
                '"
. escape_bool($videoEntry->isVideoPrivate())  . "',
                '"
. mysql_real_escape_string($videoEntry->getVideoDescription()) . "',
                '"
. mysql_real_escape_string(implode(", ", $videoEntry->getVideoTags())) . "', -- is dit een goed idee?
                '"
. mysql_real_escape_string($videoEntry->getVideoCategory()) . "',
                "
  . intval($videoEntry->getVideoViewCount()) . ",
                '"
. mysql_real_escape_string(serialize($videoEntry->getVideoRatingInfo())) . "',
                '"
. mysql_real_escape_string($videoEntry->getVideoWatchPageUrl()) . "',
                '"
. mysql_real_escape_string($videoEntry->getFlashPlayerUrl()) . "',
                '"
. mysql_real_escape_string(serialize($videoEntry->mediaGroup->content)) . "',
                '"
. mysql_real_escape_string(serialize($thumbnails)) . "'
            )"
;
            
         if (!mysql_query($query))
        {

            echo mysql_error() . '<br><br><pre>' . $query . '</pre>';
            continue; // probeer volgende video
        }
        
        ++
$videos_imported;
    }

    
    return $videos_imported;
}

function
import_entire_feed($video_feed)
{

    $imported_videos = 0;
    
    while ($video_feed)
    {

        $imported_videos += import_feed($video_feed);
        // geeft NULL terug als er geen volgende feed is zegt de handleiding
        // en dan stopt de WHILE lus.

        $video_feed = $video_feed->getNextFeed();
    }

    
    return $imported_videos;
}


$imported_videos = import_entire_feed($feed);
printf('Imported %d videos', $imported_videos);
?>
 
Wouter Hardeman

Wouter Hardeman

16/06/2011 00:10:41
Quote Anchor link
Als eerste, bedankt! :D Het werkt perfect!

Dit is inderdaad een veel slimmere manier, veel van geleerd.

Maar wat bedoel je met: "is dit een goed idee?"?
 
Jelmer -

Jelmer -

16/06/2011 00:24:03
Quote Anchor link
Als je de categorieën met komma's scheidt kan je er niet zo makkelijk op koppelen als dat je een koppeltabel gebruikt: mysql one to many relation of [http://www.phphulp.nl/php/tutorial/overig/normaliseren/150/]Normaliseren[/url].
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.