nikonlay

nikonlay
Рейтинг
191
Регистрация
11.12.2006

Спасибо всем за ответы, уже давно смотрел на эту таблицу, долго решался, а теперь вот после прочтения ответов все же удалил записи из этой таблицы:

Перед этим, правда сохранил бекап на всякий случай, а после этого сделал новый бекап и он весит на 12 мб меньше, стал 1,9 мб а был 14,5 )

Правда в phpma в визуальном отображении базы он по-прежнему показывает размер это таблицы 16 мб:

Но это потом обновится, наверное

Ууф, эврика! Нашел то есть.

Столько дней это искал - жесть. И сейчас полдня просидел. В итоге, в отчаянии закомментировал в resizeimg.php вывод заголовка и картинки, и каждую переменную заставил выводить на экран:

<?php
$f = htmlspecialchars(addslashes($_REQUEST['f']));
$width = intval($_REQUEST['w']);

echo "1: ".$f."<br>";

echo "2: ".$width."<br>";

$size_img = getimagesize($f);
$w_src = $size_img[0];
$h_src = $size_img[1];

echo "3: ";
var_dump ($size_img);
echo "<br>";

echo "4: ".$w_src."<br>";
echo "5: ".$h_src."<br>";

if(!empty($width))
{
$w = $width;
}else{
$w = 90;
}
$q = 100;

echo "6: ".exif_imagetype($f)."<br>";

if(exif_imagetype($f) == IMAGETYPE_JPEG)
{

echo "7: "."babushka"."<br>";
// создаём исходное изображение на основе
// исходного файла и опеределяем его размеры
$src = imagecreatefromjpeg($f);
$w_src = imagesx($src);
$h_src = imagesy($src);

echo "8: ";
var_dump ($src);
echo "<br>";

echo "9: ".$w_src."<br>";
echo "10: ".$h_src."<br>";


// создаём пустую квадратную картинку
$dest = imagecreatetruecolor($w,$w);

echo "11: ";
var_dump ($dest);
echo "<br>";

// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src>$h_src)
imagecopyresized($dest, $src, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));

echo "12: ";
var_dump ($dest);
echo "<br>";
echo "13: ";
var_dump ($src);
echo "<br>";

// вырезаем квадратную верхушку по y,
// если фото вертикальное (хотя можно тоже серединку)
if ($w_src<$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));

// квадратная картинка масштабируется без вырезок
if ($w_src==$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);

// вывод картинки и очистка памяти

// header("Content-type: image/jpeg");
// imagejpeg($dest,'',$q);

}elseif(exif_imagetype($f) == IMAGETYPE_GIF) {

echo "88: "."dedushka"."<br>";


// создаём исходное изображение на основе
// исходного файла и опеределяем его размеры
$src = imagecreatefromgif($f);
$w_src = imagesx($src);
$h_src = imagesy($src);

// создаём пустую квадратную картинку
$dest = imagecreatetruecolor($w,$w);

// вырезаем квадратную серединку по x, если фото горизонтальное
if ($w_src>$h_src)
imagecopyresized($dest, $src, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));

// вырезаем квадратную верхушку по y,
// если фото вертикальное (хотя можно тоже серединку)
if ($w_src<$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));

// квадратная картинка масштабируется без вырезок
if ($w_src==$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);

// вывод картинки и очистка памяти

// header("Content-type: image/jpeg");
// imagejpeg($dest,'',$q);

// imagegif($dest,'','');
// header("Content-type: image/gif");
}

imagedestroy($dest);
imagedestroy($src);
?>

Каково же было мое отчаяние, когда он вывел все нормально!:

1: http://www.site.ru/backdoor/image/photo/1900aea2e9270e4746fbd6ee6151ff04.jpg
2: 90
3: array(7) { [0]=> int(600) [1]=> int(400) [2]=> int(2) [3]=> string(24) "width="600" height="400"" ["bits"]=> int(8) ["channels"]=> int(3) ["mime"]=> string(10) "image/jpeg" }
4: 600
5: 400
6: 2
7: babushka
8: resource(8) of type (gd)
9: 600
10: 400
11: resource(9) of type (gd)
12: resource(9) of type (gd)
13: resource(8) of type (gd)

Ничего не понятно - все работает - и не работает!

И тогда уже, я посмотрел еще ниже, на функцию imagejpeg(), которую я закоментировал, и в самом низу вижу список изменений:

5.4.0 Запрещено задавать to пустой строкой для его пропуска..

А у меня как раз так и было - пустой строкой. Заменяю '' на NULL - и вуаля - все заработало! Вот как бывает, оказывается.

При том что никаких ошибок и предупреждений пхп не выдавал - просто не делал.

Оставлю это тут, чтобы если кто с таким столкнется, то знал, в чем дело.

bay_ebook, заменил, не помогло.

Sitealert, так я тоже так думал - но работает, остальная часть сайта нормально отображается, именно картинка не выводится

Вот, как выглядит:

каких-то других скриптов там нет, только php-код, я привел его выше. Чтобы лучше звучало, перефразирую - в 5.6 работает, но не так, как нужно и не так, как в 5.2 - в 5.2 картинка отображается, в 5.6 - нет

А вот как открывается, если на эту картинку навести и сделать "открыть картинку в новой вкладке":

SeVlad, спасибо, учел это.

Я не знаю, может отдельную тему под этот вопрос создать, но оно связано все-таки, пока тут спрошу.

Вчера заметил, что в некоторых местах того же сайта перестали отображаться картинки после смены версии php с 5.2 на 5.6

Картинки выводятся таким образом:

<img src="/resizeimg.php?f=backdoor/image/photo/1900aea2e9270e4746fbd6ee6151ff04.jpg&w=90" >

А код resizeimg.php такой:

<?
$f = htmlspecialchars(addslashes($_REQUEST['f']));
$width = intval($_REQUEST['w']);

$size_img = getimagesize($f);
$w_src = $size_img[0];
$h_src = $size_img[1];

if(!empty($width))
{
$w = $width;
}else{
$w = 90;
}
$q = 100;

if(exif_imagetype($f) == IMAGETYPE_JPEG)
{

$src = imagecreatefromjpeg($f);
$w_src = imagesx($src);
$h_src = imagesy($src);


$dest = imagecreatetruecolor($w,$w);


if ($w_src>$h_src)
imagecopyresized($dest, $src, 0, 0,
round((max($w_src,$h_src)-min($w_src,$h_src))/2),
0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));


if ($w_src<$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w,
min($w_src,$h_src), min($w_src,$h_src));


if ($w_src==$h_src)
imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);



header("Content-type: image/jpeg");
imagejpeg($dest,'',$q);

}

imagedestroy($dest);
imagedestroy($src);
?>

И в php 5.2 все нормально работает, а в 5.6 - не отображается картинка. Причем включил отображение всех ошибок - ничего не выдает, даже нотисов, но картинку не выводит почему-то

если wp не советовать, то ukit.com )

edogs, Sitealert - спасибо за советы! SeVlad - еще раз спасибо.

Итак, следуя всем советам что сделал - переключил сразу на 5.6, сайт снова перестал работать, как и с 5.4

Далее, стал смотреть логи сервера, но, то ли не там смотрел, то или не знаю, но ничего толкового не нашел.

В access_log вижу только записи вида:

128.68.145.125 - - [31/Jul/2017:15:48:49 +0300] "GET / HTTP/1.0" 500 - "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"

164.132.161.82 - - [31/Jul/2017:15:49:29 +0300] "GET /theforumnewpost.php?cat_id=2&upforum_id=9&forum_id=31 HTTP/1.0" 500 - "-" "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)"

Которые ничего нового, кроме того, что ошибка 500 не говорят

В error_log почему-то вообще ничего нету на это время, когда сменил версию. Хотя вроде ведь как раз там должна ошибка 500 записываться? Но почему-то нет. И в rewrite.log тоже ничего нет

Далее, стал по очереди удалять строки из .htaccess

Удалил php_flag rewriteLogLevel 0 - не помогло.

Вернул пред., удалил php_value allow_url_fopen on - тоже не помогло.

Удалил обе эти строки - тоже не помогло.

Удалил еще и php_value open_basedir /dir/incl/ - вот теперь помогло, заработал сайт.

Ради интереса вернул

php_flag rewriteLogLevel 0

php_value allow_url_fopen on - Продолжает работать!

То есть, похоже ошибка была в этом php_value open_basedir /dir/incl/

И, SeVlad, вас понял, пойду смотреть, как все это в php.ini прописать.

И заодно пойду исправлять ошибки, а то когда пробовал все 4 строки удалять, включая php_flag display_errors off

то сайт работал, но куча нотисов повылезало, надо бы поправить.

А потом тогда попробую на 7.0 переключить, может, если на 5.6 заработал, то и на 7 будет работать

Поржал, спасибо. У меня уже 4-й год 11-тидюймовый ноут, 2 ядра по 1,5 ГГц, 4 гига оперативы.

За прошедшее время больше 50-ти сайтов на нем разработал/доработал. И все тянет, как ни странно. И notepad++, и браузеры, и файлзилла и даже Putty летает!

vovka83, так оно, я вроде как в этом и разбираюсь. просто когда один человек занимается одновременно разработкой/доработками сайта, в том чсиле дизайном, также seo, serm, ведение групп в соцсетях, таргет, контекстной рекламой, офлайн рекламой (флаеры, визитки, плакаты - все, создание макета, подготовка к печати, связь с типографией) и т.д. и т.п., то не всегда в каждой из этих областей прям сразу успеваешь подстроиться под обновления.

Sitealert, ок, буду искать.

edogs, настройки пхп - это вот это вы имеете в виду?

php_flag display_errors off

php_flag rewriteLogLevel 0

php_value allow_url_fopen on

php_value open_basedir /dir/incl/

yet_warm, да просто в blabla.txt то есть для апача с пхп htaccess как бы перестал существовать

SeVlad, adel92 - спасибо за дельные советы. действительно, если уж решил обновлять и вышла ошибка, то лучше уж сразу до 5.6 или 7.0 (оффтоп - а 6-ку они перепрыгнули чтоли?) обновиться и под него уже исправлять ошибки.

Так и сделаю тогда, попробую сначала 5.6, потом 7.0 и буду смотреть, что в логах пишут

Sitealert, спасибо! Во всем разобрался, убрал лишний счетчик и смог после этого вывести левое меню на главную, вот: http://redragon.pro/

Я, в общем, и сам догадывался, что, если уж он говорит, что COUNTER два раза используется, то значит где-то есть. Но как-то все-таки не уверен был, к тому же с первого раза не нашел.

А потом уже, после вашей подсказки, я уверился, что именно там надо искать, еще раз тщательно все обыскал и да нашел, что в один блок подключался другой, а в другой - третий - и уже в третьем был этот счетчик. Спасибо!

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

ТС сделал отличный баннер всего за 200 р. Причем были жесткие ограничения по размеру, но ТС вписался и при этом сделал классный яркий баннер. Спасибо!

Всего: 405