LINUX.ORG.RU
решено ФорумAdmin

Почему 2 функции php-gd подряд не работают?

 


0

1

Добрый день! 2 функции php-gd совместно не работают

$file = imagecreatetruecolor($width, $height); 
$new = imagecreatefromjpeg($this->file_tempname); 
Когда идут подряд не работают , а по отдельности работают меняешь местами new создается а file нет ( и на оборот)

Т.е. если 2 функции подряд идут то стопорится и показывает белый экран (на второй функции).

одну из них удаляешь работает

Смотрю дебагером

$file = (resource) resource id='184' type='gd'
$new = (uninitialized)
или наоборот если местами функции менять

Версия php-5.3.29

настроено через cgi

скомпилировано вот так

'./configure' '--with-regex=php' '--disable-rpath' '--disable-static' '--with-pic' '--with-layout=GNU' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db4=/usr' '--with-qdbm=/usr' '--without-gdbm' '--with-cdb' '--with-iconv' '--enable-exif' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-onig=/usr' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-libxml-dir=/usr' '--with-zlib' '--with-kerberos=/usr' '--with-openssl=/usr' '--enable-soap' '--enable-zip' '--with-mhash=yes' '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--enable-pdo' '--with-pdo-mysql=mysqlnd' '--enable-exif' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-freetype-dir=/usr' '--with-t1lib' '--with-zlib-dir=/usr' '--with-mcrypt=/usr' '--with-mhash' '--with-xsl=/usr' '--enable-zip' '--enable-cgi' '--with-curl' '--with-gd' '--enable-pcntl' '--enable-mbregex' '--enable-gd-native-ttf' '--with-libdir=lib64' '--enable-dba=shared' '--with-imap' '--with-imap-ssl' '--enable-intl' '--with-readline=/usr' '--enable-simplexml' '--with-libdir=/lib/x86_64-linux-gnu' '--with-config-file-scan-dir=/usr/local/share/phpfarm/inst/php-5.3.29/etc' '--with-pspell' '--prefix=/usr/local/share/phpfarm/inst/php-5.3.29' '--exec-prefix=/usr/local/share/phpfarm/inst/php-5.3.29' '--without-pear' '--enable-cgi' '--enable-cli'

gd

GD Support	enabled
GD Version	bundled (2.1.0 compatible)
FreeType Support	enabled
FreeType Linkage	with freetype
FreeType Version	2.4.9
T1Lib Support	enabled
GIF Read Support	enabled
GIF Create Support	enabled
JPEG Support	enabled
libJPEG Version	8
PNG Support	enabled
libPNG Version	1.2.49
WBMP Support	enabled
XBM Support	enabled

Directive	Local Value	Master Value
gd.jpeg_ignore_warning	0	0

/proc/meminfo
1 MemTotal: 132271384 kB
2 MemFree: 948980 kB
3 MemAvailable: 129815508 kB

На локальном сервер (openserver с такой же версией php) работает без проблем. Нужна помощь, плиз. Не пойму что делать.

РЕШЕНИЕ

Увидел ошибку в логах:

[error]  Premature end of script headers: script.php

потом загуглил https://novall.net/errorsol/reshenie-apache-error-premature-end-of-script-hea...

поставил в конфиге apache RLimitMEM 500048576

и заработало. Спасибо за наводки!

php-5.3.29

GD Version bundled (2.1.0)

Сноси это. Серьёзно, 7ой уже на дворе. Да и GD 2.2.3.

У тебя на локальном по любому пых выше 5.4

xSudo ★★★ ()
Последнее исправление: xSudo (всего исправлений: 2)

Какие размеры изображениея (ширина / высота) ? Может банально не помещяешся в лимит по памяти для сесси. Также неплохо бы посмотреть логи на предмет ошибок.

zaz ★★★★ ()
Ответ на: комментарий от xSudo

По локальной версии GD. Самому интересно - программисто офлайн. Чуть позже напишу. Спасибо.

chapaevartem ()
Ответ на: комментарий от zaz

Логи, такие - загуглю...

  20 [Tue Aug 16 16:19:30 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
  21 [Tue Aug 16 16:19:30 2016] [notice] Apache/2.2.22 (Debian) mod_fcgid/2.3.6 PHP/5.4.45-0+deb7u4 configured -- resuming normal operations
  22 [Tue Aug 16 16:26:30 2016] [notice] caught SIGTERM, shutting down
  23 [Tue Aug 16 16:26:31 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
  24 [Tue Aug 16 16:26:31 2016] [notice] Apache/2.2.22 (Debian) mod_fcgid/2.3.6 PHP/5.4.45-0+deb7u4 configured -- resuming normal operations
  25 [Tue Aug 16 16:34:29 2016] [warn] mod_fcgid: process 4008 graceful kill fail, sending SIGKILL
  26 [Tue Aug 16 16:38:21 2016] [notice] caught SIGTERM, shutting down
  27 [Tue Aug 16 16:38:22 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
  28 [Tue Aug 16 16:38:22 2016] [notice] Apache/2.2.22 (Debian) mod_fcgid/2.3.6 PHP/5.4.45-0+deb7u4 configured -- resuming normal operations

chapaevartem ()
Ответ на: комментарий от chapaevartem

5000х5000 это порядка 100MB, две картинки это уже 200MB

Я бы на вашем месте для начала попробовал тотже самый код на маленьких картинках (скажем 50x50) - если с маленькими картинками отработает нормально то дальше бы копал на предмет ограничения по памяти, если нет - тогда наверное пускать с командной строки и если из командной строки тоже не будет создовать вторую картинку то трейсить дебагером сам вызов.

zaz ★★★★ ()
Ответ на: комментарий от chapaevartem

Странно, что вылезает PHP/5.4.45 когда cgi настроено на 5.3.29

это возможно с других сайтов

chapaevartem ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.