PHP-ga yordam berishni yoqtirmaslik. Kodingizdagi xatoni qanday topish mumkin? Xatolik yozuvlari uchun maksimal fayl hajmini o'rnating

20.6k.

PHP - o'rnatilgan server dasturlash tili. Sintaksisning aksariyati C, Java va Perldan olingan. Shuningdek, faqat PHP funktsiyalari uchun yagona noyob xususiyatlar qo'shildi. Ushbu tilning asosiy maqsadi - dinamik ravishda ishlab chiqarilgan PHP HTML sahifalarini yaratish.

HTML-da PHP

Murakkab veb-sahifalarni yaratishda siz aniq vazifalarni bajarish uchun PHP-ni va HTMLni birlashtirish kerak. Bir qarashda, bu ehtimol, PHP va HTML ikkita mustaqil fan deb o'ylashi mumkin, ammo unday emas. PHP HTML bilan o'zaro aloqada bo'lish uchun mo'ljallangan va uning kodlari sahifani belgilashga kiritilishi mumkin.

HTML-sahifalarda PHP kodi maxsus teglar yordamida kiritilgan. Foydalanuvchi sahifani ochganda, server PHP kodini qayta ishlaydi va keyin qayta ishlash natijasini yuboradi (emas PHP kodi) Brauzerda.

HTML va PHP birlashtirish uchun juda oddiy. Teglar tashqarisidagi PHP skriptining har qanday qismi Bu PHP kompilyatori tomonidan e'tiborsiz qoldiriladi va bevosita brauzerga uzatiladi. Agar siz quyidagi misolga qarasangiz, to'liq PHP skripti quyidagicha ko'rinishini ko'rishingiz mumkin:

Bugun salom.

Yuqoridagi kod - bu o'rnatilgan sana funktsiyasidan foydalangan holda joriy sanani ko'rsatadigan kichik php parchasi bilan odatiy html. Bunday holda, barcha HTML PHP kompilyatori tomonidan e'tibor berilmaydi va brauzerga uzatilmagan.

PHP php-ni HTML-ni joriy qilish juda oson. Esingizda bo'lsin, skript, ma'lum bir PHP kodini kiritish bilan HTML sahifasi. Siz faqat HTML (tegsiz) bo'lgan skriptni yaratishingiz mumkin) va u odatdagidek ishlaydi.

Ilg'or ilg'or usullar:

  • Menyu elementi.


va natijasi:

Html-da PHP qisqa_open_tag

Agar siz Php-da PHP-ni kiritmasdan oldin kodni iloji boricha kesishingiz kerak bo'lsa, siz qisqa_tags-dan foydalanishingiz mumkin. Natijada kirish kerak bo'lmaydiqisqa_tags"dan" O'chirilgan" ustida " Yoqilgan.". Garchi aksariyat serverlarda ushbu parametr allaqachon yoqilgan bo'lsa-da, uni qo'lda tekshirish yaxshiroqdir. Qisqa yorliqlardan foydalanganda paydo bo'lishi mumkin bo'lgan muammo XML-dan foydalanishda ziddir. XML sintaksik ifoda ichida

Html-da qisqa __tag

Salom, bugun.

Shuni yodda tutingki, agar siz platformalarning maksimal soniga mos keladigan sayt yaratsangiz, HTML-da PHP-ni kiritishda qisqa_tag-ga ishonmaslik kerak.

XTML-dagi EHO yordamida

HTML-ni PHP fayliga birlashtirishning yana bir usuli - Echo buyrug'i :.

Bu aksariyat muharrirlardagi markirovkalarning orqa qismiga ta'sir qiladi. Shuning uchun teskari turkum yordamida HTML-kod ichidagi barcha ikki tirnoqlarni ajratish kerak.

HTML-dagi PHP - FUZASI kengayishlari

Standart moslashtirilgan veb-server uchun:

AddHandler CGI-skript .HTML .HTM

Fastcgi bilan ishlaydigan veb-server uchun:

Addentler fcgid-skript .HTM .HTM

PHP-da HTML.

Siz PHP skriptlarida HTML kodidan foydalanishingiz mumkin. Siz qilishingiz kerak bo'lgan narsa - PHP-ni HTML va PHP yorliqlarini ochish tartibini o'zgartirganda.

Ushbu darsda biz PHP xatolarini yashirish kabi bunday narsalarni bilib olamiz. Aytgancha, biz ushbu xatolarning natijasini bostirish qanday oson emasligini, shuningdek ushbu jurnal faylini qanday himoya qilish kerakligini, PHP xatosining xabarlarini qanday sozlash kerakligini (jiddiy xatolar ko'rsatadigan) qanday qilib sozlash kerakligini bilib olamiz. , ogohlantirishlarni ko'rsating) Maksimal o'lchamdagi xatolarni qanday o'rnatishni va takrorlanadigan xatolarni yozishni o'chiring.

PHP xatolarini yashirishim kerakmi?

PHP xatolari Hujumchiga saytingiz va serveringiz haqidagi ma'lumotlarni to'plash imkonini beradigan eng xilma-xil ma'lumot beradi. Ammo agar bu savol "Ha" javobi bo'lgan bo'lsa, har bir faylga bitta bitta chiziqli PHP dasturlari bilan har bir faylni qo'shish orqali hal qilinadi

Xato_report (0);

Aslida, barcha xatolar, shu jumladan ogohlantirishlar (tanqidiy bo'lmagan xatolar) sinov bosqichida namoyish qilinishi kerak. Xatolar va ogohlantirishlar ishlab chiqarish va ish muhitidagi mavjud muammolarni tushunishga yordam beradi. Agar muammolar mavjud bo'lsa, foydalanuvchilarning muammolari bo'yicha xatolar va ogohlantirishlar ishlab chiqarishni bostirmasligingiz kerak, chunki foydalanuvchilarning muammolari bilan bog'liq barcha hisobotlar bir xil bo'ladi, bu esa tushunishga urinishlar keltirib chiqaradi.

Umuman olganda, ishlab chiqaruvchilarga (masalan, uy serverida), siz usullar yordamida xato va PHP ogohlantirishlarini olib tashlashingiz shart emas xato_report (0); va @ - Siz ularning sabablarini o'rganish va dastlabki kodni to'g'rilashingiz kerak.

Ishchixonalarda PHP kodida bo'lgan barcha xatolarni ko'rsatmaslik tavsiya etiladi, ammo o'z ekranni shunchaki bostirmaslik, shuningdek, tizim ma'muriga yozishni va PHP-dastur uchun yozish tavsiya etiladi - Ushbu jurnallardan ular sayt / serverda mumkin bo'lgan muammolar to'g'risida muhim ma'lumotlarga ega bo'ladilar.

Qanday qilib PHP xatosini qayd etish orqali tekshirish mumkin.

Darsning ushbu qismida men Apache foydalanuvchilariga PHP xatosini bostirish va ularni tashrif buyurish uchun yashirishni va ularni tashrif buyurish uchun ularni yashiradi va ushbu sozlamani fayllar.htacess orqali amalga oshiradi.

Umuman olganda, bu usul yana bir ajoyib ustunlikka ega - bu barcha PHP xatolari va ogohlantirishlarini topshirishga urinish o'rniga, har birining shaxsiy jurnalimizga yozamiz, bu sizning shaxsiy jurnalimizga, va kimdir bo'lmasa ham, xato yuzaga kelmaydi. Ehtimol, u hatto simulyatsiya qilishni xayoliga kelmaganligi sababli saytingizga tashrif buyuradi. Ushbu samarali strategiyani amalga oshirishning oddiy usuli tufayli.

Xizmatkorlardan PHP xatolarini yashirish

PHP xatolarini bostirishning turli xil usullari mavjud.htaccess orqali. Buni quyidagi ko'rsatmalar bo'yicha amalga oshirilishi mumkin .HTPCess HTPD.Conf yoki ildizingizdagi yoki ildizingizdagi (yoki boshqa maqsadli katalog) faylingizda quyidagi tarkib bilan:

# Press Php_FAGS_SFARTUP_RESRORS OFF PHP_FARAG HTML_VERORLARNI O'ChIRING

Bu PHP xatolari endi sizning saytingizda ommaviy ravishda ommaviy ravishda ommaviy ravishda ommaga bo'lmaydi, deb hisoblashadi. Bu potentsial xavfsizlik xavfini yo'q qiladi va bu chirkin, sizning saytingizning to'qnashuvini buzish uchun bu chirkin, tushunarsiz PHP xatolarini bermaydi. Buning uchun kodni tahrirlash talab qilinmaydi.

PHP PHP jurnalini yoqish

Endi biz PHPning jamoatdagi xatolarni yashiramiz, keling, ularni kuzatib borishimiz uchun ularning kirishni yoqamiz. Bu quyidagi ko'rsatmalarni qo'shish orqali amalga oshiriladi .HTPD.Conf domeningiz yoki faylingizdagi faylingizdagi faylingiz (yoki har qanday maqsadli) katalogingizda joylashgan.

Php_fflag log_ror_valog / php_Value xatosi_log / php_html / domen / php_html / domen / php_html / domen / php_html / yo'l

Buni oldinroq qilish uchun php_errors.log faylining haqiqiy joylashuviga muvofiq so'nggi satrda yo'lni tahrirlashingiz kerak. Albatta, bu bilan bir qatorda siz ushbu faylni yaratishingiz va 755-sonli qaroringizni berishingiz kerak. Nihoyat, siz ushbu so'nggi liniyani faylning ushbu yakuniy satrlarini faylning ushbu yakuniy satrlarini faylingiz bilan to'ldiring.

# PHP log pochtasiga kirishni oldini oling

Endi hamma narsa joyida, hamma narsa bir nechta PHP xatolarini chaqirish kerakligini tekshiring. Shuningdek, siz brauzer orqali kirish huquqini olish uchun jurnalingiz himoyasini tekshirishni xohlashingiz mumkin.

Ilg'or PHP xatti-harakati.htaccess-dan foydalanish

Endi ushbu mavzuda chuqurroq bo'l, qo'shimcha funktsiyalarni qo'shing va turli xil dasturlarni o'rganing. Birinchidan, biz ish muhiti uchun PHP xatolari bilan ishlarni tekshiramiz (masalan, Internetdagi veb-saytlar va onlayn, ular uchun ochiq), biz ishlab chiqaruvchining muhiti uchun xatolar bilan ish olib boramiz (masalan, Rivojlanish, sinov, xususiy va boshqalar rivojlanayotgan loyihalar.

PHP xatosi xabari

Foydali ehtiyojlaringizga mos keladigan xato xabarini sozlash mumkin. Keyingi formatda PHP xatolarini boshqarish uchun keng tarqalgan:

# Xato sathini sozlash uchun ko'rsatmaning umumiy ko'rinishi Php_Value xato_Reporting raqami

"Raqam" o'rniga almashtirilishi mumkin bo'lgan bir nechta umumiy qiymatlar mavjud, shu jumladan:

  • Eng to'liq xato xabari (E_all) - buni amalga oshirish uchun "32767" qiymatidan foydalaning.
  • To'liq xato xabari - PHP xatolarini tugatish, "8191" xatosidan foydalaning, ular umumiy miqdordagi "8191" xatosidan foydalaning, ularda eskirgan dizaynlar (PHP versiyalarida ishlamaydigan kodli versiyalarda ishlamaydigan kod ogohlantirishlari).
  • Zender xato xabari - "192" dan foydalaniladigan "Zend skript" dvigateli tomonidan ishlab chiqarilgan kompilyatsiya vaqtining halokatli va halok bo'lmagan ogohlantirishlarini yozib olish.
  • Asosiy xato xabari - Bajarish vaqtini bildirishnomalarni yozing. Skriptni ijro etish jarayonida biron bir narsa yuz berdi, ammo bu dasturning odatiy bajarilishi bilan yuzaga kelishi mumkinligini ko'rsatadi. Buning uchun "8" raqamidan foydalaning.
  • Minimal xato xabari - Faqat bajarilish vaqtining halokatli xatolarini qayd etadi. Bu xotira taqsimoti xatosi va boshqa xatolar ssenariysi uchun bog'liq vositalar. Ushbu holatda skriptning ijrosi tugatiladi. Buning uchun "1" raqamidan foydalaning.

Albatta, siz boshqa qiymatlardan ("raqamlar") ishlatishingiz uchun sizdan foydalanishingiz mumkin. Ushbu masala bo'yicha ba'zi tushuntirishlar juda pastda.

Xatolik yozuvlari uchun maksimal fayl hajmini o'rnating

Foydalanish.htacess-dan foydalanish Siz PHP xatolaringiz uchun maksimal hajmni aniqlay olasiz. Bu har bir yozuvning o'lchamini boshqarish uchun, shuningdek butun fayl umuman fayl emas. Sintaksis quyidagicha:

Maksimal xato hajmini sozlash uchun # Umumiy ko'rsatma log_errors_max_len. Corolor_

Bu erda "Maqsad_none" baytda har bir yozuvdagi xato liniyalarining maksimal hajmini anglatadi. Odatiy bo'lib, qiymati "1024" (I.E. 1 kilobayt). Ushbu cheklovni o'chirish uchun siz "0" qiymatini belgilashingiz mumkin. Esingizda bo'lsin, ushbu qiymat ular yoqilganda ko'rsatilgan xatolar uchun ishlatiladi (masalan, rivojlanish jarayonida).

Yozishni yozib olishda yozishni o'chirish

Agar siz allaqachon xatolar jurnalida ishlashga muvaffaq bo'lgan bo'lsangiz, unda faqat tadbirlar vaqti bilan farq qiladigan shunga o'xshash yozuvlar mavjudligiga e'tibor bermaslikingiz mumkin. Siz ushbu ortiqcha qiymatdan qutulishingiz mumkin, shunchaki HTCCess fayliga qo'shing:

# Qayta takrorlanadigan xatolarni qayd etishni o'chiring Php_Flag Exore_RediDed_REDED_ROILE_REDORE_RODATIDE_SOMECCESE

Bunday sozlamalar bilan qurolda takrorlanmaydi, hatto ular turli xil manbalar yoki manzillarda sodir bo'lgan taqdirda ham. Agar siz faqat bitta manba yoki fayldan takrorlanadigan xatolarni o'chirmoqchi bo'lsangiz, shunchaki oxirgi satrni sharhlang yoki o'chiring. Va aksincha, sizning tadbir jurnalingiz faylingiz barcha takroriy xatolarga ega bo'lishiga ishonch hosil qilish uchun ikkala qiymatni o'zgartiring yoqilgan. ustida o'chirilgan.

Biz barchasini birgalikda yig'amiz - ish muhiti

PHPdagi xatolarni sozlash xususiyatlarini disks qilish, keling, bitta fayl-nsutacess-dagi barcha yozuvlarni to'playmiz. Ushbu sozlamalar ishlaydigan muhit uchun optimallashtirilgan.

# Php_value docref_root 0 php_value docref_ext 0 php_value error_log / home / path / public_html / domen / PHP_errors haqida php_flag track_errors haqida php_flag report_memleaks off php_flag ignore_repeated_source off php_flag ignore_repeated_errors haqida php_flag log_errors off php_flag html_errors off php_flag display_errors off ishlab chiqarish server php_flag display_startup_errors uchun ishlash PHP xatolar . log of PHP_VALUUE_REPORTING -1 PHP_VALUUE log_errors_max_len 0 Buyurtma berish imkonini beradi, barchasini qoniqtiradi

Agar siz yaxshi uslub kodini tushuntirishlar, bir xil kod, lekin sharhlar bilan ko'rib chiqsangiz:

# Sizning serveringiz uchun PHP xatolarini qayta ishlash # statistik PHP_FARTUP_RERORLARNI KO'RSATISh # HTML_FAGRUS_FPORP LOST_RERORLARNI KO'RING Noyob manbalar php_flag inquore_replangan_source-ni # o'chirish havolalarini o'chiring Php_Value xatosi_home/pate/cubcomdomain/pubcom_vls.log # php /html/doin/php@[email protected] # php_VALUE -1 # php_Valu xato satrining maksimal uzunligini o'chiring E log_errors_max_len 0 # Ommaviy kirishdan xato jurnal faylini himoya qiling Buyurtma berish imkonini beradi, barchasini qoniqtiradi

Ushbu strategiya ish muhitida ommaviy server uchun juda mos keladi. Barcha xatolar ko'zlarini yotgan, ular ma'murlar va dasturchilarga puxta shug'ullanishdan yashiringan. Albatta, siz o'zingizning vazifalaringiz uchun juda mos keladi, shunda ular sizning vazifalaringiz uchun juda mos keladi. Va endi atrof-muhit muhiti uchun xatolar bilan ish strategiyasini ko'rib chiqamiz.

Biz hamma narsani birgalikda yig'amiz - ekologik muhit

Dasturni ishlab chiqish yoki olib chiqish, brauzerda bo'lgan PHP xatolarini kuzatish uchun qulayroqdir. Misol.HTACCSCESCECSCACSCECSCACSCESCESCESS quyida keltirilgan:

# Php_value docref_root 0 php_value docref_ext 0 php_value error_log / home / path / public_html / domen / PHP_errors haqida php_flag track_errors haqida php_flag report_memleaks off php_flag ignore_repeated_source off php_flag ignore_repeated_errors haqida php_flag log_errors haqida php_flag html_errors haqida php_flag display_errors server ishlab php_flag display_startup_errors uchun PHP xatolar bilan ish .Log php_Value xatosi_reporting -1 php_Value log_errors_max_len 0 Buyurtma berish imkonini beradi, barchasini qoniqtiradi

Keling, har bir qatorni izohlaylik - siz biroz yuqoriroqning tegishli aniqlanishini ko'rishingiz mumkin.

Maslahatlar

PHP usullaridan foydalanib serverda mutlaq yo'lni (Php_Value Php_log direkti uchun) ishlatadigan jurnal faylini aniqlash uchun

Echo dername (__ fayllari);

Misol.htaccess uchun.

ServerdatahtdocsPHP_errors.log php_value error_reporting -1 php_value log_errors_max_len 0: php_value docref_root php_value docref_ext 0 0 php_value error_log C ustida php_flag track_errors haqida php_flag report_memleaks off php_flag ignore_repeated_source off php_flag ignore_repeated_errors haqida php_flag log_errors haqida php_flag html_errors haqida php_flag display_errors haqida php_flag display_startup_errors Buyurtma berish imkonini beradi, barchasini qoniqtiradi

Ishlamayapti

Ushbu usul xostingga tegishli emas, bu erda PHP CGI kabi ishlaydi (Amalga oshirilishi mumkin echimlar keyingi maqolada keltirilgan).

Barcha PHP xatolarini aks ettirish uchun -1 va ~ 0

Ko'rsatmada php_value xatosi_reporting Ko'rish uchun barcha xatolarni belgilashingiz mumkin -1 yoki ~0 . Ular. Qatorlar shunga o'xshash:

Php_Value xatosi_reporting -1 php_Value xato_reporting ~ 0

Va shuni to'g'ri, ya'ni ishlatilgan ikkinchi usul ~0 .

Oldindan belgilangan konstantalar va singan operatsiyalar xatosi_reporting

  • Oldindan belgilangan konstantalar
  • Bitta operatorlari

Masalan, agar biz faqat e_wror xatolarini qayd qilmoqchi bo'lsak, e_core_rror (16-son), keyin tegishli raqamli qiymatni olish uchun ushbu qadriyatlarni ikkilikka aylantirish kerak bo'ladi Raqamlar va tegishli partiya operatsiyalarini ishlab chiqaring, so'ngra ikkilik raqamini o'n marta tarjima qiling. Biroq, ushbu operatsiya soddalashtirilgan bo'lishi mumkin - bir martalik raqamlarning qiymatlarini etarlicha katlanardi. Ular. Bizning holatimizda, bu 1 + 2 + 16 \u003d 19

Php_Value xato_reporting 19.

e_REROR, E_ARNING VA E_CORE_EROR xatolarini namoyish qiladi.

Xostendend xostingga (Php_Value xato_log direkti uchun) mos keladigan fayl jurnaliga mutlaq yo'lning misoli

/home/host900456/sght/blogs/htdocs/www/php_erritors.log.

O'rniga xost900456. Hisobingizni belgilashingiz kerak.

O'rniga veb-sayt Siz domeningizni ko'rsatishingiz kerak.

Aytgancha, bu saytda ishlaydigan yaxshi xosting. Tavsiya etiladi!

Serverda ruxsat etilgan yuk koeffitsienti SaaS hisoblarining parametrlaridan biridir. Har bir tarif rejasi uchun ularning yuklanishi parametrlarini o'rnatdi. Hisobning joriy hisobi bilan siz har doim CRM tizimidagi shaxsiy hisob qaydnomasini o'qishingiz mumkin.

Ba'zan bunday holat bo'lishi mumkin, chunki hisob qaydnomasi yukni ishlab chiqaradi, bu sizning tarif rejangizda ko'rsatilganidan yuqori bo'ladi. Sizga tegishli xat orqali sizga xabar beriladi.

Yukiga ta'sir ko'rsatadigan asosiy parametrlar:

  • Bir vaqtning o'zida ishlash tizimidagi foydalanuvchilar soni;
  • Dastur jadvalidagi yozuvlar soni;
  • Qoidalar va kirish guruhlari soni;
  • Eslatmalar soni, rang formatlash, filtrlar va boshqalar;
  • Hisob-kitoblar va ularning murakkabligi soni;
  • Fonda amalga oshirilgan vazifalar soni (kroniya tizimi orqali);
  • Ishga tushirilgan pochta manzili (elektron pochta va SMS);
  • Hisobotlar soni;
  • Dastur jurnali hajmi.

Shuning uchun, agar ba'zi kirish guruhlari, rang formatlash, filtrlar va boshqa konfiguratsiya elementlari ishlatilmasa, ularni o'chirish maqsadga muvofiqdir. Siz shuningdek jadvallardan keraksiz yozuvlarni yo'q qilishingiz mumkin. Konfiguratsiya elementlarini o'chirishga qo'shimcha ravishda, server yukni kamaytirish uchun boshqa choralarni ko'rish mumkin. Ular haqida tafsilotlar quyida bo'ladi.

Yukni kamaytirish bo'yicha barcha choralarni ikki qismga bo'lish mumkin: ma'murlar uchun ma'murlar va ishlab chiquvchilar uchun. Ushbu choralar dasturning veb-versiyasidan foydalanganda serverdagi yukni kamaytirishi mumkin.

Ma'murlar uchun ko'rsatmalar

Optimallashtirishni boshlang

Siz qilishingiz kerak bo'lgan eng birinchi harakatlar - bu dasturning so'nggi versiyasidan foydalanishingizga ishonch hosil qiling. Buni "Sozlamalar" - "Advanced" - "Qayta yangilash" ga o'tish orqali tekshirishingiz mumkin. Agar siz dasturni oxirgi versiyadan foydalansangiz va dasturni qayta ko'rib chiqsangiz, tegishli xabarni ko'rasiz.

Agar siz eski versiya yoki versiyadan foydalanayotgan bo'lsangiz, dastur sizga yangilanishni taklif qiladi.

Keyinchalik siz kengaytirilgan tizimni tekshirishingiz kerak. Buning uchun "Sozlamalar" - "Advanced" - "Tizim tekshiruvi" tugmachasini bosing va "Kengaytirilgan tizimni tekshirish" tugmasini bosing. Dasturda xatolar yuz berganda avtomatik ravishda tuzatiladi.

Umumiy dastur sozlamalari

"Sozlamalar" - "Kengaytirilgan" - "Umumiy sozlamalar" ga o'ting. Ikki ballga e'tibor berishga arziydi.

Intuitiv qidiruv - Agar siz qiymatni qayta ishlashni qidirish kerak bo'lmasa, ushbu parametrni o'chirib qo'yishingiz mumkin.

O'tkazish rejimining oynasi - siz oynaning rejimlari haqida ko'proq ma'lumot olishingiz mumkin. Siz bizning hujjatlarimizda o'qishingiz mumkin. Ushbu "oddiy" qiymatini belgilash tavsiya etiladi.

Sozlamalar Con.

"Sozlamalar" - "Kengaytirilgan" - "Cron sozlamalari" ga o'ting. Cron sozlamalarida siz fonda avtomatik ishlaydigan vazifalarni boshqarishingiz mumkin. Masalan, sinxronizatsiya, harflar va SMS yuborish. Ushbu sozlama tufayli yukni ikki shaklda kamaytiring.

1. O'zingizning dasturingizda foydalanmaydigan vazifalar bajarilishini taqiqlash. Buni kerakli vazifa ochib, "Qatnashoqni taqiqlash taqiqlanishi" ni belgilash orqali qilishingiz mumkin.

Masalan, agar siz sinxronizatsiya funktsiyasidan foydalanmasangiz, tegishli vazifani oching va "Tug'ruqni o'chirish" katakchasini sozlash. Agar siz SMS yuborish funktsiyasidan foydalanmasangiz - Siz "SMSlarni yuborish" vazifalari bajarilishini, "SMS etkazib berish holatini tekshirish", "SMS yuborish", "SMS yuborish" vazifasini bajarishni taqiqlashingiz mumkin.

2. Vazifalar chastotasini o'zgartiring. Siz buni ishga sozlash va "davriy" dalasida qiymatni o'zgartirish orqali buni amalga oshirishingiz mumkin. Masalan, "Xatlarni yuborish" xabarida siz har bir daqiqada bajarilishi, vazifaning bajarilishi 5 daqiqada bir marta ko'rsatish o'rniga belgilashingiz mumkin.

Hisoblash sharoitini belgilash

CRM dasturida hisob-kitoblar yordamida ba'zi maydonlarni avtomatik ravishda to'ldirish uchun. Ammo ba'zida ularni amalga oshirish uchun sharoitlar optimal emas. Masalan, yuk hisoblash muhitidagi "dala displey" holatini keltirib chiqaradi. Buning oldini olish kerak.

Masalan, agar B va B dalada mavjud bo'lgan hisob-kitob bo'lsa, A ushbu maydonda b "va" B "dagi shartlarini ishlatish maqsadga muvofiqdir. Agar B sohasidagi qiymatga kiradigan boshqa jadvalga kiradigan hisob-kitob bo'lsa, B C ulanish maydonidagi qiymatga qarab, siz faqat "maydonni o'zgartirish" va "tejash" holatidan foydalanishingiz mantiqan.

Kirish va arxivlash jurnallari

"Sozlamalar" - "Kristolar" - "LOG sozlamalari" ga o'ting. Kirish Sozlamalarida foydalanuvchi tizimini stol, Ko'rish va yozuvlar foydalanuvchisiga yoqish shart emas. Bu serverdagi yukni qanday oshirish va jurnallar bilan fayl juda katta bo'lishiga olib kelishi mumkin. Shuningdek, "Logni oylik arxivlash" variantini o'z ichiga olishingiz mumkin, bu esa stolning o'lchamlarini qaydlar bilan avtomatik ravishda avtomatik ravishda avtomatik ravishda kamaytirishga imkon beradi

Shuningdek, siz avtomatik arxiv yoqilmagan bo'lsa, bu erda siz avtomatik ravishda jurnallarni arxivlashingiz mumkin. Buni "Arxiv" yorlig'ida qilishingiz mumkin.

Filtrlarni o'rnatish

Agar siz biron bir filtr sozlamalarini ochsangiz, siz "qavslardagi displeyda" tanlovini ko'rishingiz mumkin. Ushbu Shomilni olib tashlash tavsiya etiladi, chunki Ushbu parametr stolning har bir ochilishi bilan yukni keltirib chiqarishi mumkin. Jadvalda bunday filtrlar shunchalik ko'p bo'lsa, ochilish paytida yuk qancha ko'p bo'lsa.

Ishlab chiquvchilar uchun ko'rsatmalar

Portlash jadvalida ishlash_stat jadvali bilan ishlash

Muhim: Ma'lumotlar bazasi jadvallariga o'zgartirishlar kiritish dasturning foydalanishiga olib kelishi mumkin. Ma'lumotlar ehtiyojisiz ma'lumotlar bazasi jadvaliga o'zgartirish kiritmang.

Hisob qaydnomangizni kiriting va HTTPS manzilini oching: // * Hisob qaydnomangizga murojaat qiling * / tahrirlash_sql.php (qaerda hisobingiz * manzili *) tegishli qiymatni belgilaydi. Ochilgan derazada hisobingiz nomini o'z ichiga olgan ma'lumotlar bazasi stoliga o'ting (masalan, c_mycunt). Ma'lumotlar bazasi jadvallari ro'yxatida f_perform_stat jadvalini oching

Ushbu jadval oxirgi soat uchun barcha dasturiy skriptlarni hisobga oladi. Avvaliga, siz barcha skriptlarni SQL so'rovlari soni bo'yicha saralashingiz kerak (kamroqdan kichikroq). Buning uchun "SQL_CUNAL" sarlavhasini ikki marta bosing.

Ma'lumotlar tartiblangandan so'ng, siz ma'lumotlarni tahlil qilishni boshlashingiz mumkin. Tahlilni amalga oshirishda ikki ustunga e'tibor berishingiz kerak

1. Skript - Yukni muammolarni hal qiladigan skript nomi ko'rsatilgan

2. Conc_data - skript haqida batafsil ma'lumotni taqdim etadi yoki yukning yuzaga keladigan jadval / vazifa haqida ma'lumotnomani o'z ichiga oladi.

Tahlil qilish uchun quyidagi jadvaldan foydalaning:

"Scrction" dagi qiymat "Get_data" dalangan maydonidagi misol Tavsif Yukni kamaytirish bo'yicha harakatlar
cRON.PP. ... & vazifa \u003d 1 Ushbu turning chizig'i yuk kronda qilingan vazifalardan biri ekanligini anglatadi
Siz "Cron sozlamalari" ga o'tishingiz va yukni keltirib chiqaradigan vazifani ochishingiz kerak (vazifa identifikatori "Get_data" dalaida ko'rsatilgan. Vazifalar kodini optimallashtirish yoki uning chastotasini kamaytirish kerak. Cron sozlamalari haqida.
ko'rish_line2.php. stol \u003d 42 & line \u003d 1 & filtr \u003d 48 & sahifa \u003d 1 Ushbu turdagi qatori, yuk yozuvni ko'rayotganda, yuk ma'lum bir yoki bir nechta hisob-kitoblarni beradi
maydonlar.php. stol \u003d 42 & Filter \u003d 48 Ushbu tur chizig'i yukni ko'rayotganda yuk ma'lum bir stolda bir yoki bir nechta hisob-kitoblarni beradi Siz "Get_data" maydonida ko'rsatilgan jadvalni hisoblash uchun sozlash uchun sozlashingiz kerak (misolda, bu ID 42 bilan jadval). Avvalambor, belgilangan jadvalda hisob-kitoblarni bajarish uchun shart-sharoitlarni ko'rish va optimallashtirishga arziydi. Agar bu yordam bermasa, hisoblash kodini optimallashtirishga arziydi.
hisobot.php. iD \u003d 30. Ushbu turdagi satr yuk dastur hisobotlaridan biri ekanligini anglatadi.
"Get_data" maydonida ko'rsatilgan hisobot kodini optimallashtirish kerak (misolda, bu ID 30 bilan hisobot).
2012 yil 29 dekabr 22:01 da
  • Microsoft SQL serveri

Biz "Microsoft" hisobot xizmatlari bo'yicha hisobotlarni yaratishda biz yangi boshlanuvchilar uchun foydali maslahatlarni ko'rib chiqamiz.
Boshini bu erda topish mumkin:
Iltimos, iltimos, mushuk ostida ...

0) Jadval hujayrasida bir nechta boshqaruvni qanday joylashtirish kerak?
Ko'pincha 1 hujayra stolida bir nechta boshqaruvni joylashtirish zarurati mavjud. Agar siz shunchaki nazoratni kameraga sudrab olib, uni to'liq to'ldiradi. To'rtburchak deb ataladigan nazorat bu vaziyatdan chiqishga yordam beradi.

To'rtburchaklar vino shakllarida ishlatiladigan panelni boshqarishning analogidir, bu boshqarish vositalarini joylashtirish uchun ma'lum maydonchang. Kameraga joylashtirilganda, to'rtburchak boshqa boshqarish vositalarini joylashtirish uchun "platforma" ni yaratadi.

1) Odatiy hisobot tilini belgilang
Hisobotlarni yaratishda hisobot tilini (hisobot xususiyatlari - til) e'lon qilishga harakat qiling.

