Пятница, 17-Июля-2026, 5.04 AM

Dletemplate.ru

Категории раздела
Html [7]
HTML-redactor [2]
CSS [10]
SSI [5]
XML [4]
JavaScript [10]
PHP [9]
Perl [5]
ASP [3]
MySQL [5]
Apache [6]
Раскрутка сайта [15]
Наш опрос
Сколько тебе лет?
Всего ответов: 350
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Статьи

Главная » Статьи » PHP

Советы и трюки по PHP

Небольшое вступление

Началом написания серии статей "Советы и трюки" послужил отчет "Tips and Tricks" Расмуса Лирдофа (Rasmus Lerdorf) с конференции PHPCon2002, которая состоялясь 24 октября 2002 года в городе Milbrae, Калифорния, США. Изначально планировалось просто перевести отчет по просьбам членов Клуба разработчиков PHP, но по мере чтения статей возникло много спорных вопросов и разногласий с автором, поэтому я постарался как можно более четко определить и разъяснить преимущества и недостатки того, или иного подхода оптимизации решений.

Часть 1. Оптимизация

1. Без необходимости не используйте регулярные выражения.

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

Неправильно: <? $new = ereg_replace("-","_",$str); ?>
Правильно:
<? $new = str_replace("-","_",$str); ?>
Неправильно:
<? preg_match("/(\..*?)$/",$str,$reg); ?>
Правильно:
<? substr($str,strrpos($str,)); ?>

2. Используйте ссылки при обработке больших массивов данных для экономии памяти сервера.

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

3. Постоянные (persistent) соединения с БД

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

Учтите, в PHP реализована функция отключения постоянных соединений, поэтому если у провайдера в конфигурации PHP установлена директива mysql.allow_persistent = Off, то соединения вызываемые функцией mysql_pconnect() будут обрабатываться как mysql_connect().

Очень часто встречаются советы не использовать постоянные соединения с БД. Это связано в первую очередь с тем, что многопоточные веб-сервера, к которым относится и Apache, не могут разделить со своими потомками соединение с БД. Таким образом если следующий запрос приходит на другого потомка, то он создает новое постоянное соединение, что со временем приводит к появлению большого количества незакрытых соединений с БД и переполнению допустимого лимита max_connections в MySQL. Возможно два решения этой проблемы: первое описано выше заключается в запрете использования постоянных соединений, второе - использовать малое значение времени жизни постоянного соединения в директиве wait_timeout конфигурации MySQL. По умолчанию оно составляет 28800 сек. (8 часов), по истечению которых после отсутствия активности соединения будет закрыто.

Помимо всего этого существуют еще некоторые проблемы постоянных соединений с транзакциями и блокировками таблиц. Так, если таблица блокируется запросом на транзакцию или LOCK TABLE и при этом скрипт заканчивает свое выполнение до завершения транзакции или выполнения разблокировки таблицы UNLOCK TABLE соответственно, то вторичная попытка доступа к таблице через это же постоянное соединение будет отклонена. При использовании непостоянного соединения с БД, при завершении скрипта соединение закрывается автоматически и при этом снимает блокировку со всех таблиц и завершает все транзакции. Решением этой проблемы есть регистрации функции register_shutdown_function() которая бы по завершению скрипта снимала блокировку с таблиц и завершала транзакции.

Так что можете использовать, а можете и не использовать, все зависит от поставленных задач.

4. Используешь MySQL? Проверь mysql_unbuffered_query()

Небуферезированные запросы к БД MySQL применяется так же как и mysql_query(). Разница заключается в том, что вместо того, чтоб ожидать полного окончания запроса сохранить результат в клиентском API, небуферизированный запрос делает доступными результаты своего выполнения как можно скорее, минуя буферизацию в клиентском API. Таким образом Вы получаете боле быстрый доступ к данным с меньшими затратами памяти. Недостатком использования такого типа запросов является невозможность получить доступ к функции mysql_num_rows(),этои запросы медленнее на маленьких выборках SELECT, а также хотелось бы заметить то, что при выполнении любого другого запроса, все данные которые небыли выведены, будут потеряны.

5. В поисках идеала

Если решения выглядят для Вас комплексно, то наверняка найдется более простой и очевидный подход к решению задачи.

Категория: PHP | Добавил: mas (19-Сентября-2006)
Просмотров: 42531 | Комментарии: 1337 | Рейтинг: 0.0/0
Всего комментариев: 811 2 3 ... 8 9 »
81 Bonus#Deneme[CulybudYsotryqIQ,2,5]  
0
Herkese merhaba,

Şu sıralar deneme bonusu veren siteler konusunda çok fazla bilgi kirliliği var. Birçok site bonus veriyor gibi görünse de çevrim şartları yüzünden insanları mağdur ediyor.

Bu yüzden güvenli liman arayan biri olarak harika bir kaynağı gözüme çarptı. Bahis camiasında adını duyuran **Ecel Dayı**, aktif ve çevrimi kolay bedava bahis fırsatlarını tek tek inceleyip listeliyor.

Ecel Dayı'yı öne çıkaran şey ise;
<list>
<>]Yalnızca altyapısı sağlam sitelere yer veriliyor.
<>]Kampanyaların gizli kuralları açıkça belirtilmiş.
<>]Anında güncellenen bir liste mevcut.
</list>

Siz de zaman kaybetmeden en güncel deneme bonusu fırsatlarını incelemek niyetindeyseniz, kesinlikle bu platforma göz atmanızı öneririm.

Güncel listeye buradan erişim sağlayabilirsiniz:


Dilerim işinize yarar. Keyifli forumlar dilerim!

80 fgbtal  
0
<b><a href=https://amanitaroom.ru>купить мухомор красный</a></b>


Может быть полезным: https://amanitaroom.ru или <a href=https://amanitaroom.ru>купить сушеный красный мухомор</a>

<b><a href=https://amanitaroom.ru>молотый мухомор</a></b>

79 Robertutemi  
0
Выбор авто для перевозки грузов https://drogal.ru/glossary/logisticheskii-servis/

Работы с тяжелым весом и крупными габаритами https://drogal.ru/glossary/vigodopriobretatel/
Такелажные операции осуществляются при перемещении и перевозке медицинского, промышленного, производственного, фармацевтического, лабораторного оборудования и других видов нестандартных станков и агрегатов https://drogal.ru/voprosi-otveti/gost-17527-2020/
Использование спецтехники и инструментов https://drogal.ru/glossary/gruzopoluchatel/
Во время выполнения работ нередко приходится прибегать к применению технических приспособлений https://drogal.ru/glossary/melkaya-otpravka/
Важно, чтобы компания располагала не только такелажными работниками, но и вспомогательной техникой https://drogal.ru/glossary/paket/
Команда профессионалов с соответствующей подготовкой https://drogal.ru/takelazhnie-raboti-eto/
В своей работе такелажные специалисты должны соблюдать технику безопасности и уметь управлять подъемной техникой https://drogal.ru/glossary/obratnaya-logistika/

Идеально для:
Нам все по силам! Такелаж любой сложности и объема!
Ваш комментарий https://drogal.ru/glossary/tip-tari/

Акции на наши услуги https://drogal.ru/portfolio-items/peretarka-kontejnera-s-oborudovaniem/

78 GeraldLap  
0
Геленджик, Геленджикский пр-кт, д https://rich-house.su/services/
64/1 https://rich-house.su/contacts/

733 https://rich-house.su/photos/
7 м от центра Геленджик https://rich-house.su/services/

Должанская (137 отелей)
? Геленджик ? Завтрак включён https://rich-house.su/restaurants/

Введите даты, чтобы увидеть актуальные цены https://rich-house.su/restaurants/

Отличный вариант для бюджетного отдыха это отель Фандорин – все включено https://rich-house.su/about/
Достойный гостиничный комплекс, в котором предусмотрено наличие бассейнов и конечно же – 3-разовое питание https://rich-house.su/restaurants/
Если вы планируете отправиться на отдых всей семьей, этот отель будет отличным выбором, так как вы сможете провести время вместе, насладиться отдыхом https://rich-house.su/booking/

77 MichaelNot  
0
Услуги дезинсекции https://dez-spasatel.ru/articles/dezinfektsiya/kak-izbavitsya-ot-domashnikh-blokh/

Подробности Автор: SYS-админ Родительская категория: ФГУЗ Опубликовано 20 Август 2009 Опубликовано: 20 Август 2009 Обновлено 17 Июль 2023 Просмотров: 421019 https://dez-spasatel.ru/dezinsekciya/kleshchi/

Для комплексной обработки от официальной санэпидемстанции приглашайте наших сотрудников по номеру телефона на сайте https://dez-spasatel.ru/fumigatsiya-fogatsiya-gazatsiya/
Мы гарантируем успех, так как глубоко понимаем принципы борьбы с патогенной микрофлорой https://dez-spasatel.ru/articles/klopy/mozhno-li-uksusom-unichtozhit-klopov-v-dome/
Кроме этого, мы у нас есть сертифицированное оборудование и действенные препараты, использование которых увеличивают шансы на благоприятный результат обработки https://dez-spasatel.ru/dezinfekciya/virusy/

Подробнее о СЭС ЗЕЛАО https://dez-spasatel.ru/deratizatsiya-unichtozhenie-gryzunov/krysy/

Получите консультацию https://dez-spasatel.ru/deratizatsiya-unichtozhenie-gryzunov/letuchie-myshi/

Сложность дератизации в том, что мыши и крысы хорошо приспособлены жить рядом с человеком https://dez-spasatel.ru/articles/kleshchi/kleshchi-i-ikh-rol-v-rasprostranenii-opasnykh-zabolevaniy/
Они имеют групповую устойчивость ко многим ядам, магазинные приманки и ловушки им не страшны https://dez-spasatel.ru/articles/authors/nadezhda-viktorovna-shved/

76 VictorVed  
0
До начала эстетического этапа важно провести санацию полости рта: пролечить кариес проверить состояние десен и выполнить профессиональную гигиену https://rudentordu.com/contact.html Торонто-мост - это несъемная ортопедическая конструкция которая фиксируется на имплантатах и восстанавливает полный зубной ряд при значительной потере зубов https://rudentordu.com/about.html Почему стоит выбрать этот формат лечения Если зуб отсутствует нагрузка на челюсть распределяется неравномерно а соседние зубы со временем начинают смещаться https://rudentordu.com/treatments/tsifrovoy-dizayn-ulybki.html Имплантация позволяет восстановить опору и избежать дальнейших функциональных проблем https://rudentordu.com/treatments/toronto-most.html Лечение десен у стоматолога

75 DuaneBar  
0
«Миссия Pro- Cosmetik - дарить уверенность в силе собственной красоты и возможность выразить свою индивидуальность » Алоэ вера - один из самых популярных ингредиентов для косметических средств предназначенных для увлажнения и снятия раздражения на коже https://sinapple.ru/collection/cremorlab/product/cremorlab-herb-tea-pure-calming-mask-2

74 Robertkex  
0
Трубы полипропиленовые PPR Remsan Дн20-110 Ру20 армированные стекловолокном с толщиной стенки 2 https://deneb-spb.ru/burty-i-flancy 8-15 https://deneb-spb.ru/ankery 1 мм белые https://deneb-spb.ru/kollektory Производитель оставляет за собой право внесения изменений в конструкцию улучшающие качество изделия при сохранении основных эксплуатационных характеристик https://deneb-spb.ru/burty-i-flancy По запросу 7 169 https://deneb-spb.ru/truby-pn-10-i-pn-20 00 https://deneb-spb.ru/klipsy горячее водоснабжение жидкости не агрессивные к материалам трубы холодное водоснабжение https://deneb-spb.ru/sedla · Стандартные однослойные https://deneb-spb.ru/filtry-i-obratnye-klapany В их составе только полипропилен https://deneb-spb.ru/truby-pn-10-i-pn-20 · Армированные перфорированным или цельным алюминием https://deneb-spb.ru/filtry-i-obratnye-klapany Внутренняя металлическая прослойка придает усиленную прочность https://deneb-spb.ru/mufty-kombinirovannye · Армированные стекловолокном https://deneb-spb.ru/dostavka Стекловолоконный промежуточный слой также делает изделия более стойкими к деформациям давлению в трубопроводе до 25атм https://deneb-spb.ru/truby-armirovannye-alyuminiem По запросу 5171 https://deneb-spb.ru/klipsy 98 https://deneb-spb.ru/vse_novosti

73 CharlesTew  
0
На информационном ресурсе применяются рекомендательные технологии https://phytomer.store/collection/maska Правила применения рекомендательных технологий https://phytomer.store/product/tonik-emulsiya-dlya-zreloy-kozhi-phytomer-toning-cleansing-emulsion Диагностика волос SkinСonsult Подбор дезодорантов https://phytomer.store/collection/all?page=3 Парфюмерные наборы https://phytomer.store/product/tonik-dlya-litsa-bezuprechnaya-kozha-phytomer-oligomarine-flawless-skin-tonic 114 р https://phytomer.store/collection/all?page=4 163 р https://phytomer.store/product/phytomer-well-being-sensation-shampoo-with-naturally-sourced-ingridients Уходовая антивозрастная косметика https://phytomer.store/collection/travel-nabory м https://phytomer.store/product/ozhivlyayuschaya-maska-dlya-kontura-glaz-ot-otekov-i-temnyh-krugov-phytomer-eye-flash-smoothing-revivng-mask Строгино - ТЦ Солнечный ветер

72 Robertfaway  
0
Заказать очки по рецепту недорого в СПб в нашей компании просто https://opticstyle.spb.ru/internet-magazin/product/nano-nao3161250 Вы можете посмотреть коллекции известных Европейских производителей очков у нас на сайте или просто позвонить нам и мы подскажем наличие интересующей Вас модели оправ или солнцезащитных очков https://opticstyle.spb.ru/internet-magazin/product/davidoff-dat151-03 Качественные солнцезащитные очки должны блокировать оба типа солнечного излучения: UVA диапазон 400–315 нм и UVB 315–280 нм. Обычно на таких моделях есть маркировка UV400 — 420 это означает что линзы задерживают не менее 99 вредных лучей https://opticstyle.spb.ru/internet-magazin/product/dolce-gabbana-dg-2269-02/13 Иногда встречаются обозначения UV380 указывающие на высокий но не максимальный уровень защиты https://opticstyle.spb.ru/internet-magazin/vendor/nanovista-ispaniya/p/12 Эти стандарты применяются в разных странах независимо от места производства очков https://opticstyle.spb.ru/internet-magazin/product/nano-nao610250 В нашей мастерской выполняются все виды ремонта очков — от простого выравнивания до пайки титановых оправ https://opticstyle.spb.ru/internet-magazin/product/dolce-gabbana-dg5069-502 Достоинство стеклянных качественных линз заключается в том что у них самый высокий коэффициент преломления https://opticstyle.spb.ru/internet-magazin/vendor/ruud-van-dyke Кроме того минеральные линзы более устойчивы к воздействию высокой температуры а также к активной химической среде https://opticstyle.spb.ru/internet-magazin/product/serengeti-boron-003

1-10 11-20 21-30 ... 71-80 81-81
Имя *:
Email *:
Код *: