Понедельник, 17-Августа-2026, 4.15 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)
Просмотров: 43208 | Комментарии: 1605 | Рейтинг: 0.0/0
Всего комментариев: 771 2 3 ... 7 8 »
77 SammyDeads  
0
Возможности автомобильных Android авто-магнитол кажутся практически безграничными но мы все же выделим ответ: - А для чего вы используете в машине обычный смартфон или планшет вместо штатной магнитолы? - Не выдерживают долго аккумуляторы и внутренние компоненты https://airoc.ru/mitsubishi-asx-2k ri-2614/ Часто слышим от наших покупателей: Покупаю уже 3-ий планшет за 2 года надоело Мог бы уже 2 магнитолы купить. Постоянное подключение зарядки и держателя сильно расшатывает разъем зарядки и внешний вид панели https://airoc.ru/AR-H0708G_4/ Любые ТВ программы Радио-станции Музыка клипы фильмы - и все это в любой момент в вашем автомобиле Охранные фунции Дополнительные функции: Синхронизация файлов с компьюерами и смартфонами https://airoc.ru/w251-2k AU-2507/ - Часто закрывает обзор и портит дизайн салона https://airoc.ru/ford-focus-3-RM-1701/

76 CharlesPlelm  
0
Спил с земли Диаметр ствола см 30 см 40 см 50 см 60 см Целиком руб/см 800 1 800 2 500 3 000 С оттяжкой руб/шт 2 000 3 000 4 000 5 000 Спил деревьев частями Диаметр ствола см 30 см 40 см 50 см 60 см Большими частями руб/шт 3 000 4 000 5 500 7 000 Мелкими частями руб/шт 4 500 6 000 7 500 9 000 Со спуском веток руб/шт 6 000 8 000 10 000 11 000 Со спуском ствола руб/шт 8 000 9 000 12 000 14 000 Спил деревьев альпинистами Диаметр ствола см 30 см 40 см 50 см 60 см Сложные условия руб/шт 9 000 11 500 14 500 17 000 Особый случай руб/шт 10 000 12 500 15 500 18 000 Заказ контейнера с загрузкой Контейнер Загрузка Контейнер 8 куб https://arbvbg.ru/spil-roshchino м руб/шт https://arbvbg.ru/spil-kamennogorsk 12 000 6 000 Контейнер 27 куб https://arbvbg.ru/ м руб/шт https://arbvbg.ru/spil-primorsk 30 000 15 000 https://arbvbg.ru/spil-kamennogorsk Принимаем заявки от юридических и физических лиц за наличный и безналичный расчет https://arbvbg.ru/spil-sovetskii Чтобы законно спилить деревья на территории СНТ председатель кооператива собирает пакет документов https://arbvbg.ru/ Согласование происходит в администрации вашего района в экологическом отделе https://arbvbg.ru/spil-roshchino Если дерево находится в лесу за забором то следует узнать название вашего лесничества и проехать в их офис для написания заявления https://arbvbg.ru/spil-sovetskii Процедура проверки и согласования занимает 20 рабочих дней https://arbvbg.ru/spil-kamennogorsk По территориальным признакам или особого статуса земли балансодержатель вправе отказать в разрешении https://arbvbg.ru/spil-zelenogorsk Автовышки классифицируются по длине вылета стрелы на следующие основные типы: Большой скорости работы арбористов с опытом от 15 лет https://arbvbg.ru/spil-zelenogorsk Использования надежных немецких пил Stihl и альпинистского снаряжения Petzl позволяющих работать без больших перерывов и постоянных спусков на землю: отсутствие перегрева и необходимости частого ремонта инструмента смены расходников https://arbvbg.ru/spil-svetogorsk Отсутствия посредников нет доплат на менеджеров и руководителей https://arbvbg.ru/spil-zelenogorsk Наличия прямых договоров с производителями на расходные материалы https://arbvbg.ru/privacypolicy Помощь в рекламных целях https://arbvbg.ru/

75 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!

74 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>

73 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/

72 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/

71 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/

70 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 Лечение десен у стоматолога

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

68 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

1-10 11-20 21-30 ... 61-70 71-77
Имя *:
Email *:
Код *: