Реклама на сайте Advertise with us

SmartCJ: FAQ от создателя скрипта (+ Hamster Embed)

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 02/05/11 в 16:57       Ответить с цитатойцитата 

Не смог найти FAQ тему, поэтому создам новую.

Уже не первый раз сталкиваюсь с конструкциями вида

include('http://otherdomain/1.html');

или

virtual('/scj/top/top.html');

причем таких конструкций может быть по 10 штук на темплейт. От скрипта это не зависит, так не надо делать вообще.

Почему:

ПХП отрабатывает ДО того как серфер получает страницу. Поэтому если у вас есть include('http://otherdomain/1.html'), который находится на другом сервере вы получаете задержку в отдаче страницы. А если по какой-то причине этот другой домен еще и решил притормозить, то у вас найнет тормозить в отдаче и оригинальный домен.

Даже если otherdomain на том же серваке, то как и в случае virtual('/scj/top/top.html'), на 1 запрос к серваку у вас получается как минимум 2: 1 запрос конкретно к вашему домену + 1 запрос include('http://otherdomain/1.html') или virtual('/scj/top/top.html').

Если у вас 10 инклудов вида virtual('/scj/top/top.html') то у вас сервак на 1 реальный запрос выполняет каждый раз еще 10 подзапросов. Как это отражается на нагрузке думаю объяснять не надо.


Как надо делать:

всегда юзать только локальные инклуды. Те virtual('/scj/top/top.html') надо делать как include('/home/user/domain/scj/top/top.html');

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

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

Последний раз редактировалось: LemonS (05/10/11 в 17:03), всего редактировалось 2 раз(а)

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

29
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 02/05/11 в 17:46       Ответить с цитатойцитата 

еще вариант

readfile('http://domsin/1.html') - это аналогично include('http://...')




Как обработать параметры

обычно банероротаторы инклудят через JS, но некоторые локальные ротаторы требуют инклуда в темплейте и их инклудят вида

<?php
include('http://domain.com/banner.php?x=3&y=2');
?>

поскольку это не совсем хороший вариант лучше сделать так

<?php
$_GET['x'] = 3;
$_GET['y'] = 2;
include('banner.php');
?>

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

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

10
 



С нами с 19.05.08
Сообщения: 1894
Рейтинг: 3625


Передовик Master-X (16.06.2010) Передовик Master-X (01.07.2010) Передовик Master-X (16.07.2010) Передовик Master-X (16.05.2011) Передовик Master-X (01.07.2012) Ветеран трепа Master-X (16.07.2012)
Ссылка на сообщениеДобавлено: 02/05/11 в 18:12       Ответить с цитатойцитата 

полезно и познавательно!

-13
 



С нами с 19.05.08
Сообщения: 1894
Рейтинг: 3625


Передовик Master-X (16.06.2010) Передовик Master-X (01.07.2010) Передовик Master-X (16.07.2010) Передовик Master-X (16.05.2011) Передовик Master-X (01.07.2012) Ветеран трепа Master-X (16.07.2012)
Ссылка на сообщениеДобавлено: 02/05/11 в 18:44       Ответить с цитатойцитата 

полезно и познавательно!

-14
 



С нами с 15.12.05
Сообщения: 287
Рейтинг: 293

Ссылка на сообщениеДобавлено: 02/05/11 в 21:56       Ответить с цитатойцитата 

а к таким SSI инклудам это тоже относится?
<!--#include virtual="/top/top.html" -->

3
 



С нами с 29.05.05
Сообщения: 673
Рейтинг: 294

Ссылка на сообщениеДобавлено: 03/05/11 в 15:41       Ответить с цитатойцитата 

LemonS писал:


всегда юзать только локальные инклуды. Те virtual('/scj/top/top.html') надо делать как include('/home/user/domain/scj/top/top.html');


они же оба локальные.
что, реально есть разница между абсолютным и относительным путем?

1
 

Адалт воскрес!

С нами с 10.11.07
Сообщения: 1300
Рейтинг: 140

Ссылка на сообщениеДобавлено: 03/05/11 в 15:50       Ответить с цитатойцитата 

Benny писал:
они же оба локальные.
что, реально есть разница между абсолютным и относительным путем?


тут разница в
"include" и "virtual"

STOP SOPA!

2
 



С нами с 21.09.03
Сообщения: 7329
Рейтинг: 2144

Ссылка на сообщениеДобавлено: 03/05/11 в 17:40       Ответить с цитатойцитата 

basta писал:
а к таким SSI инклудам это тоже относится?
<!--#include virtual="/top/top.html" -->



Да, относится. Если включаемый файл такой же (того же типа), как и включающий, то можно вместо virtual= использовать file=.

Моя подпись.

4
 



С нами с 07.06.10
Сообщения: 243
Рейтинг: 115

Ссылка на сообщениеДобавлено: 06/05/11 в 14:53       Ответить с цитатойцитата 

Народ, киньте, плиз, ссылку на толковый мануал по SmartCJ. А еще лучше на какой-нибудь туториал типа "Как сделать CJ на SmartCJ".

1
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 06/05/11 в 15:58       Ответить с цитатойцитата 

klesk: http://smartcj.com/wiki/ лучше этой только лично в асю icon_smile.gif

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

1
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 07/05/11 в 17:52       Ответить с цитатойцитата 

Не знаю как с инклудом по локальному и абсолютному пути, но на днях решил попробовать заменить абсолютные пути к картинкам на блоге типа <a href="http://my_blog.com/pics/img1.jpg"> на <a href="/pics/img1.jpg">. Был уверен, что загрузка ускорится, но все же сначала решил сделать тест: залил 500 одинаковых картинок где-то по 300 байт каждая (чтоб сама картинка долго не грузилась) с именами 001-500.jpg, выложил их на одну страницу, убрал для теста все с блога и тестил время загрузки в двух онлайн сервисах оба варианта. На мое удивление, оказалось что разницы по времени загрузки никакой.

0
 

Адалт воскрес!

С нами с 10.11.07
Сообщения: 1300
Рейтинг: 140

Ссылка на сообщениеДобавлено: 07/05/11 в 18:05       Ответить с цитатойцитата 

photomuza писал:
На мое удивление, оказалось что разницы по времени загрузки никакой.


так а за счёт чего будет меньше? на каждую картинку идёт всё равно отдельный запрос к серверу.

STOP SOPA!

0
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 07/05/11 в 18:32       Ответить с цитатойцитата 

Дык предполагал что абсолютный путь через http:// длинней хоть и с того же сервера icon_smile.gif Вот чет не сообразил попробовать <a href="img1.jpg">. А по такому быстрей будет соединяться? Хотя врочем все равно там милисекунды, и для меня, блоггера с 20-ю картинками в странице это пофиг, рельно быстрей загружается после включения плагина Супер кэш, он просто создает статичные страницы и всё, никакого тебе инклуда, никакого РНР, чиста ХТМЛ-ка грузится.

0
 

Адалт воскрес!

С нами с 10.11.07
Сообщения: 1300
Рейтинг: 140

Ссылка на сообщениеДобавлено: 07/05/11 в 19:13       Ответить с цитатойцитата 

photomuza писал:
Дык предполагал что абсолютный путь через http:// длинней хоть и с того же сервера icon_smile.gif Вот чет не сообразил попробовать <a href="img1.jpg">. А по такому быстрей будет соединяться?


мне кажется разницы вообще тут нет, всё это в итоге приведёт к одному и тому же запросу на сервер. в нём будет имя хоста и путь к картинке (абсолютный).
в примерах там дело не в путях, а в том что функции virtual и include работают по-разному

STOP SOPA!

4
 



С нами с 17.07.03
Сообщения: 270
Рейтинг: 206

Ссылка на сообщениеДобавлено: 08/05/11 в 02:12       Ответить с цитатойцитата 

а как быть с include("in.php"); ?

[an error occurred while processing the directive]

1
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 17/05/11 в 21:33       Ответить с цитатойцитата 

photomuza: вопрос не в длинне урла

http://domain.com/1.jpg
и
http://domain.com/1/2/3/4/5/6/7/8/1.jpg

загрузятся с одинаковой скоростью.

Вопрос в том, что при include() система сделает грубо следующее: (тем кто разбирается просьба не придираться и не усложнять пример)

1. приходит запрос к апачу например http://domain.com/index.php
2. система запускает пхп
3. он читает index.php
4. выполняет
5. видит include(file.php)
6. читает с диска file.php
7. выполняет и его за компанию
8. возвращает то что получилось у пхп - пользователю

в варианте virtual()

1. приходит запрос к апачу например http://domain.com/index.php
2. система запускает пхп
3. он читает index.php
4. выполняет
5. видит virtual(file.php)
тут отличие
- ага думает пхп, это ж подзапрос
- запускаем еще один процесс апача
- оттуда запускаем еще один процесс пхп
- он читает file.php, возвращает его изначальному процессу, тот компанует чего получилось
8. возвращает то что получилось у пхп - пользователю



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


istota: а какой с ним вопрос ? тут же бычный локальный инклуд, все хорошо.

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

5
 

Спасибо всем, кто еще МОЖЕТ!

С нами с 25.07.04
Сообщения: 3875
Рейтинг: 1570


Передовик Master-X (16.04.2011)
Ссылка на сообщениеДобавлено: 18/05/11 в 14:34       Ответить с цитатойцитата 

LemonS: Спасибо за популярное разъяснение icon_smile.gif Но мое предположение было не в длине урла, а в другом: в том что путь http://... предполагает заход "с улицы", а путь /folder... - заход "по месту", т.е. внутри сервера. Поэтому и думал, что будет разное время на запрос.

0
 

Дрочу на статсы*

С нами с 09.10.06
Сообщения: 1940
Рейтинг: 1288

Ссылка на сообщениеДобавлено: 19/05/11 в 23:06       Ответить с цитатойцитата 

