Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Webdeveloper

Wat kan je? .NET MBO, HBO, WO denkniveau Medior, Senior werkniveau 2-5, 5+ jaar werkervaring Nederlands sprekend Wat krijg je? Vast € 2800 - € 3800 bruto per maand Flexibele werktijden Lunch Laptop Pensioen Netto onkostenvergoeding Sporten Zorgverzekering Wat doe je? Minimaal een 32-urige werkweek Samenwerken met 20-50 collega's Je werkt samen met Klantenservice, Management, IT Focus op B2B Je werkt voornamelijk met De vacature Als .net developer houdt je je voornamelijk bezig met de ontwikkeling van grotere maatwerk .net websites en webapplicaties zoals productconfiguratoren, ERP systemen, e-commerce websites en hybrid mobiele apps. Je zet met behulp van moderne technieken

Bekijk vacature »

Security Engineer

Security Operations Engineer Voor onze opdrachtgever in de omgeving van Utrecht zijn weop zoek naareen security operations engineer o.b.v. deta-vast. Als security operations engineer maak je deel uit van het Infra & Security team binnen IT. Het team bestaat uit 4 collega’s die rapporteren aan de Manager Infra & Security. Daarnaast werk je nauw samen met de information security officer. In een innovatieve ‘open space’ afdeling waarin alle ICT en E-commerce disciplines vertegenwoordigd zijn werk je samen aan de optimale ontwikkeling en dienstverlening voor de opdrachtgever. Wat zijn jouw verantwoordelijkheden en werkzaamheden? Jouw verantwoordelijkheden: Als security operations engineer ben je

Bekijk vacature »

Front-end Ontwikkelaar

Bedrijfsomschrijving Bij het accepteren van dit aanbod kom je terecht binnen een veelzijdige organisatie waar een goede sfeer hangt. Zij zijn gewend dagelijks met elkaar te lunchen en ruimte is voor een potje Mario. Als Front-end ontwikkelaar ga je je op projectbasis bezighouden met het ontwikkelen van content voor diverse opdrachtgevers. De projecten waar je aan gaat werken zullen verschillende qua omvang. Hierbij kan je rekening houden met een gemiddelde doorlooptijd van een half jaar, waarbij er meerdere projecten naast elkaar kunnen lopen. Naast ontwikkeling aan de Front-end ga je ook een rol spelen bij de ontwikkeling aan de back-end.

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Onze klant is een mooie en innovatieve multinational in de regio Utrecht. Ze staan bekend om de hoge kwaliteit van dienstverlening en streven ernaar dit continu te verbeteren. Om dit te kunnen doen zijn zij opzoek naar een Software Developer. Als C# .NET Developer ga je aan de slag met het ontwikkelen van bedrijf kritische software en applicaties. Zo zijn er applicaties en software die van belang zijn voor de bedrijfsvoering, de medewerkers van de organisatie, maar ook voor het klantenbestand van de organisatie. Het landschap is zowel functioneel als technisch en daarmee erg breed. Je komt te werken

Bekijk vacature »

Frontend Developer

Wat kan je? Frontend Geen denkniveau Senior werkniveau 5+ jaar werkervaring Nederlands, Engels sprekend Wat krijg je? Vast € 3500 - € 5000 bruto per maand Flexibele werktijden Mobiel Laptop Pensioen Netto onkostenvergoeding Wat doe je? Minimaal een 32-urige werkweek Samenwerken met 10-20 collega's Je werkt samen met Management, IT Focus op B2B & B2C Je werkt voornamelijk met De vacature Als Frontend Developer bij foryouandyourcustomers ben je eindverantwoordelijk voor de oplevering van onze multichannel projecten. Je werkt nauw samen in ons team binnen Nederland als onderdeel van ons internationale celgestructureerde bedrijf. We hebben namelijk collega’s in binnen- en buitenland

Bekijk vacature »

Front-End Developer

Wat kan je? Frontend, Design HBO denkniveau Medior werkniveau 2-5 jaar werkervaring Nederlands, Engels sprekend Wat krijg je? Vast € 3000 - € 3500 bruto per maand Flexibele werktijden Mobiel Laptop Pensioen Netto onkostenvergoeding Zorgverzekering Wat doe je? Minimaal een 40-urige werkweek Samenwerken met 10-20 collega's Je werkt samen met Klantenservice, Management, IT Focus op B2B Je werkt voornamelijk met De vacature Werken bij Hulan als Medior Fulltime Front-End Developer. We bieden een erg leuke werkplek met nog leukere projecten. Samen met ons ga je meewerken aan serious games en gamification toepassingen, denk hierbij aan hybrid en interactieve web applicaties.Functie

Bekijk vacature »

.NET Developer

Wat kan je? BI, Dynamics, .NET MBO, HBO denkniveau Medior werkniveau 2-5 jaar werkervaring Nederlands, Engels sprekend Wat krijg je? Vast € 3250 - € 3750 bruto per maand Flexibele werktijden Mobiel Laptop Netto onkostenvergoeding Wat doe je? Minimaal een 36-urige werkweek Samenwerken met 20-50 collega's Je werkt samen met Sales, Finance, Klantenservice, Management Focus op B2B & B2C Je werkt voornamelijk met De vacature Die web-ontwikkelaar met een innovatieve en kritische blik. Iemand die energie haalt uit het ontwikkelen van goed werkende .NET-projecten én die houdt van het bouwen aan zichzelf en zijn eigen carrière. Die zoeken we bij

