Перейти к контенту
  • 0

Проблема с attach'ами


exn

Вопрос

Привет.

На днях чтото случилось с форумом, нельзя загружать jpg более 100kb :D

Тоесть какойнибудь gz заливаеться без проблем и можно вставить в сообщение.

 

Весь день пытался разобраться в чем проблема, но так и не смог ;)

Значит что происходит:

 

Создаю новую тему, жму добавить файл. Например aaa.jpg.

Он передает файл на сервер, в дериктории uploads появляеться новый файл

например post-9-1170366631.jpg но страница после того как статус бар остановился

становиться белой и больше ничего не происходит. В адрессной строке */index.php?.

Если я опять попытаюсь загрузить этот файл то в uploads появиться новый post-*.jpg

тогоже размера(тоесть две копии под разными именами). Но в личных данных->аттачи

я не нахожу этих файлов.

 

Логов никаких нет, в apache (1.3.x) error_log я почистил чтобы удобнее было

разбираться со скриптом, но после многих попыток не появилось никаких записей

(в php.ini логирование включено и другие скрипты ругаються).

 

В админке включал отладку но белая страница так и осталась и информативности не добавилось ни на символ.

Кстати, в логах нашел одного подозрительного типа, который постоянно посылал такой

запрос:

index.php?act=post&do=e
dit_post&f=36&t=62&p=340&st=%20entry666%20entry666%20entry666%20entry66
6%20entry666%20entry666%20entry666%20entry666%20entry666%20entry666%20entry666%20entry6
66%20entry666%20entry666%20entry340%20entry666%20entry666%20entry666%20entry666%20entry
666%20entry666%20entry340%20entry666%20entry666%20entry666%20entry666%20entry666%20entr
y666%20entry666%20entry666%20entry666%20entry666

Мог ли этот товарищ навредить таким вот образом ?

 

Форум был 2.1.5 на данный момент я его обновил до 2.1.7 но проблема так и осталась,

к томуже я дополнительно проверил на других скриптах что приславутый aaa.jpg

загрливаеться без проблем, вот только в скрипте форума чтото происходит.. а вот

что ?

 

ЗЫ

Все 4е пункта из

Проблема с прикреплением файлов

не помогают

 

Помогите пожалуста.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

				//-------------------------------------------------
			// Is it an image?
			//-------------------------------------------------

			if ( is_array( $this->image_ext ) and count( $this->image_ext ) )
			{
					if ( in_array( $this->file_extension, $this->image_ext ) )
					{
 !!!!!!!!							  $this->is_image = 0;
					}
			}

 

решил пока так.. а в чем действительно проблема мне не понять пока не высплюсь :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Тема: Белая страница, чистая страница, пустая страница

Причина: При загрузке изображений создаются уменьшенные копии. Для обработки JPEG библиотеке GD нужно много памяти, попробуйте увеличить memory_limit в php.ini.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо Sannis.

 

Заметил я что аттачи более 10Мб не скачивались, методом тыка подобрал

подходящий memory_limit ( только с 18М начало работать нормально)

Редиректы переключил на meta.

 

Только вот скажите почему все было хорошо, и вдруг совершенно без

видимых причин такое произошло ? Или могло произойти, и вообще 18M

не многовато ли ? :D

 

Тумбы режуться вроде нормально, особых глюков не замечаю ;)

ЗЫ php 4.4.4

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Возмжно вы раньше не загружали такие jpeg, проблемы только с ними при ресайзе возникают.

Или могло произойти, и вообще 18M не многовато ли ?

Это от посещаемости зависит.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Хорошо, вот еще один всплывший косяк:

При попытке в админке создать резервную копию базы опять чтото вылезает(nginx

грит что bad gateway, тоесть апачь упал) но в лог записал :

Accept mutex: sysvsem (Default: sysvsem)
Allowed memory size of 18874368 bytes exhausted (tried to allocate 8159232 bytes)

 

Неувязочка какаято :D

 

 

Без gzip делаеться резервная копия.. ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Неувязочка какаято

Почему? Говорит что и 18Мб недостаточно.

Бекап лучше делать более продвинутыми средствами: mysqldump, phpMyAdmin или Sypex Dumper. Читайте Бэкап и восстановление базы форума для полноты картины.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

memory_limit 
  Устанавливает максимальное количество памяти в байтах, которое скрипт может занимать. Это предотвращает поглощение неправильно написанными скриптами всей доступной памяти сервера.

Оригинал

 

Являеться ли скрипт неправильно написанным, если:

Для скачивания файлов необходимо памяти больше чем размер файла(у меня

ресурсы очень ограничены, на весь веб сервер ~64Mb)

Для автокропинга более 16Мб

 

?

 

Существует ли модификация для упрощение(оптимизации) данных мест скрипта ?

(при обращении к аттачу просто выкидывалась ссылка на файл

, ну можно конечно чтоб работал счетчик скачивания, и проверка правил, т.е

гость или кому можно получать доступ к файлам, и хотлинк, самый элементарный

кропинг при использовании gd2 а еще лучше imagemagic.. ну и других проблемматичных мест о которых я

пока незнаю)

?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

1. Нет. По крайней мере дело не в IPB, а в GD. По своему опыту могу сказать, что для таких оперций вполне может требоваться больший объём памяти(это связано с форматом JPEG).

 

2. Можно ограничить права на закачку JPEG...

 

3. Насколько мне известно, у ImageMagic таких проблем нет. Попробуйте поставить :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Дело в том что у меня стоит nginx именно для того чтобы отдавать статику.

Застрял на аттачах с расширением ipb, очень много надо переделывать,

хотя вот кусок прекрасно работающий с пикчами:

						//-----------------------------------------
					// Set up the headers..
					//-----------------------------------------
/*
					header( "Content-Type: ".$this->ipsclass->cache['attachtypes'][ $attach['attach_ext'] ]['atype_mimetype'] );
					header( "Content-Disposition: inline; filename=\"".$attach['attach_file']."\"" );
					header( "Content-Length: ".(string)(filesize( $file ) ) );
*/
					//-----------------------------------------
					// Open and display the file..
					//-----------------------------------------
			/*
					$fh = fopen( $file, 'rb' );  // 52f408a29988b02f45b5e6f4ba5af0ae, Set binary for Win even if it's an ascii file, it won't hurt.
					fpassthru( $fh );
					@fclose( $fh );
			 */
	$_file = basename($file);
	$_updir = basename($this->ipsclass->vars['upload_dir']);
	$_furl="{$this->ipsclass->vars['board_url']}/"."$_updir/"."$_file";

	header("Location: $_furl");
					exit();

Картинки сейчас меня меньше всего волнуют, т.к их размер редко превышаеть 500Кб.

 

Вообщем память память память, не нравиться мне это :D

Давайте искать правильное решение.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.