Оффтопик:
тут другое совсем
полный путь для <image src="/image.jpg"> все равно будет h++p://domain.com/image.jpg
и на каждую картинку в любом случае отдельный запрос к вебсерверу, поэтому и ставят люди на сиджах более легкий nginx на статику

в случае с php запрос к вебсерверу только если вызываем его извне, h++p://domain.com/script.php вместо /home/domain.com/script.php


LemonS: спасибо за полезный топик

Домен в выдаче? Это не твоя заслуга, это наша недоработка. (c)google

0
 



С нами с 11.10.07
Сообщения: 383
Рейтинг: 16

Ссылка на сообщениеДобавлено: 05/07/11 в 12:27       Ответить с цитатойцитата 

Как убрать:
<!--This page was generated by SmartCJ : free version -->
?

0
 

маниакально- депрессивный псих

С нами с 21.02.09
Сообщения: 1445
Рейтинг: 860

Ссылка на сообщениеДобавлено: 05/07/11 в 14:32       Ответить с цитатойцитата 

artweb: купить у Лемона лицензию

CDN from $0,8/Mbps - от адванседов

3
 



С нами с 30.04.06
Сообщения: 3096
Рейтинг: 2025

Ссылка на сообщениеДобавлено: 05/07/11 в 17:40       Ответить с цитатойцитата 

artweb писал:
Как убрать:
<!--This page was generated by SmartCJ : free version -->
?

Оффтопик: А чем тебе это мешает ?

Сдается в наем ....

0
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 11/07/11 в 11:45       Ответить с цитатойцитата 

artweb: по идее ничем мешать не должно, ставят практически все скрипты включая тот же ВП.

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

0
 



С нами с 11.10.07
Сообщения: 383
Рейтинг: 16

Ссылка на сообщениеДобавлено: 13/07/11 в 22:45       Ответить с цитатойцитата 

LemonS писал:
artweb: по идее ничем мешать не должно, ставят практически все скрипты включая тот же ВП.

Я параною на счет гугла. Можно все смарты отправить в песок на раз.

0
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 27/07/11 в 17:08       Ответить с цитатойцитата 

Столкнулся еще с вопросом, который можно в faq. Это относится ко всем скриптам, но пишу сюда что б не плодить темы.

Например, используется внешний ротатор и smartcj (в реальности не важно какой скрипт трейда).

имеем ссылку вида

хттп://yourdomain/rotator/out.php?param1=a&u=/scj/cgi/out.php?url=http://galleries.com/index.html

Все работает хорошо:юзер кликает на линк, его шлет на rotator/out.php? этот скрипт видит парамер u= и пересылает на нужный урл.


но тут мы решили добавить скиминг в урл.

хттп://yourdomain/rotator/out.php?param1=a&u=/scj/cgi/out.php?p=60&url=http://galleries.com/index.html

Казалось бы все хорошо, однако шлет не туда.

Разгадка в следующем: парамеры в урле разделяются по занаку &.
значит скрипт /rotator/out.php получит следующие парамеры (разделяем по &) :

param1=a
u=/scj/cgi/out.php?p=60
url=http://galleries.com/index.html

как видно парамер u будет равен /scj/cgi/out.php?p=60, /rotator/out.php откравит на этот урл, а урл гали можно сказать потеряется.

Для того, что бы /rotator/out.php понял что "url=http://galleries.com/index.html" это так же часть относящаяся к параметру u= надо & заменить %26. Те урл должен быть таким:

хттп://yourdomain/rotator/out.php?param1=a&u=/scj/cgi/out.php?p=60%26url=http://galleries.com/index.html

функция замены & на %26 существует по всех ротаторах вроде бы.

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

0
 



С нами с 11.01.07
Сообщения: 3607
Рейтинг: 2686


Передовик Master-X (16.01.2013) Передовик Master-X (01.02.2013) Передовик Master-X (16.02.2014)
Ссылка на сообщениеДобавлено: 01/08/11 в 15:07       Ответить с цитатойцитата 

Adult Empire и кастом гали

У Adult Empire для каждой гали есть свой join url, например на гале

http://galleries.adult-empire.com/7586/471609/7394/index.php

join url у нее

http://www.adult-empire.com/rs.php?site_id=7586&wm_id=7394&…_id=471609


Выступлю в роли капитана очевидность, но смысл отдельного джойна в том, что для нишевых галер - нишевые страницы джойна.


Проблема: если вы делаете у себя кастомные гали то спонсор у них один - AE и таким образом join url на всех галерах получается один и тот же, теряются персональные джоины. Дабы не терялось надо делать так:

В начало темплейта (вероятнее всего custom_content_pic) добавляем код
Код: [развернуть]


и в нужном месте темплейта где нам надо урл на нишевый джоин

Код: [развернуть]



Все icon_smile.gif

FREE NETWORK ! @ SmartCJ - самый умный trade script
Public BL hosted by Hostiserver.com

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор сайта

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »