Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z gd
Forum PHP.pl > Forum > PHP
@rt
Witam wszystkich forumowiczów.

Mam następujący problem z modułem gd - tworzę przy jego pomocy arkusz zawierający 28 kodów kreskowych. Obrazek ma wymiary 2280x3500 pix jest czarno-bialy. Wszystko było poprawnie do momentu aż nie przesiadłem się na php 5. skrypt zaczął tworzyć pliki zawierające tylko 4 i kawałek piątego kodu tak, jakby mu brakowało pamięci. w php.ini mam zadeklarowane 512 mb całość działo jako fastCGI na IIS 6. Czy ktoś może spotkał się z takim problemem Nie mam pomysłu jak to ugryźć, ew. gdzie szukać rozwiązania.
erix
A próbowałeś dla testów zwiększyć ilość pamięci/timeout skryptu?
gcdreak
Masz włączone pokazywanie wszystkich błędów?
@rt
erix: próbowałem sad.gif timeout mam 9000 (ze względu na dość duże analizy, które generują skrypty z sql'a), pamięć próbowałem zwiększyć do 1024 - nie pomogło. Tak jak wspomniałem wcześniej - wszystko banglało poprawnie do momentu zmiany php na 5

gcdreak: gdzie mam umieścić ten kawałek kodu? Nie bardzo mam pomysł na to, co może generować błąd. skrypt składa się z pętli, która wywołuje funkcję tworzącą kod o zadanych parametrach (ean,offsety względem krawędzi obrazka), która to z kolei wywołuje jeszcze funkcję rysującą kreseczki w kodzie kreskowym). Finalny efekt pracy jest taki, że ostatni kod który generuje(oczywiście nie ostatni, który powinien być wygenerowany, tylko 5 z 28) posiada napisy, ramkę dookoła i niepełną liczbę kresek po czym skrypt z pętlą leci dalej, nie tworząc już obrazka. Po 28 kodach obrazek jest zapisywany na dysk, tworzony jest nowy i historia sie powtarza, czyli generuje 4,5 z 28 kodów. W związku z tym obstawiam na jakiś problem z gd, tylko jaki...

P.S. Przy podglądzie źródła jpg'a nie widać na końcu jakichś linijek kodu w zrozumiałym języku typu warning..., error... , itp.
gcdreak
Na początku skryptu dodaj:
Kod
ini_set('display_errors', '1');
    error_reporting(E_ALL);
@rt
jedyne, co mi zwraca, to:

Notice: Undefined offset: 2 in C:\Inetpub\wwwroot\ean\generator.php on line 27

kod linijki:
  1. <?php
  2. $linia[2]=trim($linia[2]);
  3. ?>


Zmienna $linia jest wynikiem explodowania ciągu wczytanego z pliku i prawdopodobnie zwraca tę uwagę, gdyż przy explodzie 3 kolumna w tabeli była pusta. Myślę, że jednak nie ma to związku z problemem z generowaniem grafiki...

Dzięki za info o tych błędach - bardzo ciekawa dyrektywa winksmiley.jpg
maly_swd
a mozesz pokazac efekt generowania tego obrazka, byc moze na tej podstawie da sie ocenic co i jak.. Oraz kawalek kodu
gcdreak
Cytat(@rt @ 23.06.2009, 14:30:42 ) *
Dzięki za info o tych błędach - bardzo ciekawa dyrektywa winksmiley.jpg


Też tak uważam

Powracając do tematu to dużo masz zmiennych, które są wykorzystywane do stworzenia obrazka?
Jeśli tak to posprawdzaj dokładkie ich wartości, może to właśnie tam tkwi problem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.