Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

IT-traineeship Low Code Developer

Vind jij het leuk om veel contact te hebben met een klant en je te verdiepen in een domein? Lijkt het je interessant om enerzijds met de klant mee te denken, maar tegelijkertijd ook zelf een bijdrage te leveren aan de implementatie van een IT oplossing? Wij zijn op zoek naar starters die aan de slag willen als low-code engineer. In deze functie bouw je aan applicaties met behulp van een low-code platform, zoals Outsystems, Blueriq, Mendix of Pega. Dergelijke platformen stellen je in staat om snel een werkende applicatie te ontwikkelen en zijn hierdoor heel geschikt voor maatwerk projecten.

Bekijk vacature »

Skilled Support Engineer

Vacature: Skilled Support Engineer Locatie: Eindhoven Fulltime (40 uur) Salarisindicatie: marktconform (afhankelijk van kennis en ervaring) Per direct zijn wij binnen COM4 automatisering vanwege uitbreiding van onze dienstverlening op zoek naar een (Skilled) support engineer. Je werkplek Wij zijn een all-round partner voor ICT-dienstverlening voor MKB, met een klantgrootte van 25 tot 500 werkplekken. Met onze Managed IT Services bieden wij ondersteuning en zijn wij sparringspartner voor iedere organisatie, of er nu een eigen IT afdeling is of juist geen. Uw ICT is onze zorg, daar staan we voor en maken we ons hard voor richting onze klanten! De afdeling

Bekijk vacature »

Angular Developer

Dit is de rol Hi, mijn naam is Marielle en ik neem je graag mee door deze vacature van Angular Developer bij Boels in Sittard! Ben jij de persoon die zorgt voor een ultieme online klantbeleving? Zowel via desktop, mobile en app? Dan is deze vacature waarschijnlijk geschikt voor jou! Boels pitstop Zet jij het Digital Solutions Team van Boels in Sittard op scherp? Als Angular Developerbouw je aan intuïtieve, goed werkende en gebruiksvriendelijke webpagina’s en apps. Wat onze klanten online zien, dat maak jij. Een hele verantwoordelijkheid, die je gelukkig niet alleen hoeft te dragen. Samen met je collega’s

Bekijk vacature »

Back-End Developer PHP

Back-End Developer PHP7 (Laravel) We search for our client with an energetic, young and fast growing team a new pearl in Back End Dev to join their team in the centre of Amsterdam! The company is based on the newest technology, is funded by top-tier investors, delivers on an ambitious roadmap, and is supported by a talented team. We search for a full-time Back-End Developer to join our team in Amsterdam. We are looking for a pro-active, software developer with experience building large scale SaaS applications. You'll work autonomously, will ship multiple features a week, help determine the roadmap and

Bekijk vacature »

Workforce Time Management Solution Manager

Cargill JOB PURPOSE AND IMPACT The WTM Solution Manager will be the information technology solution owner sponsor for all global initiatives within the Workforce Time Management (WTM) portfolio. In this role, you will ensure proper governance and key stakeholders are engaged, providing solution oversight of scoping and delivery work and act as an equity partner to ensure delivery excellence. You will be responsible for building, sustaining and enhancing the solution capabilities, including driving modernization, standardization and differentiation where appropriate, achieving buy in for innovation and transformation investments, bringing the outside in and consulting with our functional leaders to develop meaningful

Bekijk vacature »

Fullstack .Net (Core)/C# Developer zet zich in voo

Voor een organisatie gespecialiseerd in het ontwikkelen van software voor dierenartspraktijken ben ik op zoek naar Fullstack .Net (Core)/ C# Developers. De organisatie, 15 jaar geleden opgericht heeft een internationale klantenkring met meer dan 10.000 praktijken. Er hangt een nuchtere en familiaire sfeer, waar je je snel in thuis zal voelen. In 3 Scrum teams wordt er gewerkt aan her/doorontwikkeling van de dierenartspraktijksoftware en aanverwante tools. Je focus ligt bij het design, programmeren, unit testen en deployen van van nieuwe functionaliteiten. Waarbij je voor 80% bezig bent in de backend en 20% in de frontend. Wat moet je kunnen? -

Bekijk vacature »

Software Developer / PHP

Bedrijfsomschrijving Voor een organisatie in regio Eindhoven zijn wij op zoek naar een Software Developer met goede kennis van PHP. Het gaat om een software bedrijf dat te omschrijven is als informeel en open. De mensen die er werken zijn enthousiast, willen graag goede kwaliteit neerzetten, nieuwe technieken worden omarmt en alles is zo ingericht dat nieuwe tools/technieken gemakkelijk geïntegreerd kunnen worden. De organisatie is erg technisch georiënteerd, men gaat echt voor software development en heeft passie voor het vak. Er wordt geïnvesteerd in medewerkers door bijvoorbeeld opleidingen, cursussen en echt tijd voor onderzoek en innoveren. Je krijgt al snel

Bekijk vacature »

Developer / Full Stack

Bedrijfsomschrijving Voor een technisch bedrijf in regio Den Bosch zijn wij op zoek naar een Software Developer. Het betreft een bedrijf dat IT oplossingen ontwikkelt voor hun klanten, bestaande uit ruim 50 medewerkers, verdeeld over verschillende teams. Het is een platte organisatie met een vlotte besluitvorming, een informele cultuur en veel passie voor het vak. Als Developer werk je samen in een development subteam dat bestaat uit ongeveer 7 personen. Je werkt samen met developers, business analisten en een projectleider. Samen werken jullie aan klantspecifieke oplossingen waarmee processen geautomatiseerd worden, processen met elkaar verbonden worden of waarmee het gebruik van

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Ook ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Erv.Software Ontwikkelaar voor slimme oplossingen

Dutch is mandatory for this position. Ervaren Software Ontwikkelaar voor slimme oplossingen binnen de Transport & Logistiek (C#.NET/Azure/65K/R’dam) Jij gaat samen met collega’s (complexe) logistieke vraagstukken oppakken, met als doel slimme software oplossingen te bedenken en te ontwikkelen. Een maaltijd box leverancier van Nederland was op zoek naar een oplossing om hun logistieke processen te optimaliseren en de klantervaring te verbeteren. Hiervoor is een app gebouwd die het hele distributie proces inzichtelijk maakt van magazijn tot bezorger, en van klantenservice tot aan klant. Je kan zien waar welke bezorger zich bevind, maar ook welke tempratuur de producten op dat moment

Bekijk vacature »

Developer DataPower & Message Queiuing

Bedrijfsomschrijving Je komt als DataPower developer te werken in de regio Deventer/Apeldoorn bij een van de meest complexe IT omgevingen van Nederland. De organisatie is constant in beweging en bezig met de nieuwste tools en technieken, het is een platform waar immers miljoenen (!) gebruikers van afhankelijk zijn. De organisatie werkt met grote hoeveelheden data, zij richten zich zowel op de B2B als B2C markten en zijn pionier binnen hun gebied van expertise. Je komt te werken in een team met de beste DataPower specialisten die Nederland kent. Je zal bezig zijn met het ontwerpen, bouwen en testen op het

Bekijk vacature »

Senior AWS Cloud Developer IoT Platform (NL)

Senior AWS Cloud Developer IoT Platform (NL) Den Haag HBO/WO IT Professional Om alle Unique Loading Devices (ULD's) in real-time te kunnen volgen, hebben we een IoT landschap gecreëerd dat ons continu update met de locatie en sensor informatie van de ULD's. Het IoT platform is volledig ontworpen met behulp van AWS serverless componenten en Serverless Architecture staat in het middelpunt van al onze ontwerpen. Enkele van de componenten die we gebruiken zijn AWS IoT services, Amazon Location Service, AWS Lambda enzovoort. Op ons platform vertalen we alle detecties van ULD's, vanuit AWS IoT Core naar relevante informatie over wanneer

Bekijk vacature »

Java Developer

Bedrijfsomschrijving De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen zij met plezier en enthousiasme. De organisatie is te omschrijven als informeel, pragmatisch en dynamisch. Onze klant is opzoek naar een Junior Java Developer. Samen met een team van 8 engineers ben je verantwoordelijk voor alle software-innovaties en -optimalisaties, voor alle facetten binnen de organisatie. Denk hierbij aan back-end processen, apps en diverse widgets. Het

Bekijk vacature »

Software Developer die een bijdrage levert aan de

Dutch is mandatory for this position. Vind jij het belangrijk om een baan te hebben die bijdraagt aan een schonere wereld? Een baan waarbij je direct impact hebt in het digitalisering van informatiestromen, oftewel een wereld zonder papier. Doormiddel van hun eigen ontwikkelde software kunnen bedrijven digitaal documenten beheren, delen, ondertekenen en archiveren. Dat betekent dat er geen printers of scanners meer nodig zijn en je bent niet meer afhankelijk van koeriers. Dit scheelt tijd, geld en grondstoffen. Samen met een team van vijf developers ga je nieuwe software oplossingen ontwikkelen. Daarnaast ga je ook nieuwe gebruiksvriendelijke functionaliteiten aan onze

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

11/04/2021 23:42:56
 
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.