Memory Limit exceeded

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mendix Consultant / Developer

Bedrijfsomschrijving De organisatie begeeft zich in de retail branche en focust zich op de tak mobiliteit. De organisatie telt ongeveer 3000 medewerkers die verdeeld zijn over meerdere vestigingen in het land. Een deel in Brabant en een deel in de Randstad. Voor deze functie kan er als standplaats worden gekozen tussen de regio Utrecht of regio Breda. Onlangs heeft de organisatie besloten Mendix te gebruiken als nieuwe basis voor haar gehele applicatie omgeving. De stabiliteit, flexibiliteit en gebruiksvriendelijkheid van Mendix dragen bij aan de innovaties van de organisatie. Op dit moment een groot aantal processen en applicaties herbouwd in Mendix.

Bekijk vacature »

Lead developer

Lead developer DWA, Gouda Nuttig inzicht uit data begint bij jou! De digitale producten die jouw team van developers ontwikkelt, helpen ons om gebouwen en installaties slim, gestandaardiseerd en continu te kunnen monitoren. Met als doel dat ze optimaal en duurzaam presteren. Door het ontwikkelen van digitale tools draag je bij aan de ontwikkeling van digital twins van klimaattechnische installaties, optimale benutting van IoT-data, het halen van BREEAM-/LEED-/WELL-eisen. Als Lead developer (vestiging Gouda) ben je het centrale aanspreekpunt van een team dat momenteel bestaat uit vier developers. Je denkt na over de opgave, het grotere plaatje en de integratie van

Bekijk vacature »

.NET Developer / Azure

Bedrijfsomschrijving Deze organisatie is gevestigd in het hart van Brabant en wordt gezien als de één van de beste .NET development organisaties in de provincie. Dagelijks werk je hier met ruim 40 enthousiaste .NET Developers, verdeeld over 9 Scrum teams, aan zeer complexe backend systemen. De backend systemen staan in het teken van high-intensity en high-availabilitiy en zijn opgebouwd met onder andere: - C#; - ASP.NET MVC / ASP.NET Core; - Microservices Architectuur; - Azure; - WCF. De teams bestaan uit 3-5 ontwikkelaars, 1 of 2 vaste (technisch)testers, 1 informatie analist en een Product Owner. Je zal niet alleen schakelen

Bekijk vacature »

Product Manager GGZ parttime (0,4)

Word jij onze nieuwe parttime (0,4) Product Manager GGZ? Binnen deze rol ligt jouw focus op een optimale afstemming van Incura, onze EPD software, op de eisen en wensen van onze klanten in de ambulante geestelijke gezondheidszorg. Het gaat daarbij om zorgverlening aan zowel jeugd als volwassenen. Je bent de onmisbare schakel tussen onze klanten binnen de GGZ en onze eigen organisatie. Je kent de wereld van de zorgverleners en voelt je betrokken bij het fantastische werk dat zij verrichten. Je volgt nauwlettend de ontwikkelingen binnen de zorg in het algemeen en de GGZ in het bijzonder. Daarbij bedenk je

Bekijk vacature »

PHP (Laravel) Developer gezocht voor moderne appli

Bedrijfsomschrijving Voor een kleine informele organisatie ben ik op zoek naar een PHP Developer met minimaal 4 jaar ervaring. Hier bouwen ze hele toffe en mooie websites en applicaties. Ze werken hier met hele leuke uitdagende projecten en daardoor is een bepaald niveau ook gevraagd. Een mooi voorbeeld hiervan is dat ze voor een DJ nu een applicatie aan het ontwikkelen zijn waardoor fans hun wensen kunnen doorgeven aan de DJ waardoor hij muziek kan maken aan de hand van de kritieken die hij krijgt op de app. Dit is een heel uitdagend project waar veel complexiteit bij komt kijken.

Bekijk vacature »

Front-end Developer Aurelia

Bedrijfsomschrijving Als Front-end developer kom je te werken bij een gerenommeerde organisatie in de regio Ede waar gewerkt wordt aan een bedrijfskritische applicatie dat opereert binnen een complexe IoT- en web based omgeving. Deze oplossingen worden internationaal uitgerold en worden zeer veel gebruikt in de infra branche. Samen met je team (bestaande uit twee testers, zes ontwikkelaars een Scrum Master en Product Owner) ga jij werken aan de nieuwe webapplicatie dat aan duizenden machines en voertuigen gekoppeld wordt. Deze applicatie wordt gebruikt door onder andere rijksoverheden, vliegvelden maar ook binnen industrie-, lokale- en provinciale gebieden in zowel binnen als buitenland.

Bekijk vacature »

Full-Stack Software Developer

Bedrijfsomschrijving De organisatie is één van de grote op het gebied van performance marketing. Ze staan bekend als een organisatie die hoogwaardige software en algoritmes bouwt. De software en algoritmes worden ingezet bij organisaties om op piekmomenten de sales/branding te vergroten. De organisatie staat niet bekend als de goedkoopste in de markt maar de oplossing die ze bouwen werkt zo goed dat ze wereldwijd grote klanten hebben. De organisatie maakt de afgelopen jaren een enorme groei door en is daarom opzoek naar versterking in het development team. Als Fullstack Software Developer kom je te werken in het Tech Team. Het

Bekijk vacature »

Front-End Developer / TypeScript / React / UX

Bedrijfsomschrijving Bij dit grote, innovatieve technische bedrijf wil men graag flink groeien dit jaar, namelijk van zo'n 100 naar 120 mensen. In de afgelopen jaren is er hard gewerkt om een nieuw software product op de markt te zetten ter ondersteuning van hun fysieke producten en omdat dit een groot succes is, wordt het nu uitgerold over het hele bedrijf en daarmee een groot deel van de wereld. Er is dus werk aan de winkel! Jij werkt in het Front-end team waarbij je de UI ontwikkelt waar technische experts en klanten mee werken. Je zorgt ervoor dat de technische data

Bekijk vacature »

Application Developer

As a Senior Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as team members located in other parts of the world. You’ll be working on projects and

Bekijk vacature »

Medio fullstack C# developer gezocht, Barendrecht

Voor een bedrijf in Barendrecht zijn we momenteel op zoek naar een medior fullstack C# developer. Het bedrijf heeft een webapplicatie ontwikkeld waarmee hun doelgroep bepaalde administratieve processen makkelijk kan afhandelen. Met hun systeem zijn ze binnen hun sector koploper op het gebied van innovatie en gebruiksvriendelijkheid. Door het succes van hun product en de mogelijkheid deze verder op te schalen, zijn ze momenteel op zoek naar een verdere uitbreiding van hun team. Het huidige team bestaat uit circa 20 mensen waarvan 7 .NET developer. Ondanks dat het een relatief jong team is, bezitten de meeste mensen behoorlijk wat kennis

Bekijk vacature »

Technisch Applicatiebeheerder DevOps

Jij bent de missende schakel die ons DevOps team nodig heeft om alles perfect op elkaar te laten aansluiten. Jij bent namelijk de specialist die in ons e-commerce platform kan onderzoeken waar de fout zit en tegelijkertijd in contact staat met diverse stakeholders over de functionaliteit van het platform. Wat ga je doen? Binnen het DevOps team ben jij verantwoordelijk voor het beheer van E-Commerce gerelateerde applicaties en interfaces. Van het monitoren van de performance en beschikbaarheid tot het onderhouden van contacten met stakeholders en het registeren en documenteren van de issues en de processen. Alles staat in Azure en

Bekijk vacature »

Full Stack Java of C# developer

Op zoek naar leuke collega's waarmee je kunt lachen, gave projecten en een ambitieuze werkgever die heel goed voor je zorgt? Aangenaam: Profit4Cloud! Wij zijn nu met 55 collega's en werken sinds 2015 vanuit 5 vestigingen aan mooie projecten met een fijne groep collega's die allemaal maar één ding willen: mooie en slimme software-oplossingen ontwikkelen met de nieuwste technieken. We zijn goed bezig en zijn daarom op zoek naar versterking: Full Stack Java of C# developers met ervaring in back-end en front-end software ontwikkeling. Ben jij de Full Stack developer die enthousiast wordt van mooie projecten met high-end technologie? Dan

Bekijk vacature »

Lead Software Developer Sorteer platform (NL)

Lead Software Developer Sorteer platform (NL) Den Haag HBO/WO IT Professional "Als Technisch Lead impact maken op de groeiende E-commerce markt met onze logistieke software. Je doet dit door technisch sturing te geven aan het team en ontwikkeling van onze Cloud IT-platformen en Open Source software-oplossingen gebouwd in C#. Dit vraagt om een rolmodel en tech leiderschap". Wat ga je doen? PostNL is becoming a postal tech company. Als Lead Software Developer ben je de tech lead van een multidisciplinair Business-IT-team bestaande uit onder andere Developers en Solution Consultants. Je zult verantwoordelijk worden voor het technisch richting geven aan een of meerdere

Bekijk vacature »

ERP Consultant

Wil jij een baan met veel klantcontact en denk jij graag mee in het verbeteren van kwaliteit en dienstverlening? Ben jij net afgestudeerd of ben je toe aan de volgende stap in je carrière? Dan zijn wij op zoek naar jou! Wij zoeken naar een Consultant die woonachtig is in de regio Dordrecht - Gorinchem - Breda om daar onze klanten te ondersteunen in het gebruik van onze ERP Software. ERP Consultant Regio Dordrecht - Gorinchem - Breda Wat ga je doen Je 40-urige werkweek bestaat voornamelijk uit werkzaamheden bij onze klanten. Je bent bijna dagelijks onderweg in de auto

Bekijk vacature »

Senior Applicatie developer

Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire software en levert geïntegreerde unit tests. Dit doe 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

04/03/2021 23:27:27
 
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.