ebiz-webhosting
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-04-2010, 13:49
minkowski
 Registrierter Benutzer
Links : Onlinestatus : minkowski ist offline
Registriert seit: Apr 2010
Beiträge: 4
minkowski befindet sich auf einem aufstrebenden Ast
Standard bilderzeugung - memory_limit 3gb

hallo,

ich versuche im moment ein sehr großes bild (~32 megapixel) zu erstellen, in das ich dann viele kleine reinkopieren möchte.
das ganze soll natürlich nicht in einer produktivumgebung laufen, ich möchte einfach nur das große bild mit hilfe von informationen aus einer db erstellen und dann mit seadragon nutzen.

das problem:
Zitat:
Fatal error: Out of memory (allocated 1848901632) (tried to allocate 75200 bytes) in ...\map_image2.php on line 2
das memory_limit in der php.ini habe ich auf 3 gb gesetzt und der fehler kommt direkt bei imagecreatetruecolor.

hier mein (geschrumpfter) code

PHP-Code:
$image imagecreatetruecolor(1880018800);
imagedestroy($image);
echo 
'done'
bis zu einer größe von ca. 18000x18000 px funktioniert es gut und der taskmanager zeigt auch keinen großen ramverbrauch an (der steigt um höchstens 100 mb)

gibt es da noch irgendwelche internen beschränkungen, die ich übersehen habe? im forum hab ich leider nur beispiele gefunden, wo das einstellen des memory limit geholfen hat und die $x*$y*5 + $y*30 regel würde würde für das beispiel auch nur ca. 1,5 gb ergeben.

vielen dank
minkowksi
Mit Zitat antworten
  #2 (permalink)  
Alt 01-04-2010, 15:16
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist gerade online
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von minkowski Beitrag anzeigen
das memory_limit in der php.ini habe ich auf 3 gb gesetzt
Hm, kann PHP mit so viel umgehen, und gewährt ihm auch das OS so viel?

Ich würd's erst mal mit -1 versuchen, und dann schauen, wie weit du kommst.

Zitat:
die $x*$y*5 + $y*30 regel würde würde für das beispiel auch nur ca. 1,5 gb ergeben.
Na das passt ja in etwa zu der angegebenen Größe, bei der abgebrochen wurde.


OffTopic:
Dieser Threadtitel ist einer von denen, bei denen der ich Kombination aus zwei Wörtern mit Bindestrich in er Mitte irgendwie den Vorzug vor der Zusammenschreibweise geben würde ... ich weiss auch nicht ganz, wieso.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 01-04-2010, 15:42
minkowski
 Registrierter Benutzer
Links : Onlinestatus : minkowski ist offline
Registriert seit: Apr 2010
Beiträge: 4
minkowski befindet sich auf einem aufstrebenden Ast
Standard

danke für die antwort.

ich hab noch ein bisschen am memory_limit wert gedreht, aber auch 6G und -1 (bzw. -1M) bringt nix. er bricht immer ungefähr an der gleich stelle ab. wobei das interessanterweise nur ungefähr die gleich ist. es ist immer ein bisschen anders.

ob php soviel verwalten kann weiß ich nicht, da hab ich auch nix zu gefunden. es verweisen immer nur alle auf das memory_limit. und ob windows ihm soviel gibt kann ich nicht sagen, sollte es doch aber, wenn ein programm das anfordert (in meinem rechner sind zur zeit 6gb installiert - von der seite her sollte es auch kein problem sein).
Mit Zitat antworten
  #4 (permalink)  
Alt 01-04-2010, 15:49
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 2.759
Quetschi befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von minkowski Beitrag anzeigen
... und ob windows ihm soviel gibt kann ich nicht sagen, ...
32-Bit oder 64-Bit-Version?

Kenn mich da nicht genau aus, aber bei 32-Bit-Windows könnte ggf. schon mit Problemen zu rechnen sein.
__________________
Drelingdo
Krabonse
Simmannamando
Mit Zitat antworten
  #5 (permalink)  
Alt 01-04-2010, 16:04
minkowski
 Registrierter Benutzer
Links : Onlinestatus : minkowski ist offline
Registriert seit: Apr 2010
Beiträge: 4
minkowski befindet sich auf einem aufstrebenden Ast
Standard

das ist ein guter einwand. ich hab zwar ein 64-bit windows, aber vermutlich ist php 32 bit.
etwas mehr als 1 gb ist von system schon besetzt und vllt. "füllt" php den speicher dann nur bis zu 3gb auf.
da werd ich gleich mal versuchen ein 64 bit server-system aufzusetzen.
da es xampp ja nicht als 64 bit für windows gibt, gibts da ne alternative? sonst halt alles per hand...
Mit Zitat antworten
  #6 (permalink)  
Alt 01-04-2010, 16:28
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.104
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das bei mir mal getestet:
Code:
php -d memory_limit=3G -r "imagecreatetruecolor(18800, 18800);"
Das Skript läuft so durch. Sehr schick ist auch der Performancegraph vom Prozessexplorer dazu:
bilderzeugung - memory_limit 3gb-perf-php-bigimage.png
Mein System ist ein Windows Vista Business SP2, 3 GB RAM, 32 Bit.

Ich behaupte einfach mal, du setzt dein memory_limit nicht richtig...
__________________
iocstreamscanvas
Mit Zitat antworten
  #7 (permalink)  
Alt 01-04-2010, 17:24
minkowski
 Registrierter Benutzer
Links : Onlinestatus : minkowski ist offline
Registriert seit: Apr 2010
Beiträge: 4
minkowski befindet sich auf einem aufstrebenden Ast
Standard

das find ich jetzt mal verblüffend.
wenn ich die datei per
Zitat:
php -d memory_limit=3G -f map_image2.php
in der konsole ausführe, läuft es auch durch.

aber ich versteh nicht ganz, was ich mit der zeile
Zitat:
memory_limit=3G
in der php.ini falsch mache. muss ich da noch was beachten?

PS: über die 20.000 px x 20.000 px komm ich damit aber auch nicht, selbst mit 6G. werd mich wohl doch mal an der x64 version probieren
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
imagecreatetruecolor, memory_limit


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bilderzeugung in Schleife per PHP KickASS PHP Developer Forum 4 04-01-2008 10:37
Zip :: Memory_limit sypr0 PHP Developer Forum 25 21-08-2007 11:20
Verzeichniss Bilderzeugung CodeBlue PHP Developer Forum 3 12-12-2004 15:34
memory_limit in php.ini cre8tive Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 4 16-12-2003 12:06
dynamische Bilderzeugung und Windows JoelH PHP Developer Forum 0 13-12-2001 11:10

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:04 Uhr.