Internet Windows Android
Kengaytirish

PHP ni o'rnatish va sozlash. Apache, PHP, MySQL php sozlamalari faylini o'rnating

5,2 ming

Php.ini konfiguratsiya fayli PHP yadrosini sozlash uchun asosiy vositadir. U har safar PHP ishga tushirilganda hisobga olinadi. Agar o'zgarish ko'rinmasa, httpd-ni to'xtatib, qayta ishga tushirishni unutmang. Agar siz kiritgan o'zgarishlar hali ham amalda bo'lsa, php ini qayerda ekanligini tekshirish uchun phpinfo () funksiyasidan foydalaning.

Konfiguratsiya fayli yaxshi sharhlangan va batafsil tavsiflangan. Parametrlar katta-kichik harflarga sezgir, qiymatlar kalit so'zlar- Yo'q; nuqta-vergul bilan boshlanadigan bo'shliqlar va chiziqlar e'tiborga olinmaydi. Mantiqiy qiymatlar 1/0, Ha / Yo'q, Yoqilgan / O'chirilgan yoki True / False sifatida ifodalanishi mumkin. php.ini'dagi standart sozlamalar PHP o'rnatilishiga ta'sir qiladi, keyinchalik uni sozlash mumkin.

Ushbu maqolada biz ko'rib chiqamiz muhim sozlamalar PHP tahlilchisi talab qilishi mumkin bo'lgan php.ini faylida.

short_open_tag = O'chirilgan

Qisqa ochiq teglar quyidagicha ko'rinadi:... Agar siz XML ishlov berish funksiyalaridan foydalanmoqchi bo‘lsangiz, ushbu parametr O‘chirilgan bo‘lishi kerak.

safe_mode = O'chirilgan

Agar bu parametr ON bo'lsa, ehtimol siz PHP-ni xavfsiz rejimni yoqish bayrog'i bilan kompilyatsiya qilgansiz. Xavfsiz rejim CGI dan foydalanish uchun eng muhim hisoblanadi.

safe_mode_exec_dir =

Ushbu parametr faqat yoqilgan bo'lsa, mazmunli bo'ladi xavfsiz rejim... Unix-ni yaratish jarayonida --with-exec-dir bayrog'i bilan ham o'rnatilishi mumkin. PHP xavfsiz rejimda faqat ushbu katalogdan tashqi ikkilik fayllarni ishga tushiradi. Odatiy katalog - / usr / local / bin. Bu oddiy PHP/HTML veb-sahifasiga xizmat ko'rsatish bilan hech qanday aloqasi yo'q.

safe_mode_allowed_env_vars =

Ushbu php ini opsiyasi foydalanuvchilar xavfsiz rejimda qaysi muhit o'zgaruvchilarini o'zgartirishi mumkinligini boshqaradi. Odatiy bo'lib, faqat "PHP_" qo'shilgan o'zgaruvchilar. Agar ushbu ko'rsatma bo'sh bo'lsa, o'zgaruvchilarning ko'pchiligini o'zgartirish mumkin.

safe_mode_protected_env_vars =

Parametr, safe_mode_allowed_env_vars opsiyasi yoqilgan bo'lsa ham, foydalanuvchilar xavfsiz rejimda qaysi muhit o'zgaruvchilarini o'zgartira olmasligini belgilaydi.

disable_functions =

PHP5 da saqlangan PHP4 konfiguratsiyasiga juda foydali qo'shimcha bu tanlangan funksiyalarni xavfsizlik nuqtai nazaridan o'chirib qo'yish qobiliyatidir. Ilgari bu PHP tarjimoni yozilgan C kodini qo'lda tahrirlashni talab qilar edi. Funksiyalar fayl tizimi, operatsion tizim va tarmoqlar ushbu ro'yxatda birinchi bo'lishi kerak, chunki HTTP orqali fayllarni yozish va tizimni o'zgartirish xavfsiz emas.

maksimal_bajarish_vaqti = 30

Da php sozlamalari ini, set_time_limit () funksiyasi xavfsiz rejimda ishlamasligini bilishingiz kerak. Shuning uchun, bu xavfsiz rejimda kechiktirilgan skript bajarilishini amalga oshirishning asosiy usuli. Windows-da, vaqtga emas, balki maksimal xotira sarfiga qarab o'chirishni majburlash kerak. Kechikishni amalga oshirish uchun Apache kutish vaqti sozlamasidan ham foydalanishingiz mumkin. Lekin u PHP bo'lmagan sayt fayllariga ham tegishli bo'ladi.

error_reporting = E_ALL & ~ E_NOTICE

Standart E_ALL & ~ E_NOTICE, bildirishnomalardan tashqari barcha xatolar. Serverlar kamida sukut bo'yicha o'rnatilishi kerak. Va faqat asosiy serverlarda pastroq qiymatdan foydalanish mumkin.

error_prepend_string = [""]

"bilan birga, forma maydonining qiymatini yaratishda bo'lgani kabi, satrlar bilan ishlatiladi.

o'zgaruvchilar_tartibi = EGPCS

gpc_order o'rnini egallaydi. Register_globals bilan birga ikkala versiya ham eskirgan. U turli xil o'zgaruvchilar tartibini o'rnatadi: Environment, GET, POST, COOKIE va SERVER (yoki O'rnatilgan). Ushbu tartibni o'zgartirishingiz mumkin. O'zgaruvchilar chapdan o'ngga ketma-ket yoziladi, eng o'ngdagisi doimo "yutadi". Bu shuni anglatadiki, agar siz standartni qoldirib, muhit o'zgaruvchisi uchun bir xil nomdan foydalansangiz, o'zgaruvchan POST va COOKIE o'zgaruvchisi, so'ngra oxirida nom COOKIE o'zgaruvchisiga tegishli bo'ladi.

register_globals = O'chirilgan