Bekijk vacature »

.Net Developer

Wat kan je? Frontend, .NET, Mobile Development HBO, WO denkniveau Junior werkniveau 0-2 jaar werkervaring Nederlands sprekend Wat krijg je? Vast € 2500 - € 2750 bruto per maand Flexibele werktijden Mobiel Laptop Wat doe je? Minimaal een 40-urige werkweek Samenwerken met 10-20 collega's Je werkt samen met Klantenservice, Management, IT Focus op B2B Je werkt voornamelijk met De vacature Als junior .Net developer creëer je (maatwerk) software voor diverse vraagstukken. Stroomlijn je het werkproces van zorgpraktijken in de paramedische sector en klinieken. Hierbij gaat het om een omgeving met veel gebruikers, zowel behandelaren, medisch specialisten als patiënten. Hoge eisen

Bekijk vacature »

Medior PHP Developer

Als PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Medior PHP Developer bij Coolblue? Als Medior PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, ben je niet vies van een beetje C# of Javascript. Ook Medior PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP code schrijven, maar kan je weg ook vinden in C#,

Bekijk vacature »

Software Developer Geospatial Technology

Would you like to be part of an innovative, inspiring and international environment? Are you excited to work in a Geo-ICT, Asset Management, Energy, Water & Telecom industry and do you have strong programming skills? The job as Experienced GIS Software Developer offers the challenge you are looking for! Software Developer Geospatial Technology 32-40 hours per week Your Job As Experienced GIS Consultant you will work in an international team on projects at leading customers in the Netherlands. You will deal with design solutions in which emerging technologies play an important role. Along with your colleagues and customers you will

Bekijk vacature »

Fullstack Developer /.NET Core

Bedrijfsomschrijving Als Fullstack Developer kom je te werken in de regio Almere bij een organisatie, dat als internationale marktleider opereert op het gebied van detailhandel. Vanuit ruim tienduizend locaties verkopen zij hun producten aan de klanten. Om diverse data en bedrijfsprocessen van HR, CRM tot inkoop overzichtelijk in beeld te hebben heeft de organisatie een bedrijf kritische applicatie ontwikkeld. Ter versterking van het development team, bestaand uit 6 ontwikkelaars, is de organisatie op zoek naar een ervaren Fullstack Developer. Als Full stack Developer zal je bezighouden met zowel het development als het onderhoud van de applicatie. Jouw werkzaamheden zullen 80%

Bekijk vacature »

Senior Java Developer

Bedrijfsomschrijving Als Senior Java Developer kom je te werken bij een internationaal gerenommeerd onderzoeksinstituut. Dagelijks is dit instituut verantwoordelijk voor de juiste samenwerking, toegankelijkheid en communicatie voor circa 9000 interne gebruikers. In een team van elf ontwikkelaars ben je als Senior Java Developer verantwoordelijk voor het ontwikkelen van functionele ontwerpen naar technische oplossingen. Deze projecten bestaan o.a. projecten zoals het implementeren van Elastic Search en het koppelen van CMS. Ook fungeer je als vraagbaak voor je collega’s op het gebied van backend softwareontwikkeling. Daarnaast denk je graag mee op het gebied van architectuur qua mogelijke oplossingen en innovatie. Momenteel zijn

Bekijk vacature »

Front-end Developer / Angular

Bedrijfsomschrijving Als Front-end Developer ga je in een DevOps team aan de nieuwste digitale technologieën werken om klanten over de hele wereld te ondersteunen met het optimaliseren van (afval)waterzuivering systemen. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning zorgen jij en je team voor inzichten die ernstige milieu en watervervuiling weten te voorkomen. Jouw ervaring als Front-end developer zorgt ervoor dat deze klanten altijd de nieuwste gebruikersinterfaces hebben en zo makkelijk mogelijk deze data kunnen lezen. Zo is de organisatie al meer dan honderd jaar actief bezig met het aanpakken van confrontaties

Bekijk vacature »

Digital business owner

Heb jij ambitie om organisaties te helpen bij het behalen van hun doelstellingen? Wil je merken groter en succesvoller maken? Als digital business owner bij EF2 kom je op voor de belangen van onze klanten. Je weet te inspireren en brengt het digitale niveau van klanten naar het volgende niveau. Je organiseert kennis- en innovatiesessies. Door jouw jarenlange ervaring weet je wat er in de branche van onze klanten speelt en ben je in staat kansen te signaleren en de uitvoer te realiseren. Intern manage je cases op gestroomlijnde wijze, binnen een team van specialisten. Het resultaat? Blije klanten, geïnspireerde

Bekijk vacature »

Senior Frontend Developer - Amersfoort

Wat kan je? Frontend HBO, WO denkniveau Senior, Lead werkniveau 5-10, 10+ jaar werkervaring Engels, Nederlands sprekend Wat krijg je? Vast € 3500 - € 5000 bruto per maand Flexibele werktijden Mobiel Laptop Pensioen Netto onkostenvergoeding Zorgverzekering Wat doe je? Minimaal een 32-urige werkweek Samenwerken met 10-20 collega's Je werkt samen met Sales, Marketing, IT Focus op B2B Je werkt voornamelijk met De vacature As a Senior Front-end Developer at Valtech you deliver the best end-user experience, using all the tools and technologies that are available in our fast-evolving community. Whether your website or application is being used on a

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

06/05/2021 09:33:26
 
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.