Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functie omschrijving We are looking for a dutch native speaker Wil jij werken als Senior Developer en werken aan een applicatie die duizenden marketingcampagnes automatisch aanstuurt? Dit is je kans! Kom werken voor onze opdrachtgever en in deze rol zul je veel vrijheid en verantwoordelijkheid krijgen om gezamenlijk de applicatie naar een hoger plan te tillen. Wat ga je verder doen: Optimaliseren, beheren en uitbreiden van onze applicatie; Het bouwen van aansluitingen op de systemen van partners middels API’s; Meedenken over de technische/ontwikkel-standaarden; Proactief verbeterpunten voorstellen. Bedrijfsprofiel Het is een organisatie die met een team van verschillende developers én marketeers

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

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 »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

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

17/11/2024 22:48: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.