Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выдача файла скриптом. При выдаче swf вставленного в страницу, вешает сайт до полной загрузки swf
 
 автор: tAleks   (13.04.2011 в 21:48)   письмо автору
 
 

Естть 3 файла, все лежат в одной папке:

slide.swf - флэшка

lesson_0.php - Скрипт выдачи флэшки

<?php

// Функция выдачи файла
function get($file)
{
    
// Имя файла для выдачи
    
$filename basename($file);
    
    
// Путь к файлу от корня
    
$file $_SERVER['DOCUMENT_ROOT'].$file;
    if(!
is_file($file)) return NULL;
    
    
$handle fopen($file'rb'); 
    
fseek($handle0SEEK_END);
    
$size ftell($handle); 
    
    
// Если передан RANGE (запрос части)
    // Вычисляем с какого по какой кусок файла недо передать
    
if(isset($_SERVER['HTTP_RANGE']))
    {
        
$range explode('='$_SERVER['HTTP_RANGE']);
        
$range explode('-'$range[1]);
        
        if(!
$range[0]) $range[0] = 0;
        if(
$range[1]) ++$range[1];
        else 
$range[1] = $size;
    }
    else 
$range = array(0$size);
    
    if(
$range[0] < 0)         $range[0] = 0
    if(
$range[1] > $size$range[1] = $size
    
    
// Размер части и старт части
    
$part_size $range[1]-$range[0]; 
    
$range_start $range[0];
    
    
    
// Если передан запрос на часть файла
    
if($range[0] > || $range[1] < $size
    {
        
// Стоп части
        
$range_stop $range[1]-1;
        
        
header("206 HTTP/1.0 Partial content");
        
header("Content-Length: $part_size");
        
header("Content-Range: bytes $range_start-$range_stop/$size");    
        
header("Accept-Ranges: bytes");
    }
    else
    { 
        
header("Content-Length: $size");
    }
    
    
header('Content-Type: application/x-shockwave-flash; name="'.$filename.'"');
    
header('Content-Disposition: inline; filename="'.$filename.'"');
    
    
// Устанавливаем указатель на позицию Старт
    
fseek($handle$range_startSEEK_SET);
    if(
$range[1] == $size)
    {
        
fpassthru($handle);
    }
    else
    {
        for(
$blklen 16384$pos $range_start$pos $range[1]; $pos += $buflen)
        {
            if(
$range[1]-$pos $blklen
                    
$blklen intval($range[1]-$pos); 
            
            
$buffer fread($handle$blklen); 
            
$buflen strlen($buffer); 
            echo 
$buffer
        } 
    }
}

$file 'slide.swf';

get($file);

?>



index.html - Простой штмл-файл, в который флэшка вставлена так:

<object id="presentation" width="640" height="516"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="lesson_0.php" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="allowFullScreen" value="true" />
<embed src="lesson_0.php" quality="high" bgcolor="#ffffff" width="640" height="516"
 name="presentation" align="middle" allowScriptAccess="sameDomain" 
type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowFullScreen="true" />
</object>



Проблема в том, что если slide.swf выдается скриптом lesson_0.php, то при заходе на страницу index.html, и когда начинается загрузка самой флэшки slide.swf, страница вешается полностью и не реагирует на клики по любым другим ссылкам, до тех пор, пока флэшка slide.swf полностью не загрузится.

Если эту же флэшку slide.swf, выдавать напрямую, так:


<object id="presentation" width="640" height="516"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="slide.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="allowFullScreen" value="true" />
<embed src="slide.swf" quality="high"
bgcolor="#ffffff" width="640" height="516"
name="presentation" align="middle" allowScriptAccess="sameDomain" 
type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowFullScreen="true" />
</object>

то никаких проблем.

В чем может быть косяк? Может эта флэшка начинается грузиться на полной скорости, и забивает весь какнал? Может надо как-то органичить скорость выдачи файла в скрипте lesson_0.php? Или это какая-то особенность сервера?

  Ответить  
 
 автор: cheops   (13.04.2011 в 21:54)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

1) Какого размера флешка?
2) У самой флешки есть предзагрузчик?
3) Какова цель PHP-скрипта, почему так сложно отдается флешка?
4) Почему используется HTTP/1.0, а не HTTP/1.1 (очень даже может быть, что дело в этом)?

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:03)   письмо автору
 
   для: cheops   (13.04.2011 в 21:54)
 

