Viena iš 600 PHP branduolio funkcijų yra get_browser(), kuri naudoja browscap.ini failą, kaip pseudo duomenų bazę. Apie f-ją daug sakyti nieko nereikia. Ji yra ganėtinai “self-explainatory” - ji padeda išsiaiškinti naršyklės galimybes iš pateiktos “User-agent” antraštės.

Norint naudotis šia f-ja reikia atkomentuoti browscap direktyvą php.ini faile. Čia ir prasidėjo mano visos savaitės galvos skausmas: nors ir nustačiau šią direktyvą php.ini faile, tačiau bandant ją panaudoti iš CLI (Command Line Interpreter) aplinkos visada gaudavau klaidą, kad browscap.ini direktyva nėra nustatyta. Phpinfo() rodė, kad tiek Local value, tiek Global value yra nustatytos į būtent tą failą, kurį nurodžiau php.ini faile.

Žiūrėjau ilgai aš į tą phpinfo() outputą. Naršiau po /etc/php pakatalogius ir tada netyčia problema išsisprendė. Pasirodo, kad mano naudojama OS (gentoo) naudoja du skirtingus php.ini failus: vieną web_sapi, kitą - cli_sapi. Paredagavus cli-php5/php.ini bylą viskas susitvarkė.

Suprantama - niekas nuo žioplumo nėra apdraustas, tad jeigu kada nors naudositės šia f-ja iš cli - prisiminkite, kad gali būti kitas php.ini failiukas būtent konsolinei aplinkai.

Panašūs straipsniai


“browscap bei get_browser() OS-related “triukai”” komentarų: 3

  1. lizdeika

    be komentarų

  2. petreliukis

    ok

  3. holms

    jo cia tikrai be ko mentaru, getoo net ne du naudoja o trys jeigu ka:
    apache2-php5 cgi-php5 cli-php5 manau aiskint nereikia kurie cia ka daro. man dabar kita problema kad as ji ir nurodziau ta funkcija grazina tuscia rezultata…ir klaidu man jokiu nemeta… ir vat ka daryt cia tai bbz

Rašyti komentarą

Jūs privalote prisijungti jeigu norite rašyti komentarą.