Ushbu php ini to'plami parametri EGPCS o'zgaruvchilari global sifatida ro'yxatga olinishi kerakligini aniqlashga imkon beradi. Bu usul hozirda eskirgan va PHP 4.2 dan beri bu bayroq sukut bo'yicha Off ga o'rnatilgan. Buning o'rniga superglobal massivlardan foydalaning.

gpc_order = GPC

Bu parametr eskirgan.

magic_quotes_gpc = Yoqilgan

Kiruvchi GET / POST / COOKIE ma'lumotlaridagi qo'shtirnoqlardan qochadi. Agar siz o'zingizga yoki boshqa shakllarga ma'lumotlarni yuboradigan va shakl qiymatlarini ko'rsatadigan ko'plab shakllardan foydalansangiz, ushbu direktivani faollashtirishingiz yoki satr ma'lumotlari uchun qo'shimcha chiziq () funksiyalaridan foydalanishingiz kerak.

magic_quotes_runtime = O'chirilgan

Ushbu parametr kiruvchi ma'lumotlar bazasi satrlari va matn satrlaridagi tirnoqlardan qochadi. Esingizda bo'lsin, SQL qiyshiq chiziq qo'shadi yagona tirnoq va satrlarni saqlashda apostrof qo'yadi va satrlarni qaytarishda ularni yo'q qilmaydi. Agar ushbu parametr o'chirilgan bo'lsa, SQL ma'lumotlar bazasidan istalgan turdagi string ma'lumotlarini ko'rsatishda chiziq chizig'i () funksiyasidan foydalanishingiz kerak. Agar magic_quotes_sybase yoqilgan bo'lsa, bu parametr O'chirilgan bo'lishi kerak.

magic_quotes_sybase = O'chirilgan

Kiruvchi maʼlumotlar bazasi satrlarida va matn satrlarida teskari qiyshiq chiziqdan koʻra Sybase uslubidagi bitta tirnoqli qoʻshtirnoqlardan qochadi. Agar magic_quotes_runtime parametri On ga o'rnatilgan bo'lsa, bu parametr o'chirilishi kerak.

auto-prepend-fayl =

Agar ushbu php ini parametrida yo'l ko'rsatilgan bo'lsa, PHP avtomatik ravishda har bir PHP faylining boshiga include () bandini qo'shishi kerak. Fayllarni kiritish uchun yo'l cheklovlaridan xabardor bo'ling.

auto-append-fayl =

Agar ushbu parametrda yo'l ko'rsatilgan bo'lsa, PHP har bir PHP faylining oxirida avtomatik ravishda include () bandini o'z ichiga olishi kerak, exit () funksiyasi bilan chiqish hollari bundan mustasno. Fayllarni kiritish uchun yo'l cheklovlaridan xabardor bo'ling.

include_path =

Agar siz ushbu qiymatni o'rnatsangiz, sizga faqat belgilangan kataloglardan fayllarni kiritish yoki so'rashga ruxsat beriladi. Qo'shish katalogi odatda asosiy hujjat ostida joylashgan. Agar siz xavfsiz rejimda ishlayotgan bo'lsangiz, bu zarur. Skriptingiz joylashgan katalogdagi fayllarni kiritish uchun parametrni .in ga o'rnating. Bir nechta kataloglar ikki nuqta bilan ajratiladi: .: / usr / mahalliy / apache / htdocs: / usr / mahalliy / lib.

doc_root =

Php ini-ni sozlashda, agar siz Apache-dan foydalanayotgan bo'lsangiz, u holda ushbu server yoki virtual xost uchun hujjat ildizi allaqachon httpd.conf faylida o'rnatilgan. Agar siz xavfsiz rejimdan foydalanayotgan bo'lsangiz yoki saytingizning faqat bir qismi uchun PHP-ni yoqmoqchi bo'lsangiz, bu qiymatni o'rnating ( masalan, faqat bitta kichik katalogda).

file_uploads =

Agar PHP skripti yordamida fayllar yuklanayotgan bo'lsa, ushbu belgini faollashtiring.

upload_tmp_dir =

Agar bu nima ekanligini tushunmasangiz, ushbu satrdan sharhlarni olib tashlamang!

session.save-handler = fayllar

Kamdan-kam holatlar bundan mustasno, ushbu parametrni o'zgartirishingiz shart emas.

ignore_user_abort =

Agar saytga tashrif buyuruvchi o'z brauzeridagi "To'xtatish" tugmasini bossa nima bo'lishini aniqlaydi. Odatiy parametr Yoqilgan, ya'ni skript tugallanmaguncha yoki vaqt tugaguncha ishlashda davom etadi. Agar siz ushbu parametrning qiymatini o'zgartirsangiz

PHP veb-saytlar yaratish uchun ishlatiladigan eng mashhur dasturlash tillaridan biridir.