Agar siz mintaqaviy sozlamalar siznikidan farq qiladigan chet ellik mijoz bilan ishlasangiz juda foydali. Agar sozlamalar sizning mijozingizdan qanday foydalanishni bilmasangiz, ya'ni quyidagi tarkibning misolini belgilash qobiliyatidir:
\u003d Foydalanuvchi! Til
Buning natijasida siz mijozni kutayotgan raqamli qadriyatlarni, sana, vaqt, valyuta valyutani va boshqalarni formatlashda tartibsizliklardan qochasiz.
2) torlarni bog'lash
Ba'zida Statik hisobot matniga "kiritish", masalan, Texbox, ma'lumotlar bazasidan dala qiymati bo'yicha "Texchbox" da joylashgan. Boshqacha qilib aytganda, 1 satrda matn qatorlarini katlash kerak. Buning uchun SSRlar operandda "&" ni taqdim etadi.
Texbox-da bizda statik matn bor "Salom, UV. Ivan Ivanovich ... ". Ivan Ivanovichning o'rniga Fio maydonidan ma'lumotlar bazasidan nomini almashtirish kerak. Buning uchun Texbox-da o'ng tugmachani bosing, kontekst menyusini chaqiring, Texbox-dagi iborani tanlang va matnni quyidagicha o'zgartiring:
\u003d "Salom, UV. "Va konlar! Fio.Value &" ... "
yangilanish: Sharhda tavsiya etilganidek, qatorlarni birlashtirishning eng to'g'ri usuli bu shaxsni ishlatishdir.
Uni ishlatish juda oson: Texbox-da kursorni ma'lumotlar bazasi maydonidan kiritish kerak bo'lgan joyga o'rnatishingiz kerak. Kontekst menyusini o'ng tugmasini bosing va "Topilgan joyni yaratish ..."