>1) Какого размера флешка?

В данном примере, размер флэшки 47 мб - 2 часовая запись вебинара. Также пробовал на маленьких флэшках по 5-7 мб - эффект тот же самый, только сайт вешается на меньшее кол-во времени, потому что 5-7 мб грузятся быстрй, чем 47 мб.

>2) У самой флешки есть предзагрузчик?

Пробовал и с пердзагрузчиком, та же фигня, когда флэшка начинается грузиться (индикатор предзагрузчика двигается) сайт висит, на клики по ссылкам не отвечает.

>3) Какова цель PHP-скрипта, почему так сложно отдается флешка?

Цель - выдавать флэшки только авторизованым пользователям, чтобы небыло прямых ссылок, по которым к ним можно попасть без авторизации.

>4) Почему используется HTTP/1.0, а не HTTP/1.1?

Не знаю, скрипт выдачи файлов вообще писал давно. Может это мое упущение, сейчас поменяю, протестирую. :)

  Ответить  
 
 автор: cheops   (13.04.2011 в 22:06)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:03)
 

>Цель - выдавать флэшки только авторизованым пользователям, чтобы небыло прямых ссылок,
>по которым к ним можно попасть без авторизации.
Хм... а самой флешке её не хотите сделать?

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:08)   письмо автору
 
   для: cheops   (13.04.2011 в 22:06)
 

>>Цель - выдавать флэшки только авторизованым пользователям, чтобы небыло прямых ссылок,
>>по которым к ним можно попасть без авторизации.
>Хм... а самой флешке её не хотите сделать?

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

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:08)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:03)
 

Протестировал. Поменял строку header("206 HTTP/1.0 Partial content"); на header("206 HTTP/1.1 Partial content"); - ничего не изменилось.

  Ответить  
 
 автор: cheops   (13.04.2011 в 22:17)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:08)
 

Ситуация во всех браузерах воспроизводится?

Adobe в своих плеерах и флешках могла нафиговертить что угодно... Не уверен, что там чистый файл идет по HTTP, хотя сам HTTP вроде не предоствляет широкого выбора... Наверное в такой систуации остается только гуглить заграницу или брать в руки снифер и смотреть что там на самом деле передается между сервером и Flash-плеером.

PS Как вариант, закрывать базовой авторизацией - не очень эстетично, зато флешки будут работать как обычно.

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:34)   письмо автору
 
   для: cheops   (13.04.2011 в 22:17)
 

>Ситуация во всех браузерах воспроизводится?

Да. Тестировал в Опере, в FF, в IE 8. Везде одно и то же.

>Adobe в своих плеерах и флешках могла нафиговертить что угодно... Не уверен, что там чистый файл идет по HTTP, хотя сам HTTP вроде не предоствляет широкого выбора...

Что значит "чистый файл"? И почему думаете что дело во флэшке? Ведь когда эта же флэшка, выдается напрямую, косяк не наблюдается.


>Наверное в такой систуации остается только гуглить заграницу или брать в руки снифер и смотреть что там на самом деле передается между сервером и Flash-плеером.


>PS Как вариант, закрывать базовой авторизацией - не очень эстетично, зато флешки будут работать как обычно.

Да, такая авторизация тоже не подходит, думал уже об этом.

  Ответить  
 
 автор: cheops   (13.04.2011 в 22:53)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:34)
 

>Что значит "чистый файл"?
>И почему думаете что дело во флэшке? Ведь когда эта же флэшка, выдается напрямую, косяк не
>наблюдается.
Вообще должно быть так. То что выдаете вы, ничем не отличается от того, что выдает ваш скрипт. Кроме того, дела Flash-плеера как бы не должны затрагивать другие потоки, даже если этому флешплееру выделили один поток на загрузку без дозагрузки... Если честно, у меня пока никаких здравых мыслей нет. Поищите снифер (наверное есть подходящий плагин для FF) и посмотрите, чем HTTP-обмен на обычной странице отличается от HTTP-обмена на вашей странице.

PS При помощи mod_rewrite или переопределением обработчика измените расширение скрипта на .swf - может этой заразе расширение php не нравится?

  Ответить  
 
 автор: SHAman   (13.04.2011 в 22:39)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