Tarqatish to'plamini PHP rasmiy saytidan http://www.php.net yuklab oling ( menda - php 5.1.6 ). Arxivni C: \ Program Files \ php katalogiga oching. Konfiguratsiya faylini toping php.ini PHP tarjimon sozlamalarini o'z ichiga oladi va unga quyidagi o'zgarishlarni kiriting:

    Register_globals direktivasi php 5.1.6 sukut bo'yicha yoqilgan ( tavsiya etiladi):

    register_globals = yoqilgan

    Yuboriladigan ma'lumotlarning maksimal miqdorini belgilang POST usuli bilan 16M ga teng:

    post_max_size = 16M

    Qatorni toping:

    ; include_path = ".; c: \ php \ o'z ichiga oladi"

    izohni olib tashlang ( buning uchun nuqta-vergul belgisini olib tashlang; qatorning boshida) va uni quyidagicha tuzating:

    include_path = ".; C: \ Dastur fayllari \ PHP \ PEAR"

    extension_dir parametrini PHP taqsimoti joylashgan katalogga tenglashtirish kerak:

    Extension_dir = "C: / Dastur fayllari / php / ext"

    O'rnatish maksimal hajmi 16 millionga teng yuklangan fayllar:

    upload_max_filesize = 16M

    doc_root parametri veb-serverning DocumentRoot direktivasi qiymatidan o'tkazilishi kerak:

    doc_root = "d: / main / html"

    Agar PHP kengaytmalaridan foydalanish kerak bo'lsa, sharhni olib tashlang ( nuqtali vergul belgisi ; ) qatorlarda:

    ; kengaytma = php * .dll
    .
    .
    .
    ; kengaytma = php * .dll

    PHP to'g'ri ishlashi uchun quyidagi kengaytmalar etarli:

    Php_mbstring.dll - kutubxona sharqiy tillarning kodlashlarini o'z ichiga olgan ko'p baytli kodlashlar bilan ishlash uchun mo'ljallangan ( Yapon, xitoy, koreys), Unicode ( UTF-8) va boshq.

    php_bz2.dll - kengaytma bzip2 formatida arxivlarni yaratish va ochish uchun ishlatiladi.

    Php_curl.dll - turli internet protokollari yordamida serverlarga ulanish va ular bilan ishlash imkonini beradi.

    Php_gd2.dll - kengaytma grafiklar bilan ishlash imkonini beradi.

    Php_mysql.dll - kutubxona bilan ishlash kerak MySQL serveri.

    Php_mysqli.dll - kutubxona php_mysql.dll kengaytmasi hisoblanadi. U qo'shimchani o'z ichiga oladi PHP funktsiyalari MySQL serverining 4.1.3 va undan yuqori versiyalari bilan ishlash uchun.

    Parametr

    error_reporting = E_ALL & ~ E_NOTICE

    sharhlardan tashqari barcha xatolarni ko'rsatishga imkon beradi. Bu qiymat sukut bo'yicha o'rnatiladi va biz uni qoldiramiz.

    Lekin PHP 5 ( Undan farqli o'laroq oldingi versiyalar ) brauzer oynasiga bir qator xatolar chiqarmaydi ( xavfsizlik talablari tufayli).

    Jurnal fayllaridagi xatolar haqidagi barcha ma'lumotlarni ko'rishingiz mumkin. Ularga joylashtirish uchun log_errors parametri Yoqilgan bo'lishi kerak:

    log_errors = Yoqilgan

    Brauzer oynasiga chiqadigan xato xabarlari bilan veb-ilovalarni disk raskadrovka qilish uchun display_errors parametrini o'rnating:

    display_errors = Yoqilgan

    Display_errors va log_errors parametrlarini o'chirish mos ravishda brauzer oynasi va jurnal fayliga xato xabarlarini chiqarishni o'chirib qo'yadi.

    Direktiv

    e r r o r _l o g = syslog

    Windows tizimi jurnalida xatolarni qayd qilish imkonini beradi.


    Qatorni toping:

    session.save_path = "F: / main / tmp"

    va vaqtinchalik fayllarni saqlash uchun papkaga yo'lni belgilang. Menda C diskida Temp papkasi bor:

    session.save_path = "C: / Temp"

    Vaqtinchalik seans fayllarini saqlash uchun php katalogida alohida Temp papkasini yaratishingiz mumkin. Keyin:

    session.save_path = "C: / Dastur fayllari / php / Temp"

    V konfiguratsiya fayli Apache veb-server httpd.conf tavsif blokidan oldin virtual xostlar quyidagi qatorlarni qo'shishingiz kerak:

    AddType ilovasi / x-httpd-php phtml php

    ExecCGI opsiyalari

    Harakat ilovasi / x-httpd-php "/php_dir/php-cgi.exe"

Endi siz qayta ishga tushirishingiz kerak Apache server va PHP ishlayotganligini tekshiring.

Buning uchun d: / main / html katalogida test.php faylini yarating. PHP faylini yaratish uchun siz foydalanishingiz mumkin matn muharriri Daftar, unda siz har qanday kichik skriptni yozishingiz kerak, masalan:

e c h o ("H e l l o, PHP!");
?>

Brauzerning manzil satriga http: //localhost/test.php so'rovini kiritishda qator

Salom, PHP!

O'rnatish muvaffaqiyatli bo'ldi!

Php.ini faylining joylashuvi hosting provayderi serveri ishlayotgan operatsion tizimga bog'liq. Uning qaerdaligini bilish uchun 4 oddiy qadamni bajaring:

  1. PHP fayl yarating (nomi har qanday boʻlishi mumkin, lekin misol tariqasida myphpinfo.php faylini olamiz) va unga quyidagi qatorlarni qoʻshing:
  2. Ushbu faylni saytingiz joylashgan serverga (ildiz papkasida) yuklang.
  3. Brauzer orqali ishga tushiring (https://yoursitename.com/myphpinfo.php URL manzilini kiriting).
  4. Ko'rsatilgan oynada php.ini ga yo'lni qidiring (birinchi navbatda "Yuklangan konfiguratsiya fayliga" qarang, agar "Yo'q" deb yozilgan bo'lsa, keyin "Konfiguratsiya fayli (php.ini) yo'li" ga qarang).

php.ini ni qanday sozlashim mumkin?

php.ini faylida quyidagi "direktiv = qiymat" sintaksisi qoidalari mavjud. Agar siz sharhlar qo'shmoqchi bo'lsangiz (masalan, unda nima ta'sir qilishini ko'rsatasiz bu sozlama), keyin nuqta-verguldan keyin bajaring (bu belgidan keyingi hamma narsa buyruq sifatida hisoblanmaydi). Mana bir misol:

maksimal_bajarish_vaqti = 40; Skriptni bajarish soniyalarining maksimal soni

Umumiy sozlamalar

PHPengine = Yoqilgan; PHP skriptlari yoqilgan.

Short_open_tag = Yoqilgan; PHP kodini oddiy teglash imkonini beradi

Asp_tags = Yoqilgan; ASP da bo'lgani kabi PHP kodini ajratib ko'rsatish qobiliyatini o'z ichiga oladi -<% %>

Aniqlik = 12; Oʻzgaruvchan nuqtali sonlar uchun kasrdan keyin nechta raqam boʻlishini koʻrsatadi.

Chiqish_buferlash = 4096; Chiqishni buferlash avtomatik ravishda yoqiladi, bufer hajmi “teng”dan keyin belgilanadi.

Safe_mode = Yoqilgan; Xavfsiz rejim.

Safe_mode_allowed_env_vars = PHP_; Foydalanuvchiga faqat PHP_ bilan boshlanadigan muhit o'zgaruvchilari bilan ishlashga ruxsat beradi. Agar ushbu ko'rsatma bo'sh bo'lsa (hech qanday qiymatga ega bo'lmaydi), u holda foydalanuvchilar har qanday muhit o'zgaruvchilarini o'zgartirishi mumkin bo'ladi. Bu skriptlarni himoya qilish uchun juda zararli bo'lishi mumkin.

Safe_mode_protected_env_vars = LD_LIBRARY_PATH; Vergul bilan ajratilgan ro'yxatdagi o'zgaruvchilarni o'zgartirishni oldini oladi.

Disable_functions =; "Teng" belgisidan keyin siz o'chirmoqchi bo'lgan funktsiyalarni vergul bilan ajratilgan holda yozishingiz kerak (bu odatda xavfsizlik uchun amalga oshiriladi)

Disable_classes =; "Teng" belgisidan keyin siz taqiqlamoqchi bo'lgan sinflarni vergul bilan ajratishingiz kerak (bu odatda xavfsizlik uchun amalga oshiriladi)

Resurs chegarasi

maksimal_bajarish_vaqti = 40; Skriptni bajarish uchun maksimal vaqt (sekundlarda)

Maksimal kiritish_vaqti = 40; Skript yuklangan ma'lumotlarni qayta ishlash uchun berishi mumkin bo'lgan soniyalardagi maksimal vaqt.

Xotira chegarasi = 16M; Bitta skriptning ishlashi uchun ajratilgan maksimal xotira

Xatolarni qayta ishlash va jurnallar

error_reporting = E_ALL | E_ERROR | E_OGOHLANTIRISH | E_PARSE | E_CORE_ERROR | E_CORE_OGOHLANTIRISH | E_COMPILE_ERROR | E_TO'PLASH_OGOHLANTIRISH | E_USER_ERROR | E_USER_OGOHLANTIRISH | E_USER_NOTICE; Chiqarilishi mumkin bo'lgan xatolar ro'yxatini belgilaydi.

Display_errors = Yoqilgan; Xatolarni to'g'ridan-to'g'ri brauzerga chiqarish imkonini beradi (ko'pincha nosozliklarni tuzatish qulayligi uchun ishlatiladi).

Display_startup_errors = Yoqilgan; PHP ishga tushirilganda paydo bo'ladigan xatolarni ko'rsatishga ruxsat beriladi.

Log_errors = Yoqilgan; Xatolarni jurnal fayliga yozishga ruxsat beriladi.

Log_errors_max_len = 1024; Jurnal uzunligi qila oladigan belgilarning maksimal soni.

Track_errors = Yoqilgan; Oxirgi xato xabari $ php_errormsg o'zgaruvchisiga saqlanadi

Html_errors = Yoqilgan; HTML-da xato xabarlarini chiqarishga ruxsat berilgan.

Error_log = fayl nomi; Xatolar jurnalining nomini belgilaydi.

Ma'lumotlarni qayta ishlash

variables_order = "EGPCS"; PHP o'zgaruvchilarni ro'yxatga olish tartibini o'rnatadi (E - o'rnatilgan o'zgaruvchilar, G - GET o'zgaruvchilari, P - POST o'zgaruvchilari, C - Cookie fayllari, S - seanslar). Agar siz biron bir harfni olib tashlasangiz, tegishli o'zgaruvchilarning ishi bloklanadi.

Register_globals = Yoqilgan; GET / POST / Cookie / seans orqali qabul qilingan o'zgaruvchilarga oddiy o'zgaruvchilar sifatida murojaat qilish imkoniyatini beradi (masalan, "$ o'zgaruvchi nomi").

Register_argc_argv = Yoqilgan; GET usulidan olingan ma'lumotlar asosida $ argv va $ argc o'zgaruvchilarni yaratishga ruxsat beriladi.

Post_max_size = 8M; Qabul qilinishi mumkin bo'lgan ma'lumotlarning maksimal miqdorini belgilaydi.

Magic_quotes_gpc = Yoqilgan; POST / GET / Cookie orqali kelgan kotirovkalarni avtomatik qayta ishlashni yoqadi.

Auto_prepend_file =; Ushbu direktivada ko'rsatilgan fayllarning mazmuni PHP tomonidan skript bajarilishidan oldin shunga mos ravishda qayta ishlanishi kerak.
auto_apppend_file =; Ushbu direktivada ko'rsatilgan fayllarning mazmuni Skript bajarilgandan so'ng PHP tomonidan mos ravishda qayta ishlanishi kerak.

Default_mimetype = "matn / html"; Kontent turi uchun kodlashni belgilaydi. Odatiy bo'lib, matn / html kodlashni ko'rsatmasdan ishlatiladi

Doc_root =; PHP skriptlari uchun ildiz papkasini o'rnatadi.

Extension_dir = "./"; Dinamik yuklangan kengaytmalar saqlanadigan jildni belgilaydi.

Fayllar yuklanmoqda

file_uploads = Yoqilgan; Fayllarni serverga yuklashga ruxsat beriladi.

Upload_tmp_dir =; Yuklanadigan fayllar uchun vaqtinchalik katalog.

Upload_max_filesize = 2M; Yuklanishi mumkin bo'lgan maksimal fayl hajmini belgilaydi.

Rozetkalar bilan ishlash

user_agent = "PHP"; USER_AGENT o'zgaruvchisi rozetkaga ulanganda o'rnatiladi.

Default_socket_timeout = 30; Rozetkada tinglash uchun maksimal vaqt (sekundlar).

Seanslar

session.save_handler = fayllar; Unda aytilishicha, sessiya ma'lumotlari fayllarda saqlanishi kerak

session.save_path = / tmp; "Teng" belgisidan so'ng siz sessiyalar haqidagi ma'lumotlar saqlanadigan papkaga yo'lni belgilashingiz kerak (papka allaqachon mavjud bo'lishi muhim)

session.use_cookies = 1; Seanslarda cookie-fayllardan foydalanishga ruxsat beradi

session.name = PHPSESSID; Seans nomi va seans cookie fayli sifatida foydalanishni bildiradi - sessiya identifikatori

session.cookie_lifetime = 0; Seansning ishlash muddati ("0" brauzer oynasi yopilguncha seansning amal qilishini bildiradi)

session.use_trans_sid = 1; Agar foydalanuvchi cookie-faylni o'chirib qo'ygan bo'lsa, sessiya identifikatori barcha havolalarga qo'shiladi

Dinamik kengaytmalar

kengaytma = modulname.extension; Tashqi modullarni yuklash uchun foydalanish mumkin. Windows tizimlari uchun ular odatda yozadilar - kengaytma = msql.dll va uchun
UNIX - kengaytma = msql.so

MySQL modullari bilan ishlash

mysql.allow_persistent = Yoqilgan; Doimiy MySQL ulanishlariga ruxsat beradi.

Mysql.max_persistent = -1; Doimiy MySQL ulanishlarining maksimal sonini belgilaydi. Agar siz -1 ni belgilasangiz, bu hech qanday cheklovlar yo'qligini anglatadi.

Mysql.max_links = -1; Doimiy MySQL ulanishlari va beqaror ODBC ulanishlarining maksimal sonini belgilaydi. Agar siz -1 ni belgilasangiz, bu hech qanday cheklovlar yo'qligini anglatadi.

Mysql.default_port =; mysql_connect funktsiyasi uchun port.

Mysql.default_socket =; Mahalliy MySQL ulanishlari uchun rozetka nomi.

Mysql.default_host =; mysql_connect funksiyasi uchun xost nomi.

Mysql.default_user =; Foydalanuvchi nomi.

Mysql.default_password =; Parol.

Agar siz o'zingizning php.ini faylingizni yaratgan bo'lsangiz va uni sayt papkasiga joylashtirgan bo'lsangiz

Bunday holda, xavfsizlik nuqtai nazaridan, sizdan tashqari hamma uchun unga kirishni bloklashingiz kerak. Buning uchun .htaccess fayliga quyidagi kodni yozishingiz kerak:


ruxsat berish, rad etish
hammadan rad eting

Lekin ehtiyot bo'ling, kabi bu sozlamalar bilan .htaccess fayli orqali php sozlamalariga tegishli barcha direktivalar (php_value, php_flag va boshqalar) ishlashni to'xtatadi (500 ichki server xatosi hosil bo'ladi).

Muhim! Agar siz o'zingizning php.ini faylingizni yaratsangiz, u faqat u joylashgan katalogga ta'sir qiladi.

HtmlAcademy va men unda murabbiy sifatida ishlaymiz. Intensiv doirasida talabalar ish muhitini ko'tarishlari kerak bo'ladi va bu eslatma yangi boshlanuvchilar uchun ushbu qiyin vazifani soddalashtirishga qaratilgan. To'liq huquqli LAMP to'plamini yaratishning turli usullari mavjud, ammo biz klassik yo'ldan boramiz. Keling, barcha komponentlarni alohida-alohida sozlaymiz (tayyor kombaynlardan foydalanmasdan) va PHP dan boshlaymiz (albatta, tayyor LAMP yig'ilishlarini hisobga olgan holda eslatma bo'ladi). Men PHP intensiv va undan keyingi dasturlarda murabbiy sifatida ishlashni rejalashtirganim sababli, boshqa OS (Linux, macOS) da ko'rib chiqish uchun shunga o'xshash ko'rsatmalar yozmoqchiman. Ular aytganidek, bir marta terlash yaxshi, lekin keyin hamma uchun oson bo'ladi. Shunday qilib, keling, boshlaylik.

Windows uchun PHP yuklab oling

Rasmiy veb-saytga o'ting va joriy PHP versiyasini yuklab oling. Ushbu yozish paytida bu - 7.1.4 ... Sahifada bir nechta tarqatishlar mavjud. Menda Windows 7 x64 bor, shuning uchun men VC14 x64 Thread Safe bilan zip arxivini tanlayman.

Yuklab olish uchun ikkita tarqatish opsiyasi mavjudligini unutmang: Thread-Xavfsiz (TS) va Non-thread-xavfsiz (NTS)... Tanlov tarjimondan qanday foydalanishni rejalashtirganingizga bog'liq. TS yagona veb-xizmat jarayoni uchun tavsiya etiladi (masalan, Apache uchun mod_php orqali sozlash). NTS IIS (Internet Information Service) va FastCGI veb-serveriga (masalan, FastCGI modulli Apache) va buyruq qatoriga muqobil sifatida foydalanish uchun tavsiya etiladi.

PHP 7.1 ni o'rnating

PHP ni qulay ishlashga tayyorlashni buyruq satridan boshlaylik. Oldingi bosqichda siz PHP tarqatish arxivini yuklab oldingiz. Ko'pgina dasturlardan farqli o'laroq, PHP o'rnatish paketi emas, balki oddiy arxivda keladi. Shuning uchun, fayllarni o'zingiz uchun qulay bo'lgan har qanday katalogga chiqarib olishingiz kerak bo'ladi. Men bunday narsalarni tizim diskining ildizida saqlashni afzal ko'raman. "C:" diskining ildizida (yoki boshqa joyda) katalog yarating. Php va yuklab olingan arxiv tarkibini unga chiqarib oling.

Katalogda juda ko'p fayllar paydo bo'ladi, lekin bizni eng ko'p qiziqtiradi:

  • go-pear.bat- PEAR-ni o'rnatish uchun skript. PEAR haqida ko'proq ma'lumotni rasmiy hujjatlarda o'qishingiz mumkin.
  • php.exe- PHP skriptlarini konsoldan bajarish imkonini beradi;
  • php-win.exe- PHP skriptlarini konsoldan foydalanmasdan bajarish imkonini beradi;
  • php-cgi.exe- PHP kodini FastCGI rejimida bajarish uchun talab qilinadi;
  • php7apache2_4.dll- Apache 2.4.X veb-server bilan integratsiya moduli;
  • phpdbg.exe- tuzatuvchi;
  • php.ini-ishlab chiqish- ishlab chiqish muhiti uchun PHP konfiguratsiya fayliga misol
  • php.ini-ishlab chiqarish- ishlab chiqarish muhiti uchun PHP konfiguratsiya fayliga misol

Biz konfiguratsiya faylini ulaymiz

Bizda ochilmagan tarqatish to'plami bor, biz unga konfiguratsiya faylini qo'shamiz. Biz tajribalar o'tkazamiz, shuning uchun biz namuna sifatida olamiz php.ini-ishlab chiqish... Ushbu faylning nusxasini PHP katalogingizga yarating ( C: \ php) Nomi bilan php.ini. MUHIM! Nomini o'zgartirishni emas, balki aynan nusxasini yarating. Rivojlanish jarayonida siz konfiguratsiya faylini o'zgartirishingiz kerak bo'lishi mumkin va xato qilish uchun har qanday imkoniyat bor, uni aniqlash qiyin bo'ladi.

Bunday hollarda, mos yozuvlar sozlamalariga qaytishdan yaxshiroq narsa yo'q. Bizning holatda, faylni nusxalashni takrorlash kifoya qiladi php.ini-ishlab chiqish v php.ini... Shunday qilib, imo-ishoralar oxirida php.ini fayli php katalogida paydo bo'lishi kerak. Keyingi eslatmalarda biz uning mazmuni haqida batafsilroq gaplashamiz.

Buyruqlar satridan PHP testi

Ushbu bosqichda "o'rnatish" deb ataladigan narsa tugadi. Konsolni oching ( cmd.exe, yorliq "Standart" menyusida mavjud) va buyruqni kiriting:

C: \ php \ php.exe --versiyasi

Natija shunday bo'ladi:

PHP 7.1.4 (cli) (qurilgan: 2017-yil 11-aprel 19:54:37) (ZTS MSVC14 (Visual C ++ 2015) x64) Mualliflik huquqi (c) 1997-2017 PHP Group Zend Engine v3.1.0, mualliflik huquqi (c) ) 1998 -2017 Zend Technologies

Natija PHP ishlayotganligini tasdiqlaydi. Masalan, yangi skript faylini yaratishga harakat qiling (men "test.php" faylini "C:" diskining ildizida yaratdim) va unga matnni qo'ying:

Endi ushbu faylni ishga tushirishga harakat qiling va natijani ko'ring:

C: \ php \ php.exe –f test.php

Funktsiya phpinfo () PHP konfiguratsiya ma'lumotlarini qulay tarzda ko'rsatadi. Bu funksiya haqida keyinroq gaplashamiz.

php.exe ga kirishni osonlashtirish

PHP ishlashga tayyor, lekin tan olishingiz kerakki, har safar PHP tarjimoniga yo'lni konsolga olib kirish juda noqulay. Hayotimizni osonlashtirish uchun keling, atrof-muhit o'zgaruvchilariga kichik o'zgarishlar kiritaylik. Boshqaruv panelida appletni ishga tushiring "tizim"(yoki shunchaki tezkor tugmani bosing Windows + To'xtatib turish... Keyin tugmani bosing "Parametrlarni o'zgartirish"... Ko'rsatilgan oynada "Tizim xususiyatlari", xatcho'pga o'ting "Qo'shimcha ravishda"... Uni toping va ustiga bosing "Atrof-muhit o'zgaruvchilari".

Ro'yxatdagi o'zgaruvchini toping "YO'L" va tugmani bosing "O'zgartirish", o'zgaruvchini tahrirlash uchun oyna paydo bo'ladi. "O'zgaruvchan qiymat" maydonida biz PHP bilan katalogga yo'l qo'shishimiz kerak. Qatorning eng oxiriga o'ting va nuqta-vergul bilan ajratilgan PHP bilan katalogga yo'lni belgilang: C: \ php;

Hamma, "Ok" tugmasini bosing. Endi tizimni qayta ishga tushiring (afsuski, kerak). Windows-ni qayta ishga tushirgandan so'ng, siz PHP-ga oddiygina kirishingiz mumkin: php Masalan, versiya nomini ko'rsatish uchun quyidagilarni yozing:

Php versiyasi

Va "C:" diskining ildizida joylashgan test.php faylini sharhlash uchun:

Php –f C: \ test.php

Yoki hatto o'rnatilgan veb-serverni ishga tushiring:

Php -t C: \ -S 127.0.0.1:8888 tinglash http://127.0.0.1:8888 Hujjat ildizi C: \ Chiqish uchun Ctrl-C tugmalarini bosing.

Sinov uchun veb-brauzerni oching va http://127.0.0.1:8888/test.php saytiga tashrif buyuring. E'tibor bering, parametrdan keyin – T veb-serverning asosiy katalogiga aylanadigan katalogga yo'lni belgilaymiz. Ushbu jildda joylashgan barcha skriptlar mijozning so'rovi uchun mavjud bo'ladi. "C:" diskida bitta faylim bor 1.php va men shuni so'rayapman.

Assoc .php = phpfile ftype phpfile = "C: \ php \ php.ee" -f "% 1" -% ~ 2

Atrof-muhit o'zgaruvchilari haqida bir oz ko'proq

Endi keling, PHP konfiguratsiya sozlamalari faylini qanday izlashi haqida gapiraylik (esda tuting php.ini). Hujjatlar to'liq qidiruv zanjirini taqdim etadi. Keraksiz asoratlarni oldini olish uchun men darhol atrof-muhit o'zgaruvchilariga yangisini qo'shishni maslahat beraman - PHPRC va qiymat sifatida konfiguratsiya fayli bilan katalogga yo'lni belgilang. Mening konfiguratsiyam asosiy PHP fayllari bilan bir xil katalogda joylashgan, shuning uchun men o'zgaruvchining qiymatini ko'rsataman -

"C: \ php". O'zgartirish kiritilgandan so'ng, qayta ishga tushirish talab qilinadi.

Men uchun hammasi shu. Yangi boshlanuvchilar uchun qo'llanmaning birinchi qismi tayyor.

Va bugun biz bu haqda gaplashamiz PHP o'rnatish... Apache bilan bo'lgani kabi, bu erda ham qiyin narsa yo'q. Agar siz birinchi marta ega bo'lsangiz PHP o'rnatish va sozlash mahalliy mashinangizda ushbu qo'llanmani rasmlar bilan o'qish sizga foydali bo'ladi. Agar siz allaqachon bu masalalarda tajribali bizon bo'lsangiz, unda siz ushbu postni xavfsiz o'tkazib yuborishingiz mumkin.

Shunday qilib, agar siz ushbu postni o'qiyotgan bo'lsangiz, PHPni birinchi marta o'rnatyapsiz yoki PHPni o'rnatish yoki sozlashda savollaringiz/muammolaringiz bor. Men bu jarayonni iloji boricha batafsil tasvirlashga harakat qilaman.

Birinchidan, bizga eng so'nggi PHP versiyasi bilan tarqatish kerak. Uni rasmiy saytdan yuklab olish mumkin - www.php.net (9,5 Mb).

Geografik jihatdan sizga eng yaqin oynani tanlab, tarqatish to'plamini kompyuteringizga yuklab oling

Arxiv tarkibini papkaga chiqaramiz C: / php5... Shunga qaramay, agar siz Apache -PHP-MySQL to'plamini birinchi marta o'rnatayotgan bo'lsangiz, uni men ko'rsatgan yo'llar orqali o'rnatishni tavsiya etaman.

Shunday qilib, ichida C: / php5 sizda quyidagilar bo'lishi kerak:

PHP o'rnatilishi tugallandi, endi biz uni sozlaymiz.

Fayl nomini o'zgartiring php.ini tavsiya etiladi v php.ini:

  • faylni tanlang
  • F2 tugmasini bosing
  • olib tashlash - tavsiya etiladi
  • Enter tugmasini bosing.

Endi faylni bloknotda ochamiz va bajaramiz PHP sozlamalari... Fayl juda ko'p PHP sozlamalarini o'z ichiga oladi, ammo hozir ularga kerak emas. Biz faqat mahalliy kompyuterimizda PHP ni ishga tushirishga imkon beradigan ba'zi bir asosiy konfiguratsiyani bajaramiz.

Sozlamalar faylidagi tavsif formati haqida bir oz

“;” belgisi satrlarga izoh berilganligini bildiradi (ular hisobga olinmaydi). Masalan:

; ignore_user_abort = Yoqilgan

Siz sezganingizdek, faylni qidirish qulayligi uchun sozlamalar guruhlarga bo'lingan. Masalan, resurslar chegarasini boshqarish sozlamalari:

;;;;;;;;;;;;;;;;;;;;;;
; Resurs cheklovlari;
;;;;;;;;;;;;;;;;;;;;;;

maksimal_bajarish_vaqti = 30; Har bir skriptning maksimal bajarilish vaqti, soniyalarda.
maksimal_kiritish_vaqti = 60; Har bir skript so'rov ma'lumotlarini tahlil qilish uchun sarflashi mumkin bo'lgan maksimal vaqt
max_input_nesting_level = 64; Maksimal kiritish oʻzgaruvchan joylashtirish darajasi
xotira chegarasi = 128M; Skript iste'mol qilishi mumkin bo'lgan maksimal xotira miqdori (128 MB).

Parametrlar va ularning qiymatlarini tavsiflash uchun format:

o'zgaruvchi_nomi = uning_qiymati

PHP modullarini sozlash.

Bo'lim toping Dinamik kengaytmalar(dinamik kengaytmalar). PHP modullarining juda katta ro'yxati mavjud:

kengaytmasi = php_bz2.dll
; kengaytma = php_curl.dll
; kengaytma = php_dba.dll
kengaytmasi = php_dbase.dll
; kengaytma = php_exif.dll
kengaytmasi = php_fdf.dll
kengaytmasi = php_gd2.dll
; kengaytma = php_gettext.dll
; kengaytma = php_gmp.dll
kengaytmasi = php_ifx.dll
; kengaytma = php_imap.dll
kengaytma = php_interbase.dll
; kengaytma = php_ldap.dll
kengaytmasi = php_mbstring.dll
; kengaytma = php_mcrypt.dll
; kengaytma = php_mhash.dll

; kengaytma = php_ming.dll
kengaytmasi = php_msql.dll
kengaytmasi = php_mssql.dll
kengaytmasi = php_mysql.dll
; kengaytma = php_mysqli.dll
kengaytmasi = php_oci8.dll
kengaytmasi = php_openssl.dll
; kengaytma = php_pdo.dll

kengaytmasi = php_pdo_mssql.dll
kengaytmasi = php_pdo_mysql.dll
; kengaytma = php_pdo_oci.dll
kengaytmasi = php_pdo_oci8.dll
kengaytmasi = php_pdo_odbc.dll
kengaytmasi = php_pdo_pgsql.dll

kengaytmasi = php_pgsql.dll
kengaytmasi = php_pspell.dll
; kengaytma = php_shmop.dll
; kengaytma = php_snmp.dll
; kengaytma = php_soap.dll
kengaytmasi = php_sockets.dll
kengaytmasi = php_sqlite.dll
kengaytmasi = php_sybase_ct.dll
; kengaytma = php_tidy.dll
; kengaytma = php_xmlrpc.dll
kengaytmasi = php_xsl.dll

Har bir modul ulanganda ma'lum hajmdagi operativ xotirani egallaydi. Ish uchun biz faqat bizga kerak bo'lgan modullarni ulaymiz, qolganlarini esa kerak bo'lganda ulash mumkin.

Modulni ulash uchun chiziq oldidan “;” belgisini olib tashlash kerak. Bu chiziqni izohdan chiqaradi va modul ishlatiladi.

Grafiklar bilan ishlash uchun PHP kengaytmasini ulaymiz - php_gd2.dll(kelajakda bizga kerak bo'ladi).

PHP kengaytmalar qayerdaligini topa olishi uchun biz ularga yo'lni ko'rsatamiz. Kengaytmalarni ulashdan oldin yoki keyin quyidagi qatorni qo'shing. Natijada siz quyidagilarni olishingiz kerak:

;;;;;;;;;;;;;;;;;;;;;;
; Dinamik kengaytmalar;
;;;;;;;;;;;;;;;;;;;;;;
;
; Agar kengaytmani avtomatik ravishda yuklashni istasangiz, quyidagilarni foydalaning
; sintaksis:
;
; kengaytma = modulname.extension
;
; Masalan, Windows-da:
;
; kengaytma = msql.dll
;
; ... yoki UNIX ostida:
;
; kengaytma = msql.so
;
; E'tibor bering, u faqat modul nomi bo'lishi kerak; katalog ma'lumotlari yo'q
; bu yerga borish kerak. bilan kengaytmaning joylashishini belgilang
; Yuqoridagi extension_dir direktivasi.

; Windows kengaytmalari
; E'tibor bering, ODBC qo'llab-quvvatlashi o'rnatilgan, shuning uchun u uchun DLL kerak emas.
; Ko'pgina DLL fayllari / (PHP 4) ext / (PHP 5) kengaytmalarida joylashganligini unutmang.
; kengaytmali papkalar, shuningdek alohida PECL DLL yuklab olish (PHP 5).
; extension_dir direktivasini mos ravishda o'rnatganingizga ishonch hosil qiling.

extension_dir = "C: / php5 / ext"

kengaytmasi = php_bz2.dll
; kengaytma = php_curl.dll
; kengaytma = php_dba.dll
kengaytmasi = php_dbase.dll
; kengaytma = php_exif.dll
kengaytmasi = php_fdf.dll
kengaytma = php_gd2.dll
; kengaytma = php_gettext.dll
; kengaytma = php_gmp.dll
kengaytmasi = php_ifx.dll
; kengaytma = php_imap.dll
kengaytma = php_interbase.dll
; kengaytma = php_ldap.dll
kengaytmasi = php_mbstring.dll
; kengaytma = php_mcrypt.dll
; kengaytma = php_mhash.dll
; kengaytma = php_mime_magic.dll
; kengaytma = php_ming.dll
kengaytmasi = php_msql.dll
kengaytmasi = php_mssql.dll
kengaytmasi = php_mysql.dll
; kengaytma = php_mysqli.dll
kengaytmasi = php_oci8.dll
kengaytmasi = php_openssl.dll
; kengaytma = php_pdo.dll
kengaytmasi = php_pdo_firebird.dll
kengaytmasi = php_pdo_mssql.dll
kengaytmasi = php_pdo_mysql.dll
; kengaytma = php_pdo_oci.dll
kengaytmasi = php_pdo_oci8.dll
kengaytmasi = php_pdo_odbc.dll
kengaytmasi = php_pdo_pgsql.dll
kengaytmasi = php_pdo_sqlite.dll
kengaytmasi = php_pgsql.dll
kengaytmasi = php_pspell.dll
; kengaytma = php_shmop.dll
; kengaytma = php_snmp.dll
; kengaytma = php_soap.dll
kengaytmasi = php_sockets.dll
kengaytmasi = php_sqlite.dll
kengaytmasi = php_sybase_ct.dll
; kengaytma = php_tidy.dll
; kengaytma = php_xmlrpc.dll
kengaytmasi = php_xsl.dll
; kengaytma = php_zip.dll

Biz kiritilgan o'zgarishlarni saqlaymiz. Biz qo'llash uchun qilgan sozlamalar uchun Apache-ni qayta ishga tushirishingiz kerak.

PHP ni o'rnatish va sozlash yakunlandi!

Ko'rib turganingizdek, hech qanday murakkab narsa yo'q. Agar ish jarayonida sizga boshqa kengaytmalar kerak bo'lsa, kerakli kengaytma bilan qatorni izohdan olib tashlang (shunga o'xshash). php_gd2.dll) va Apache-ni qayta ishga tushiring.

Keyingi postda men sizga PHP va Apache’ni qanday qilib birgalikda ishlashni ko‘rsataman.