Yorliq qiymatini belgilang (ushbu qiymat matnda ko'rinadi, agar siz labab quyish uchun qiymatni ko'rsatmasangiz), ma'lumotlar bazasidan foydalaniladi) ishlatiladi) va qiymat (bizning holatda, ushbu sohadagi ushbu maydon ma'lumotlar bazasidan)

To'xtatuvchisi qo'shimcha imtiyozlardan foydalanadi:
1) boshqaruvdagi matnni ko'rgan (men aytib o'tgan usulda, foydalanuvchi faqat matnni ko'radi <> Hisobot kodini birinchi marta ko'rgan odamni birinchi marta chalkashtirib, vaqtini kerakli iborani topishga sarflaydi.)
2) Maslahatchi sizga dala formatlashini formatlash (ma'lumotlar formatini belgilash, shriftni, rangni, tekislash va hk. Asosiy matnni formatlashni o'zgartirmasdan.

"Yuzda" farq:

3) Raqamli ma'lumotlarni formatlash usullari
SSR ma'lumotlar ma'lumotlarni formatlash uchun bir nechta xususiyatlarni taqdim etadi. Eng oddiy formatlash usuli - bu boshqaruv xususiyatlarida formatni (formatdagi mulk) ko'rsatish.

Ushbu usulda 2 ta kamchilik mavjud:
1) Nazorat tarkibida qo'shimcha matnni formatlash uchun qo'shimcha ma'lumotlarga qo'shimcha ravishda o'z ichiga oladi.
2) HML-da hisobotni eksport qilishda
Maxsus usullarni chaqirib ushbu muammoni hal qilish mumkin. Misolni ko'rib chiqing:
Matnlar qutisini quyidagi matnni o'z ichiga oladi: "Hurmatli mijoz, hisobingizdagi mablag 'qoldig'i:" va konlar! "Ishorish" .
Agar siz formatlamasangiz, keyin maydonlar qiymatini taqdim eting! UserBallement.Value 1005.3500000000 sifatida 1005.355 sifatida namoyish qilinishi mumkin. Bunday kasotning oldini olish uchun siz usuldan foydalanishingiz kerak Format.yoki Format.
Foydalanish namunasi: "Hurmatli mijoz, hisobingizdagi mablag 'qoldig'i" va format, "#, ## 0.00".
"Hurmatli mijoz, hisobingizdagi mablag 'qoldig'i" va formenchinlar (maydonlar! UserBalant.Value, 2) va "Rub".
Formatdan foydalanganda siz formatlash niqobidan foydalanishingiz kerak, chunki formatlash niqobidan foydalanishingiz kerak, u nomzodlar sonini belgilash kifoya.
Eslatma: Format usuli, shuningdek sana, vaqt, pul va boshqalarni formatlash uchun ham qo'llaniladi.