А нет ли где ненароком буфферизации вывода?

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:42)   письмо автору
 
   для: SHAman   (13.04.2011 в 22:39)
 

Есть такая штука.
Но для тестов делал чистый штмал, и в нем тоже такой же глюк.

  Ответить  
 
 автор: cheops   (13.04.2011 в 22:54)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:42)
 

Нет, имеется в виду в php.ini на уровне PHP? Не может скрипт отдачи файла притормаживать и вываливать информацию попозже огромным куском?

  Ответить  
 
 автор: tAleks   (13.04.2011 в 22:55)   письмо автору
 
   для: cheops   (13.04.2011 в 22:54)
 

Это какую строку там искать? И меня хостер-то к ней пустит, к этой строке? ;)

> Не может скрипт отдачи файла притормаживать и вываливать информацию попозже огромным куском?

Это как?

  Ответить  
 
 автор: cheops   (13.04.2011 в 22:59)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:55)
 

>Это какую строку там искать? И меня хостер-то к ней пустит, к этой строке? ;)
output_buffering (в phpinfo() посмотреть можно).

PS Хостер часом не masterhost?

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:04)   письмо автору
 
   для: cheops   (13.04.2011 в 22:59)
 

>output_buffering (в phpinfo() посмотреть можно).

phpinfo() - выдала что на хостинге в разделе Configuration PHP Core:
output_buffering = 4096 и Local Value и Master Value

Что это означает?


>PS Хостер часом не masterhost?

нет, sweb.ru

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:07)   письмо автору
 
   для: tAleks   (13.04.2011 в 23:04)
 

>Что это означает?
Это означает, что буферизация включена, но буфер размером 4Кб, т.е. как только в нем накапливается столько информации, она отправляется клиенту. Т.е. дело не в этом.

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:13)   письмо автору
 
   для: cheops   (13.04.2011 в 23:07)
 

Т.е. я не понял, данная буферизация в данном случае, для меня это хорошо или плохо? Че-то я не врубился в ее суть. (может потому что у меня уже 2 час ночи.. ;)

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:20)   письмо автору
 
   для: tAleks   (13.04.2011 в 23:13)
 

В данном случае вам от неё не тепло, не жарко.

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:01)   письмо автору
 
   для: tAleks   (13.04.2011 в 22:55)
 

>Это как?
По умолчанию PHP-скрипт действует как интерпретатор, произошло событие выдачи информации - она отправилась клиенту, если включена буферизация, информация клиенту может отправиться только после того, как скрипт закончил работу (если буфер не переполнится, хотя по моим представлениям 50Мб для буфера многова-то, должен переполняться).

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:07)   письмо автору
 
   для: cheops   (13.04.2011 в 23:01)
 

>хотя по моим представлениям 50Мб для буфера многова-то, должен переполняться.

50 мб, имеется ввиду что моя флэшка 47 мб (почти 50 мб) слишком большая? Но ведь и маленькие по 5-7 мб тоже глючат.

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:10)   письмо автору
 
   для: tAleks   (13.04.2011 в 23:07)
 

О чем и речь, что буфер не может зажать такую кучу информации, тем более, что мы выяснили, что он 4Кб и ничего спрятать от браузера не может.

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:19)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

Попробуйте все-таки lesson_0.php превратить в slide.swf (при помощи .htacces), я боюсь, что следующие заголовки могут быть причиной: как бы разница в двух вызовах только в названии файла, а вы имя одно подставляете, а через HTTP-заголовок сообщаете другое, может Flash-плеер от греха подальше файл полностью и грузит. А может он вообще файлы переименовывать не умеет и оставляет это дело браузеру.
    header('Content-Type: application/x-shockwave-flash; name="'.$filename.'"'); 
    header('Content-Disposition: inline; filename="'.$filename.'"');

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:27)   письмо автору
 
   для: cheops   (13.04.2011 в 23:19)
 

В мод_реврайте не очень разбираюсь, подскажите если не сложно, кратенький пример, на мою тему. Спасибо!

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:31)   письмо автору
 
   для: tAleks   (13.04.2011 в 23:27)
 

В .htaccess поместите следующие строки
RewriteEngine on
RewriteRule slide.swf lesson_0.php [L]
и в качестве имени используйте slide.swf, сервер при запросе slide.swf, отдаст результат выполнения lesson_0.php.

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:33)   письмо автору
 
   для: cheops   (13.04.2011 в 23:31)
 

