Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front end developer

Functie Binnen de functie van Front-end developer werk je mee aan uitdagende klantprojecten. In teamverband werk je aan de voorkant van onze state-of-the-art portaal oplossingen en apps. Dit alles gebeurt in een multidisciplinaire omgeving waarbij je de ruimte hebt om te sparren, je ideeën scherp te stellen, en waar je met de benodigde kennis en ervaring om je heen altijd terecht kunt bij je collega’s voor vragen en ondersteuning. Meestal werk je vanuit ons kantoor maar we bieden ook alle faciliteiten om thuis te kunnen werken. Voor sommige projecten ga je mee naar de klant, wellicht zelfs in het buitenland!

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

Java developer Zorgsysteem

Dit ga je doen Werken aan het eigen gebouwde zorgsysteem; Verbeteringen maken en toepassen binnen de applicatie; Jij gaat werken aan de Back-end van de applicatie en sporadisch werk je mee aan de Front-end; Samenwerken met andere teams voor een optimaal resultaat; Jij kan 'clean' werken en high quality code schrijven; Jij werkt resultaatgericht. Hier ga je werken De organisatie houdt zich bezig met diverse applicaties met betrekking tot zorgregistratie. Dankzij hun systeem komt alle informatie, omtrent de zorg van een patiënt, op een overzichtelijke en toegankelijke manier samen in één systeem te staan. Op deze manier is deze informatie

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

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

22/05/2024 20:29:08
 
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.