Раньше использовал такое подключение файла для соединения с базой данных:
require('config.php');
после выполнения нужных действий следовало:
mysql_close($con);
После переделки скрипта опытным человеком теперь используется такое:
require_once('config.php');
mysql_close($con); - было при переделке вынесено отовсюду, но я не помню, было ли хоть одно единственное подвале....
вопрос: нужно ли закрывать соединение, также как и в первом случае? По идее оно и так однократное ...
Спустя 6 часов, 44 минуты, 34 секунды (3.07.2011 - 06:37) inpost написал(а):
vagon
Дело тут совсем в другом.
Соединение само закрывается в конце страницы всей, если с момента твоей строчки mysql_close($con); ещё много-много кода, как у меня на сайте, то закрывать надо, зачем висеть лишнему соединению с БД когда более он не нужен, так как MySQL имеет лимит открытых соединений. Если же у тебя закрытие в конце файла - то разницы никакой.
Дело тут совсем в другом.
Соединение само закрывается в конце страницы всей, если с момента твоей строчки mysql_close($con); ещё много-много кода, как у меня на сайте, то закрывать надо, зачем висеть лишнему соединению с БД когда более он не нужен, так как MySQL имеет лимит открытых соединений. Если же у тебя закрытие в конце файла - то разницы никакой.
Спустя 7 часов, 52 минуты, 24 секунды (3.07.2011 - 14:29) vagon написал(а):
Цитата |
Если же у тебя закрытие в конце файла - то разницы никакой. |
Так в том и дело что открывается оно в голове, и все до подвала работает на нем же. в подвале закрывать нужно или нет? После подвала уже нет никакого кода. Страница кончилась.
Спустя 3 часа, 16 минут, 56 секунд (3.07.2011 - 17:46) inpost написал(а):
vagon
Изучай MVC, тогда оно будет закрываться ещё до создания страницы, приблизительно 20-30% всего кода обработается и соединение закроется, а после уже работать будешь с полученными данными. Вот тут вообще про MVC: irbis-team.com
Изучай MVC, тогда оно будет закрываться ещё до создания страницы, приблизительно 20-30% всего кода обработается и соединение закроется, а после уже работать будешь с полученными данными. Вот тут вообще про MVC: irbis-team.com
Спустя 2 часа, 8 минут, 14 секунд (3.07.2011 - 19:55) Guest написал(а):
На irbis-team.com ничего про MVC не нашел. Закрывать то нужно вообще или нет?

Спустя 6 минут, 48 секунд (3.07.2011 - 20:01) ИНСИ написал(а):
Цитата |
Закрывать то нужно вообще или нет? |
Если у тебя, страница состоит из обычной выборки с БД, можно не закрывать. Если у тебя идет где-то upload больших файлов на сервер или конвертор видео где-то работает, то выдаст ошибку ... Типа время открытия соеднения mysql истекло ... Поэтому перед этими всеми операциями, надо закрывать соединение.
Спустя 34 минуты, 44 секунды (3.07.2011 - 20:36) inpost написал(а):
Guest
http://irbis-team.com/ - Слева навигация - Структура сайта (MVC), вроде на видном месте.
Пропусти свой скрипт через увеличительное стекло, первую минуту у тебя идёт соединение с БД и выборка, вторые 2 минуты - у тебя обрабатываются полученные данные. MySQL поддерживает всего 500 открытых соединений, допустим, вот если ты закроешь в конце скрипта соединение, то соединение каждое будет жить 3 минуты, вместо возможных 1, итого ты уменьшаешь количество посетителей в ЧАС ровно в 3 раза! Если закроешь после первой минуты, после всех выборок, тогда выграешь 2 минуты(!).
Все цифры вымышлены, просто демонстрирую тебе работу Мускула и необходимость закрывать когда и как.
http://irbis-team.com/ - Слева навигация - Структура сайта (MVC), вроде на видном месте.
Пропусти свой скрипт через увеличительное стекло, первую минуту у тебя идёт соединение с БД и выборка, вторые 2 минуты - у тебя обрабатываются полученные данные. MySQL поддерживает всего 500 открытых соединений, допустим, вот если ты закроешь в конце скрипта соединение, то соединение каждое будет жить 3 минуты, вместо возможных 1, итого ты уменьшаешь количество посетителей в ЧАС ровно в 3 раза! Если закроешь после первой минуты, после всех выборок, тогда выграешь 2 минуты(!).
Все цифры вымышлены, просто демонстрирую тебе работу Мускула и необходимость закрывать когда и как.
Спустя 11 часов, 34 минуты, 23 секунды (4.07.2011 - 08:11) linker написал(а):
Забей на MVC, изучи сначала тонкости обычного кодинга. Если закрытие соединения стояло в конце скрипта, то нет ничего плохого в том, что его вообще стёрли. Короче, в твоём случае можно не переживать.
Спустя 13 минут, 30 секунд (4.07.2011 - 08:24) Krevedko написал(а):
inpost -а мне кажется это паранойя. эдак можно после каждого запроса соединение закрывать, а перед каждым-открывать.
Спустя 10 минут, 5 секунд (4.07.2011 - 08:34) Guest написал(а):
Цитата |
После переделки скрипта опытным человеком теперь используется такое: require_once('config.php'); |
Ну это так не в тему но на заметку расскажите опытному человеку что скобки в require_once не нужны:
require_once 'config.php';
Спустя 2 минуты, 11 секунд (4.07.2011 - 08:36) Krevedko написал(а):
кстати да !
видимо не такой он и опытный.

видимо не такой он и опытный.
Спустя 8 минут, 30 секунд (4.07.2011 - 08:45) linker написал(а):
А вам не пофигу на скобки? Они что-то решают вообще? Хотелось бы, чтобы меня просветили, а то до недавнего времени сам использовал скобки, ибо помогает лучше читать код.
Спустя 28 минут, 47 секунд (4.07.2011 - 09:14) Guest написал(а):
В принципе ничего страшного в этих скобках нет, просто я например привык скобки использовать только в функциях или конструкторах класса, а так как require_once это конструкция языка такая как например echo то использую только кавычки.
Спустя 46 секунд (4.07.2011 - 09:14) Guest написал(а):
Это просто уже вопрос форматирования кода и все
Спустя 3 часа, 13 минут, 12 секунд (4.07.2011 - 12:28) inpost написал(а):
Krevedko
Ну так скрипт тоже тратит время на открытие и на закрытие соединения время, поэтому это тоже не совсем правильно, загружать открытием и закрытием соединений.
Я говорю, что может быть актуальным, а может быть нет, в зависимости от ситуации. И параноя для тех, кто не сталкивается с такой вещью как "превышен лимит открытых соединений"
Когда даже очередь Мускула не справляется с числом посетителей, поэтому этот вопрос из разряда оптимизации.
Вот типичный пример показал Вэлбокс, то есть ты открыл соединение, а потом загружаешь в БД фотографию на 30 мб, соединение в таком случае не доживёт до полной загрузки, а вот большую часть времени - будет открытым. И если твой сайт считается файловым сервером, то тут уже надо вовремя закрывать и открывать соединения, если вдруг многие в час-пик будут заливать файлы. Пока 500 человек заливают файлы, другие 500 не смогут даже авторизироваться секунд 30-60.
Ну так скрипт тоже тратит время на открытие и на закрытие соединения время, поэтому это тоже не совсем правильно, загружать открытием и закрытием соединений.
Я говорю, что может быть актуальным, а может быть нет, в зависимости от ситуации. И параноя для тех, кто не сталкивается с такой вещью как "превышен лимит открытых соединений"

Вот типичный пример показал Вэлбокс, то есть ты открыл соединение, а потом загружаешь в БД фотографию на 30 мб, соединение в таком случае не доживёт до полной загрузки, а вот большую часть времени - будет открытым. И если твой сайт считается файловым сервером, то тут уже надо вовремя закрывать и открывать соединения, если вдруг многие в час-пик будут заливать файлы. Пока 500 человек заливают файлы, другие 500 не смогут даже авторизироваться секунд 30-60.
Спустя 32 минуты, 10 секунд (4.07.2011 - 13:00) tatti написал(а):
а ещё есть include_once()
Спустя 1 час, 6 минут, 43 секунды (4.07.2011 - 14:06) Krevedko написал(а):
ваши познания, мэм, поражают воображение )
Спустя 18 минут, 17 секунд (4.07.2011 - 14:25) tatti написал(а):


Цитата (Krevedko @ 4.07.2011 - 09:17) |
это если есть рега. а иначе лучше в куку тогда писать наверное |
ибо ваши познания не раз будоражили мой внутренний мир
Спустя 1 день, 9 часов, 5 минут, 51 секунда (5.07.2011 - 23:31) vagon написал(а):
Я знал, что кто-нибудь докопается до скобок!
)))
Просто человек работал не за миллион, поэтому код не вылизывал досконально. А может быть ему как и многим приятнее чтение кода со скобками.
Сайт - не файлообменник.
Из всего вышеописанного делаю такой вывод:
Т.е. если у меня на сайте много народу, то:
1. Не закрывая соединение можно превысить лимит допустимых открытых, сайт будет недоступен. А какой как правило лимит выставляют хостеры, и на какое время?
2. Закрывая соединение каждый раз в конце страницы, можно напрячь сервер частыми подключениями-отключениями, - возможно было бы разумнее не закрывать его, каждый раз - отживет свое и закроется по времени, само.
- Правильно?
Как вычислить, что же лучше в моем случае?

Просто человек работал не за миллион, поэтому код не вылизывал досконально. А может быть ему как и многим приятнее чтение кода со скобками.
Сайт - не файлообменник.
Из всего вышеописанного делаю такой вывод:
Т.е. если у меня на сайте много народу, то:
1. Не закрывая соединение можно превысить лимит допустимых открытых, сайт будет недоступен. А какой как правило лимит выставляют хостеры, и на какое время?
2. Закрывая соединение каждый раз в конце страницы, можно напрячь сервер частыми подключениями-отключениями, - возможно было бы разумнее не закрывать его, каждый раз - отживет свое и закроется по времени, само.
- Правильно?
Как вычислить, что же лучше в моем случае?
Спустя 30 минут, 54 секунды (6.07.2011 - 00:01) inpost написал(а):
vagon
irbis-team.com , MVC, закрывать после выполнения контроллеров, работающих с БД
irbis-team.com , MVC, закрывать после выполнения контроллеров, работающих с БД

Спустя 9 часов, 21 минута, 15 секунд (6.07.2011 - 09:23) Krevedko написал(а):
я где-то видел, что нерекомендовали юзать скобки и причину говорили. вот только блин не могу найти это место.
Спустя 5 минут, 25 секунд (6.07.2011 - 09:28) bulgakov написал(а):
Цитата |
я где-то видел, что нерекомендовали юзать скобки и причину говорили |
Я как-то писал про свое отношение к скобкам, в теме было - require_once(), могу еще раз повториться, require, include это конструкции языка а скобки я привык видеть в функциях, поэтому и использую кавычки. Но это мое личное мнение, может быть кому-то удобнее использовать и скобки.
Спустя 1 минута, 11 секунд (6.07.2011 - 09:29) linker написал(а):
Делать mysql_close() в конце скрипта не имеет смысла, ибо PHP завершая работу скрипта сам произведёт закрытие всех соединений.
bulgakov
print() тоже являет конструкцией языка, однако очень часто используется со скобками. В мануале описания include(), заголовок выглядит как include(), в то же время для echo, заголовок остаётся echo. К тому же, если в подключаемом файле написать return 'значение';, то include(), require() ведут себя как функции.
1.php
bulgakov
print() тоже являет конструкцией языка, однако очень часто используется со скобками. В мануале описания include(), заголовок выглядит как include(), в то же время для echo, заголовок остаётся echo. К тому же, если в подключаемом файле написать return 'значение';, то include(), require() ведут себя как функции.
1.php
echo require('2.php'); // Тут отобразится 2.php2.php
return basename(__FILE__);
Спустя 12 минут, 6 секунд (6.07.2011 - 09:41) bulgakov написал(а):
Ну тут все зависит от контекста.
Спустя 3 дня, 11 часов, 22 минуты, 53 секунды (9.07.2011 - 21:04) vagon написал(а):
Итак, от require_once плавненько так перешли к любимым скобкам
Я лично их уже давно не использую, (после прочтения темы на irbis). Раз там пишут что не требуется, мол-де не нужно плодить избыточный код по причине его ненужности - будем писать по феншую. Но все же, сильно удивило то что гуру не сходятся во мнениях по поводу подключений к бд, чему и собственно была посвящена эта тема. Первый раз такое встречаю...