Это при условии, что все это лежит в корне сайта? или это не важно?

  Ответить  
 
 автор: cheops   (13.04.2011 в 23:35)   письмо автору
 
   для: tAleks   (13.04.2011 в 23:33)
 

Не важно, в любом случае всегда сможете проверить, обратившись к файлу slide.swf напрямую через строку запроса - если начнется загружаться, значит ReWrite-правила сработали, если вернет 404 ошибку, значит правила не сработали.

  Ответить  
 
 автор: tAleks   (13.04.2011 в 23:41)   письмо автору
 
   для: cheops   (13.04.2011 в 23:31)
 

Сделал, правило сработало, файл выдается, но сайт также висит, когда идет загрузка....

  Ответить  
 
 автор: tAleks   (14.04.2011 в 12:29)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

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

Я на файлообменник залил 3 этих файла: http://files.mail.ru/HMHU6H
slide.swf только урезал до 8 мб.

В файле index.html сверху две ссылки:
1. '/' - веедт на главтную страницу сайта
2. '/registration/'

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

Буду очень благодарен. Спасибо.

  Ответить  
 
 автор: cheops   (14.04.2011 в 12:37)   письмо автору
 
   для: tAleks   (14.04.2011 в 12:29)
 

Мне удается переходить (Opera 11.10, Apache 2.2, PHP 5.2).

  Ответить  
 
 автор: tAleks   (14.04.2011 в 12:38)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

ОПА! Кажись нашел куда рыть...
У меня в корне лежит .htaccess в которм есть директива php_value auto_prepend_file
Закинул сейчас все эти три файла в отдельную папку, и закинул туда же .htaccess с директивой php_value auto_prepend_file none - и все заработало...

Сейчас буду разбираться, что же там, в этом автоподключаемом файле мне мешает.... :)

Всем спасбио за участие.

  Ответить  
 
 автор: tAleks   (14.04.2011 в 14:31)   письмо автору
 
   для: tAleks   (14.04.2011 в 12:38)
 

Накопал кое-что, но логику понять не могу. Помогите разобраться.

Суть в следующем.

В одном из автоматически включаемых файлов (php_value auto_prepend_file) стартуеет именуемая сессия:

session_name('root');
session_start();


И это как то связано с вышеописанным глюком.

Сделал следующий эксперимент:

1. Отключил php_value auto_prepend_file none
2. старт сессию перенес в файл lesson_0.php, в начало файла добавил две строки:

session_name('root');
session_start();


В итоге, глюк присутствует. Убираю две эти строки - глюк отсутствует.

Но, самое интересное в том, что не нравится имя сессии. Если делаю имя сессии например session_name('root1'), то глюка нет.

Еще один эесперимент

На сайте есть несколько субдоментов (на сайте есть несколько консультантов, и каждому консультанту выдается субдомен, например sergei.site.ru) и на субдоменах сессия именуется по субдомену. Например на субдомене sergei.site.ru сессия именуется session_name('sergei'). И прикол в том, что если захожу на страницу c флэшкой с субдомена sergei.site.ru (сессия sergei) - глюк есть. Переименовываю сессию вручную, например на sergei1, захожу с субдомена sergei.site.ru - глюка нет.

Вывод (мой, изходя из экспериментов):

На главном домене site.ru "ему" не нравится имя сессии root.
На субдоменах - не нравтся имя сессии, такое же как первая часть субдомена.

Короче, че-то я уже совсем запустался с этим косяком.

Нужна экстренняя помощь. Буду сильно благодарен! Помогите распутаться....

  Ответить  
 
 автор: cheops   (14.04.2011 в 14:46)   письмо автору
 
   для: tAleks   (14.04.2011 в 14:31)
 

Интересно, но не понятно. Вроде cookie, которые устанавливает Flash (да и самостоятельно ей это делать как бы не пошто) не должны пересекаться с пользовательскими cookie, тем более в таких простых названиях, как root.

  Ответить  
 
 автор: tAleks   (14.04.2011 в 14:55)   письмо автору
 
   для: cheops   (14.04.2011 в 14:46)
 

Сам в шоке...
Есть какие-нибудь идеи, как победить этот глюк?

Примечание: Только что еще раз протестировал в Опере и в FF - глюка нет.
В IE8 - глюк есть.

Че-то я вообще запустлся....

Прошу помощи.

  Ответить  
 
 автор: cheops   (14.04.2011 в 15:10)   письмо автору
 
   для: tAleks   (14.04.2011 в 14:55)
 

Ну то, что глюк только в Internet Explorer как раз нормально, для него Flash-плеер отдельно создается в виде ActiveX. Теоретически его поведение должно отличаться от поведения Flash-плеера для других браузеров. Вы даже флешку два раза из-за этого на страницу вставляете: собственно <object> как раз для Internet Explorer, а <embed> для всех остальных.

  Ответить  
 
 автор: tAleks   (14.04.2011 в 15:24)   письмо автору
 
   для: cheops   (14.04.2011 в 15:10)
 

Да, за пару лет программирования, я уже понял, что IE - это особый браузер....

Но вопрос остается открытым... как все-таки эту "хрень" победить... и че она привязалась к именам сессий... ?

  Ответить  
 
 автор: tAleks   (14.04.2011 в 22:39)   письмо автору
 
   для: tAleks   (13.04.2011 в 21:48)
 

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

Результат экспериментов следующий.

В файле .htaccess есть директива php_value auto_prepend_file "config.php"
В файле config.php стартует именованная сессия:

session_name('root');
session_start();


Так вот, если config.php подключаю через php_value auto_prepend_file то вышеописанный глюк присутствует в браузере IE8.

Если config.php подключаю конструкцией include() в файле lesson_0.php, то все нормально.

Кто разбирается в PHP, серверах, и прочих хитростях, у кого какие мысли есть на этот счет?
Может где в настройках есть еще какие-нибдь фишки, которые определяю как именно включается код, через директиву php_value auto_prepend_file, или еще что-то....?

  Ответить  
 
 автор: cheops   (14.04.2011 в 23:29)   письмо автору
 
   для: tAleks   (14.04.2011 в 22:39)
 

Если не сильно утомились, то попробуйте заменить include() на require() - ситуация изменяется или тоже все нормально?

  Ответить  
 
 автор: tAleks   (15.04.2011 в 11:37)   письмо автору
 
   для: cheops   (14.04.2011 в 23:29)
 

>Если не сильно утомились, то попробуйте заменить include() на require() - ситуация изменяется или тоже все нормально?

Ничего не изменилось, с require() глюк не наблюдается, все точто так же как и с include().

Если не трудно, протестируйте еще раз у себя, с включением файла config.php через .htaccess, и тестом в IE8.

Выложил архив сюда: http://files.mail.ru/J7P97W
Нужно будет только в .htaccess поправить путь от корня до config.php

На главной странице, в которую вставлена флэшка, сверху есть ссылка. Получится ли по ней перейти, в то время когда флэшка грузится.

Спасибо!

  Ответить  
 
 автор: cheops   (15.04.2011 в 16:32)   письмо автору
 
   для: tAleks   (15.04.2011 в 11:37)
 

Да, получается.

  Ответить  
 
 автор: tAleks   (15.04.2011 в 20:13)   письмо автору
 
   для: cheops   (15.04.2011 в 16:32)
 

>Да, получается.

Получается перейти по ссылке в момент когда флэшка грузится, именно в IE8? И когда конфиг подключен через .htaccess php_value auto_prepend_file?

  Ответить  
 
 автор: cheops   (15.04.2011 в 21:00)   письмо автору
 
   для: tAleks   (15.04.2011 в 20:13)
 

Да, получается. Правда, у меня IE 8 сейчас под рукой нет, тестировал в IE 7.

>И когда конфиг подключен через .htaccess php_value auto_prepend_file?
Да (путь отредактировал под свой виртуальный хост).

  Ответить  
 
 автор: tAleks   (15.04.2011 в 22:13)   письмо автору
 
   для: cheops   (15.04.2011 в 21:00)
 

Да, это меня в конец запутало... даже не знаю на кого бочку катить....

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

Если можно, напишите, я в личку скину ссылку. Спасибо.

  Ответить  
 
 автор: cheops   (15.04.2011 в 22:19)   письмо автору
 
   для: tAleks   (15.04.2011 в 22:13)
 

Давайте.

PS Выясните версию своего флеш-плеера (может в нем затык).

  Ответить  
 
 автор: tAleks   (16.04.2011 в 08:45)   письмо автору
 
   для: cheops   (15.04.2011 в 22:19)
 

Спасибо!
Отправил сообщение в личку.

Версия плеера 10.2.153.1...

  Ответить  
 
 автор: tAleks   (16.04.2011 в 08:49)   письмо автору
 
   для: cheops   (15.04.2011 в 22:19)
 

Только что обновли флэш-плеер до последней 10.2.159.1 версии. Результата никакого, тот же висяк.

  Ответить  
 
 автор: cheops   (16.04.2011 в 09:10)   письмо автору
 
   для: tAleks   (16.04.2011 в 08:49)
 

На конечном сервере ситуация воспроизводится. Все как вы и описывали: в IE пока флешка грузится переход по ссылкам не осуществляется, новые вкладки не открываются, в Opera все нормально.

  Ответить  
 
 автор: tAleks   (16.04.2011 в 12:12)   письмо автору
 
   для: cheops   (16.04.2011 в 09:10)
 

Есть какие-нибудь идеи, как решить данную задачу?

Может это связано с какими-то другими настройками сервера? Может через .htaccess что-то надо поднастроить? Только вот, что именно? Есть какие нибудь идеи на этот счет? Хотя бы напраление, какие-нибудь зацепки, в какую сторону хоть идти?

  Ответить  
 
 автор: cheops   (16.04.2011 в 12:16)   письмо автору
 
   для: tAleks   (16.04.2011 в 12:12)
 

Отказывайтесь от auto_prepend_file. Тем более, что это не совсем хорошо с архитектурной точки зрения и сильно снижает читабельность кода, я бы в .htaccess не догадался бы посмотреть (думаю масса разработчиков о такой возможности либо не подозревают, либо не помнят). Да и при установке движка, .htaccess придется редактировать, восстанавливая полный путь. Лучше использовать require().

  Ответить  
 
 автор: tAleks   (16.04.2011 в 12:23)   письмо автору
 
   для: cheops   (16.04.2011 в 12:16)
 

В том-то и дело, что движок самодельный, и сейчас чтобы это все передалть, надо все файлы перелапатить, и перезалить - тоже не очень хочется.

А если хостеру какой-нибудь вопрос задать? Как думаете, поможет, или пошлет? Ведь если на вашем сервере все работает, значит это либо совсем невероятный полтергейст, либо что-то с настройками сервера.

Подскажите, с какими настройками это в принципе может быть связано? Может лимиты памяти, или еще что-то? Хотя бы чисто гипотетически, какие настройки могут на это влиять?

  Ответить  
 
 автор: cheops   (16.04.2011 в 13:41)   письмо автору
 
   для: tAleks   (16.04.2011 в 12:23)
 

Странно, что это только в IE, хостер скорее всего протестирует в другом браузере и скажет, что все нормально или скажет, что за ошибки Microsoft не отвечает - в других браузерах же все нормально. Очень слабые позиции, чтобы атаковать службу тех.поддержки.

  Ответить  
 
 автор: tAleks   (16.04.2011 в 14:50)   письмо автору
 
   для: cheops   (16.04.2011 в 13:41)
 

А можете мне скинуть настройки вашего сервера? Я их сравню со своими, может что-нибудь экспериментальным путем вычислю...

  Ответить  
 
 автор: cheops   (16.04.2011 в 14:54)   письмо автору
 
   для: tAleks   (16.04.2011 в 14:50)
 

Да я собственно сервер никак особо не настраивал, это сервер на локальном хосте... если настройки вам как-нибудь помогут, могу поделиться.

PS Кроме того вы сообщали, что у вас явно какие-то привязки к доменным именам, когда доменное имя совпадает с именем SID сессии (в этих условиях, я не проверял), явно назначаемое при помощи функции session_name().

  Ответить  
 
 автор: tAleks   (17.04.2011 в 22:55)   письмо автору
 
   для: cheops   (16.04.2011 в 14:54)
 

>Да я собственно сервер никак особо не настраивал, это сервер на локальном хосте... если настройки вам как-нибудь помогут, могу поделиться.

Да, буду благодарен. Скиньте настройки на маил. (мали напишу в личку).
Поэкспериментирую, может что и получится.

  Ответить  
 
 автор: cheops   (17.04.2011 в 23:49)   письмо автору
 
   для: tAleks   (17.04.2011 в 22:55)
 

Хорошо, скину в ближайшие часы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования