Перейти к публикации

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

Поржал от души. test343 пишите еще. Либо вы совсем тупой, либо я уже даже и не знаю как вас назвать. Вам разработчик движка очень все конкретно расписал, что нужно сделать для обеспечения нормального функционирования скрипта. Вы же как баран уперлись рогом и пытаетесь всем доказать, что вы суперневъебенный программист. Владимир я бы на вашем месте его давно бы уже забанил.

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

Цирк! Поржал от души.

Владимир говорит что делать, а тот след сообщением одну и туже фразу повторяет, абасцать колени!!!!

Афтор:

1. Настрой правильно php.ini

2. Включи интернет на компе

3. На ебэе моцк купи

:)

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

test343, ты "этот продукт" (Denwer) ещё даже не опробывал, а уже говоришь - что это какая-то "сторонняя" гадость!

Я когда был тупым молодым тупарезом, как ты, - я тоже так думал - всё должно быть официально и т.д. и т.п.

Но у меня них фига не стало получаться, забил... Услышал о сборке как "Denwer", поставил легко - и вуаля! Он сам всё за тебя сделает!!! B)

В общем test343 не доставай celsoft`а, а: если нехочешь ставить какую либо сборку сервера: учи понятия php apache mysql и т.д. и т.п.

С этой проблемой.. думаю никто помогать не будет! :angry:

Изменено пользователем maks1192
Ссылка на сообщение
Поделиться на других сайтах

Итак, я разобрался, почему не работает DEMO версия DLE. Я сейчас напишу, в чем проблема, и как ее исправить, хотя я более чем уверен, что никто из программистов DLE не будет вносить соответствующие изменения в исходный код. Это я понял по тем агрессивным комментариям крутых кодеров, которые уверены, что в их продукте просто не может быть проблем. Да не в этом суть. Итак:

1. Интернет у меня на хосте есть (я уже устал это повторять). Но! Интернет у меня через proxy сервер! А что это означает? А то, что код вида file_get_contents($url) или $ch = curl_init($url); $response = curl_exec($ch); вешается, и скрипт тупо умирает по таймауту! Почему? Да потому что, если сервер находится за прокси, то необходимо передать настройки proxy сервера в вызовы file_get_contents (соответсвенно curl_init). Вот пример кода в случае proxy:

$opts = array('http' => array('proxy' => 'tcp:// proxy_server_host ', 'request_fulluri' => true));

$connection = stream_context_create($opts);

$response = file_get_contents($url, null, $connection);

$ch = curl_init($url);

//Настраивать прокси тут:

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE);

curl_setopt($ch, CURLOPT_PROXYPORT, port);

curl_setopt($ch, CURLOPT_PROXY, proxy_server_host);

curl_setopt($ch, CURLOPT_PROXYUSERPWD, "user:pass");

$response = curl_exec($ch);

Дальше, даже если при использовании file_get_contents или curl_init не используется proxy, ВСЕГДА необходимо выставлять таймауты на запросы, а не полагаться на то что функции как-то сработают там (даже если сервер недоступен). Это можно сделать так:

ini_set('default_socket_timeout', $timeout);//для file_get_contents

curl_setopt(($ch, CURLOPT_TIMEOUT, $timeout);//для curl_exec

2. Установка denver проблем НИКАК не решила. Это понятно почему – смотри пункт 1.

3. Учите матчасть!

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

Продукт-то здесь с какого боку. Denwer не решил проблем, поставь appserver и т.д. и т.п., подозреваю что "такая каша" творится у вас на компе.

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

Дальше, даже если при использовании file_get_contents или curl_init не используется proxy, ВСЕГДА необходимо выставлять таймауты на запросы, а не полагаться на то что функции как-то сработают там (даже если сервер недоступен). Это можно сделать так:

3. Учите матчасть!

Да будет вам известно, о великий вы наш программист. Скрипт использует CURL и таймауты для CURL в скрипте ВЫСТАВЛЕНЫ и равны десяти секундам. И не несите тут бред про мат. части.

ini_set('default_socket_timeout', $timeout);//для file_get_contents

Для особо одаренных программистов ini_set это скриптовое замещение настроек php.ini которое не будет работать на 90% хостингов, и хостинги сами настраивают эти таймауты и не позволяют скриптом замещать настройки PHP, на которых кстати и будет стоять сайт вашего заказчика и не один профессиональный программист никогда не будет использовать эту функцию и полагаться на нее.

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

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

upload\engine\ajax\rss.php

function get_content ($scheme, $host, $path, $query, $others=''){

if (function_exists('curl_init')) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $scheme."://".$host.$path."?".$query);

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

curl_setopt($ch, CURLOPT_REFERER, $scheme."://".$host.$path.$query);

if ($others != '') curl_setopt($ch, CURLOPT_COOKIE, $others);

@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);

curl_close($ch);

if ($data) return $data; else return false;

}

else

{

if (!empty($others)) $others = "Cookie: ".$others."\r\n";

else $others = "";

$post="GET $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n{$others}User-Agent: ".$_SERVER['HTTP_USER_AGENT']."\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n$query";

$h=@fsockopen($host,80, $errno, $errstr, 30);

if (!$h) {

return false;

}

else

{

fwrite($h,$post);

for($a=0,$r='';!$a;){

$b=fread($h,8192);

$r.=$b;

$a=(($b=='')?1:0);

}

fclose($h);

}

return $r;

}

}

Как мы видим, ни какой таймаут в curl_setopt тут и не выставляется!

А вот еще:

upload\engine\editor\jscripts\tiny_mce\plugins\spellchecker\classes\GoogleSpell.php

function &_getMatches($lang, $str) {

$server = "www.google.com";

$port = 443;

$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";

$host = "www.google.com";

$url = "https://" . $server;

// Setup XML request

$xml = '<?xml version="1.0" encoding="utf-8" ?><spellrequest textalreadyclipped="0" ignoredups="0" ignoredigits="1" ignoreallcaps="1"><text>' . $str . '</text></spellrequest>';

$header = "POST ".$path." HTTP/1.0 \r\n";

$header .= "MIME-Version: 1.0 \r\n";

$header .= "Content-type: application/PTI26 \r\n";

$header .= "Content-length: ".strlen($xml)." \r\n";

$header .= "Content-transfer-encoding: text \r\n";

$header .= "Request-number: 1 \r\n";

$header .= "Document-type: Request \r\n";

$header .= "Interface-Version: Test 1.4 \r\n";

$header .= "Connection: close \r\n\r\n";

$header .= $xml;

// Use curl if it exists

if (function_exists('curl_init')) {

// Use curl

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$xml = curl_exec($ch);

curl_close($ch);

} else {

// Use raw sockets

$fp = fsockopen("ssl://" . $server, $port, $errno, $errstr, 30);

if ($fp) {

// Send request

fwrite($fp, $header);

// Read response

$xml = "";

while (!feof($fp))

$xml .= fgets($fp, 128);

fclose($fp);

} else

echo "Could not open SSL connection to google.";

}

// Grab and parse content

$matches = array();

preg_match_all('/<c o="([^"]*)" l="([^"]*)" s="([^"]*)">([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER);

return $matches;

}

И как мы опять видим, ни какой таймаут в curl_setopt тут и не выставляется!

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

Как мы видим, ни какой таймаут в curl_setopt тут и не выставляется!

файл engine/ajax/rss.php никакого отношения к RSS информерам не имеет, более того пользовательской частью скрипта (читай главной) не используется вообще, это один из дополнительных компонентов админпанели, которые даже не вызовутся скриптом, когда на сервере скриптом будет обнаружено отсутствие интернета, тоже самое касается и upload\engine\editor\jscripts\tiny_mce\plugins\spellchecker\classes\GoogleSpell.php

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

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

Ну вы же не будете этого делать, потому что в вашей идеальной системе просто не может быть проблем!

Изменено пользователем test343
Ссылка на сообщение
Поделиться на других сайтах

Ну вы же не будете этого делать, потому что в вашей идеальной системе просто не может быть проблем!

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

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

ржу-нимагу с темы))) Уже второй день читаю...

Аля, купил молот, забил им винт и пошёл жаловаться на молоток, что теперь винт не выкрутить :D

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

Угараю, т.е. получается скрипт должен определить юзает ли человек прокси, узнать адрес, логин и пароль и работать через прокси?

абасцать калени :)) такого цирка нигде не видел

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

Интересно, хоть ОДИН ХОСТЕР до такого идиотства додумается?На какой рабочей площадке будет прокси стоять?Купи хостинг за 50 рублей блин, ленивый ТС!

WinXP вообще в качестве сервера на котором что-то делать можно бред!

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

Угараю, т.е. получается скрипт должен определить юзает ли человек прокси, узнать адрес, логин и пароль и работать через прокси?абасцать калени :)) такого цирка нигде не видел

Научитесь читать и думать, прежде чем что-то брякать не в тему.

Для начала система должна ХОТЬ КАК-ТО работать, независимо от того, через прокси интернет или нет, пусть даже в случае прокси часть функций системы будет недоступно. На данный момент же имеется АБСОЛЮТНО неработающий front end – браузер выдает пустую страницу. Более того изменить настройками я это никак не могу – отключение RSS никак не помогает. Исходники я тоже менять не могу, потому что демо-версия поставляется с криптованными исходниками.

Дальше. Речь здесь не о разворачивании рабочей версии на рабочем хосте, а о возможности посмотреть функционал DLE на тестовой машине. А сделать это невозможно в силу причин описанных выше.

Дальше. Как я узнал, что это зависит от прокси? Все очень просто – я не поленился и развернул DLE на 2-х машинах, на 1-й интернет через прокси, а на 2-й без него. На 1-й машине абсолютно неработающая система, а на 2-й все работает!

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

Дальше. По поводу того как настраивать прокси сервер. Опять тут все просто. Конечно же, система не может никак узнать настройки прокси – адрес, порт, логии пароль. Это должно делаться на этапе инсталляции, либо в административной панели. При незаданных настройках прокси, он просто не должен использоваться. Настройка прокси-сервера желательная, но необязательно – повторяю, система должна ХОТЬ КАК-ТО работать, независимо от того, через прокси интернет или нет, пусть даже в случае прокси часть функций системы будет недоступно.

Интересно, хоть ОДИН ХОСТЕР до такого идиотства додумается?На какой рабочей площадке будет прокси стоять?Купи хостинг за 50 рублей блин, ленивый ТС!WinXP вообще в качестве сервера на котором что-то делать можно бред!

Научитесь читать и думать, прежде чем что-то брякать не в тему.

Для начала система должна ХОТЬ КАК-ТО работать, независимо от того, через прокси интернет или нет, пусть даже в случае прокси часть функций системы будет недоступно. На данный момент же имеется АБСОЛЮТНО неработающий front end – браузер выдает пустую страницу. Более того изменить настройками я это никак не могу – отключение RSS никак не помогает. Исходники я тоже менять не могу, потому что демо-версия поставляется с криптованными исходниками.

Дальше. Речь здесь не о разворачивании рабочей версии на рабочем хосте, а о возможности посмотреть функционал DLE на тестовой машине. А сделать это невозможно в силу причин описанных выше.

Дальше. Как я узнал, что это зависит от прокси? Все очень просто – я не поленился и развернул DLE на 2-х машинах, на 1-й интернет через прокси, а на 2-й без него. На 1-й машине абсолютно неработающая система, а на 2-й все работает!

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

Дальше. По поводу того как настраивать прокси сервер. Опять тут все просто. Конечно же, система не может никак узнать настройки прокси – адрес, порт, логии пароль. Это должно делаться на этапе инсталляции, либо в административной панели. При незаданных настройках прокси, он просто не должен использоваться. Настройка прокси-сервера желательная, но необязательно – повторяю, система должна ХОТЬ КАК-ТО работать, независимо от того, через прокси интернет или нет, пусть даже в случае прокси часть функций системы будет недоступно.

Изменено пользователем test343
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...