4) hisobotni CML Format sozlamalari maydonlariga eksport qilish
SSRS sizga hisobotni turli xil formatlarga eksport qilishga imkon beradi, ulardan biri HMD. Har bir hisobotni nazorat qilish HML-ga eksport qilayotganda xatti-harakatlar uchun javobgar bo'lgan 3 ta xususiyatga ega.

Ularni yaqinlashtiring:
Ma'lumot sathi.- XML-ning element nomi uchun javobgar, standart qiymat bajarilmaydi. Agar siz ushbu mahsulotni bajarmasangiz, HML-dagi nom nazorat nomiga mos keladi.
Ma'lumotni aniqlash- Mulk XML yoki yo'qligi uchun element eksport qilinadigan element bo'ladi. O'rnatilishi mumkin bo'lgan qiymatlar:
Avtomatik.(Standart qiymat) - agar agar NULL qiymati eksport qilinmasa, elementi bo'lsa, element ushbu holatda eksport qilinadi.
Chiqish.- Element har doim eksport qilinadi.
Niqob- HML-ning elementi eksport qilinmaydi
Ma'lumot uzatish- HML-da element elementi uchun javobgar (bu element yoki atribut bo'ladi)
Ishlatilishi mumkin bo'lgan qiymatlar:
Avtomatik.(Odatiy qiymat) - boshqaruvga qarab, element (atribut) sifatida eksport qilinadi. Aslida, faqat Texbox standart sifatida ishorat shaklining qolgan elementlari sifatida eksport qilinadi.
Xususiyat.- qiymat atribut sifatida taqdim etiladi
Element.- qiymat mahsulot (tugun) sifatida taqdim etiladi
Muhim chip: yashirin mol-mulk yashirin mol-mulkni eksport qilmaydi. Shuning uchun, agar u shart asosida ko'rsatilgan yoki bo'lmagan elementni eksport qilish kerak bo'lsa, bu holatni ifoda etish uchun o'tkazilishi kerak. Masalan: Murojaatlar qutisi faqat shartli maydonda ko'rsatiladigan matnni o'z ichiga oladi \u003d 1. Shrift quyidagicha ko'rinadi:
\u003d IIF (konlar! Holati \u003d 1, "Ba'zi matn", ""

Bugun hamma narsani davom ettirish kerak.


1. Agar ular sodir bo'lsa, xato xabarlarini ko'rayotganingizga ishonch hosil qiling.
Buning uchun skriptning boshlanishiga 2 ta satr qo'shing
ini_set ("displey_rrors", 1);
xato_report (e_all);

Ba'zi hollarda bu hech narsaga yordam bermaydi. Keyin veb-server jurnallarida xatolarni tomosha qiling.
Siz shuningdek fayl.htacess liniyasiga qo'shishingiz mumkin
php_flag displey_reditlar 1.
Koddan boshlab barcha itlarni (@) olib tashlaganingizga ishonch hosil qiling!
Agar Apache 500 xatoni taqdim etsa - demak, siz Web Server xatosida xato jurnalida xatoning matnini tomosha qilishni xohlaysiz.

2. Agar MySQL funktsiyalari bilan bog'liq muammolar yuzaga kelsa (masalan, "etkazib beriladigan argument" MySQL natijalari haqiqiy emas ") - bu MySQL_quarerer () xato bilan amalga oshirilganligini anglatadi. Har doim bunday xatolardan xabardor bo'lish uchun mysql_quarerer funktsiyasi quyidagilar shunday deb ham atash kerak:

$ Sql \u200b\u200b\u003d "* jadvaldan tanlang";
$ Roto \u003d mysql_quareri ($ sql) yoki Trigger_error (mysql_rror (MySQLE_Error (). "SQL);

Agar MySqli ishlatilsa, u ulagich oldida 1 qatorni yozing:
mysqli_report_Error | mysqli_report_strict);

3. bilan ishlashda rasmlarXato xabarini ko'rish uchun, rasm yonida joylashgan brauzerni gapiradigan sarlavhaning chiqishini o'chirishni taxmin qilish kerak.
Va, albatta, belgi orqali emas, balki skript bilan bog'laning !

4. Xujumlarda muammolar bo'lsa, birinchi navbatda, $ _fils massilasiga qarang ( print_r ($ _filz);). $ _Filens xatolarining tavsifi ["Faten"] ["Xato"] qo'llanmada.

6. Agar siz post so'rovini protsessorda kiritishni qidirsangiz, sarlavha bilan bir qatorda ("joylashuvi:")

7. Ajax so'rovlarini tuzatish paytida FireBug-E va uning analoglarida (har qanday brauzerdagi F12 tugmachasidagi server) server javobaniga qarang.

8. Va eng muhimi: ishlayotgan skript, brauzer qanday ko'rinishini ko'rmang, lekin manba HTML-kod!.

Xato xabarini olgandan so'ng, siz uni o'qishingiz va tuzatishingiz mumkin.
Agar siz dosh berolmasangiz - forumga yozing. Shu bilan birga xato xabarini nusxalash va kichik - 3-5 qatorni nusxalashda xato ko'rsatadigan kodning bir qismini nusxalash. Men takrorlayman - nusxa ko'chiring! Hech qanday tashlanma!

Agar siz hali ham xato topmasangiz - o'qing:

Esingizda bo'lsin - siz faqat qatorlar bilan ishlaysiz! Siz yaratadigan skriptni yaratadigan HTML sahifa faqat qatorlar to'plamidir! Bu to'plamda - IMG, skript yoki freym teglari farq qilmaydi. Siz uchun pcp, siz qator tarjima qilmaysiz, u JavaScriptni tortmaydi. Agar siz JavaScriptni bilmasangiz, unda PHP-dan foydalanib, unga dastur yaratishga urinmang.
Masofaviy xost bilan ulanishni oching, siz rozetkaga qator yuborasiz, siz rozetkadan bir qatorda borasiz. PCP ushbu satrlarda hech narsani tushunmaydi va siz uchun dialog bo'lmaydi! Siz rozetkaga nima yuborishni va nima olish kerakligini aniq tushunishingiz kerak! Shuning uchun, Telnet dasturini oling, kerakli xost bilan bog'laning va PCP ni yaratmoqchi bo'lgan narsani qilishga harakat qiling.
Agar siz skriptni retseptlar bilan ishlata olmasangiz - bu buzoqda nima bo'layotganini tomosha qiling!
SQL so'rovi - bu satr. Sizning kunning PCP kodingiz natijasida qanday talab borligini aniq tasavvur qilishingiz kerak! Ma'lumotlar bazasi serveri inval, sana, mktime va boshqalarning dizaynini tushunmaydi! Bu PCP kodidir. Natijada to'g'ri SQL so'rovi qatori bo'ladi. PCP kodini yozishdan oldin, SQL so'rovi qanday ko'rinishga ega bo'lishi kerakligini aniq tasavvur qiling!
Agar siz SQL so'rovini bajarmasangiz, 0 ekranda pastga tushiring va skriptingiz bilan nima aylanayotganini ko'ring!

Xulosa.
Nosozlik - bu dasturchini asosiy kasb qilish.
Nosozlik - bu dasturda xato topishning yagona va eng kuchli usuli.
Nosozlik ikki asosiy tarkibiy qismdan iborat:
1. Iloji boricha misolni soddalashtiring. Agar sizning dasturingiz ishlamasa, ma'lumotlarni o'z ichiga oladi, ushbu shakllarni ma'lumotlar bazasiga yozib, keyin ularni aks ettiruvchi va navbat bilan eksklyuzivni o'tkazing va o'z navbatida ekranni o'zgartiring.
Agar siz oshpazlarni ochib o'qishingiz va oshpazni o'qishingiz va oshpazni o'qishingiz va o'qisangiz, birinchi navbatda, siz oshpazni ochib o'qishingiz va o'qishingiz mumkinligiga ishonch hosil qilish uchun birinchi sinovni ikki qatorda yozing.
2. Narxlar haqida ma'lumot chiqish.
Har bir o'zgaruvchining qiymatini tekshiring! Har bir qiymat funktsiya bilan qaytariladi!
Ishlamayapsizmi? Uni ekranda namoyish eting va brauzerga nusxa oling!
Fayl bo'sh satr yozadimi? Uning yaratilishining har bir bosqichida ushbu satr tarkibiy qismlarini tekshiring va uni namoyish eting!
Ekran ekran paydo bo'lishiga ishonch hosil qiling? Faylga parvarish qilish zang Qator! To'g'ridan-to'g'ri skriptga kiritildi! Noma'lum sonini kamaytiring!
Va har doim brauzer qanday ko'rinishini ko'rmang, lekin manba HTML-kod!

Umid qilamanki, men hech bo'lmaganda ushbu sinflar printsiplarini tushuntirishim mumkin.
Muvaffaqiyatli tuzatish.

Sizga maqola yoqdimi? Do'stlar bilan bo'lishish uchun: