Archive for the ‘PHP’ Category

Ieškomas PHP programuotojas

Tuesday, September 23rd, 2008

Į darbą Kaune priimtumėm pradedantį (na gal ne visai, bet ir profesionalų šiuo metu neieškome :) PHP/WEB programuotoją. Jei atsirastų keli tinkami kandidatai – tai gal net ir ne vieną.

Darbo pobūdis – www.level.lt, www.paveikslai.lt, www.obuolys.lt (šiuo metu baigiama nauja versija) bei mūsų klientų internetinių projektų priežiūra, vystymas.

Taip pat esame sukūrę skaitmeninės reklamos valdymo sistemą CinemaAds, kuri jau metus sėkmingai veikia Forum Cinemas kino centruose, bei yra diegiama į Latvijos bei Estijos kino teatrus. Priklausomai nuo kompetencijos, galimas darbas ir prie šio produkto.

Gali būti studentas. Studijas galima derinti su darbu.

Gyvenimo aprašymą su darbų pavyzdžiais/aprašymais siųskite vaidas.zlotkus@incognito.lt

Mac OS X Leopard: pirma diena

Tuesday, November 13th, 2007

Suinstaliavau, t.y. atnaujinau.

Pats atnaujinimo procesas nebuvo sudėtingas. Įdedi DVD, paspaudi “Restart” na ir minimalus instaliacijos vedlys – pasirenki instaliacijos kalbą, perskaitai licenciją ir pasirenki HDD. Toliau viskas vyksta automatiškai ir trunka apie 2 valandas.

Pirmasis Leopard startas

Paleidus sistemą mane “pasveikino” SystemUIServer crash’as (vėliau paaiškejo, kad kartojasi po kiekvieno sistemos starto). Vėliau išsiaiškinau, kad proceso klaida atsirado dėl to, jog nebuvo atnaujintas CHUD paketas iš developer tools’ų. Google apie tai nieko gero nepasakė, taigi teko pačiam išsiaiškinti. Pradėjau nuo /var/log/system.log.

Iš pirmo žvilgsnio pakibęs mds procesas. Bet greitai išsiaiškinau, kad tai Spotlight index’as.

Pirmasis žvilgsnis

Kadangi buvau matęs Leopard Tour’ą, tai žinojau, ko ieškoti. Asmeniškai pastebėjau šiuos naujus dalykus:

  • Naujas Dock’as. Atrodo kiek kitaip, bet galiu pasakyti, kad senesnis man buvo gražesnis. Animacija atrodė geriau (ypač paleidžiant naują aplikaciją).
  • Stacks. Labai naudinga nauja Dock’o funkcija. Patiko.
  • Spaces. Virtualūs desktop’ai. Gnome, KDE ar XFCE naudojusiems vartotojams tai nebus naujovė, nes iš principo tai senas dalykas. Džiugu, kad tai atsirado ir Mac OS’e.
  • Finder – Cover Flow. Galima būtų tai pavadinti patobulintu Windows XP Filmstrip’u. Net nežinau, kaip tai reiktų apibūdinti žmogui, kuris nežino, kas yra Filmstrip’as. Tiesiog dabar dokumentus galite surasti ir/ar peržiūreti daug papraščiau ir vizuališkiau.
  • Nauji Icon’ai. Tiesą sakant, tai sesnesni man asmeniškai buvo gražesni.

Apache ir PHP

O va čia jau prasideda linksmybės. Po atnaujinimo praktiškai viskas neveikia.

Mac OS X Leopard pagal nutylėjimą turi naujausias Apache ir PHP versijas, atitinkamai 2.2.6 ir 5.2.4. Bet PHP reikia aktyvuoti tiesiog atkomentuojant Load_module instrukciją httpd.conf faile. Apache konfigūracijos failas yra čia:

/etc/apache2/

Taip pat pagal nutylėjimą Apache’o konfigūracijos failuose nebūna aprašyta <Directory> instrukcija ~/Sites/ aplankui.

Galite perkopijuoti konfigūracija iš senos apache versijos (jei ją naudojote):

sudo cp /etc/httpd/users/* /etc/apache2/users/

Arba galite sukurti failą:

/etc/apache2/users/VARTOTOJAS.conf

Su tokiu turiniu:

<Directory “/Users/VARTOTOJAS/Sites”>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Taip pat, jei naudojote Entropy PHP, tai galite pašalinti /usr/local/php5:

sudo rm -rf /usr/local/php5

MySQL konfigūracija

Tiger versijoje atsirado launchd, kuris skirtas demonų paleidimui, o Leopard pradėjo griežčiau jo reikalauti, todėl reiktų sukurti (arba nukopijuoti) failą:

http://tomatocheese.com/library/com.mysql.mysqld.plist

Ir padėti jį čia:

/Library/LaunchDaemons/

MySQL tada paleidžiamas taip:

sudo launchctl /Library/LaunchDaemons/com.mysql.mysqld.plist

Pabaigai

system.log vis dar pilnas visokių pranešimų apie klaidas. Bandysiu atrinkti visus galus rytoj, o šiandien man jau gana. Padariau tik vieną išvadą – eiliniam kompiuterio vartotojui (pavyzdžiui mano daugeliui bendradarbių, nes pas mus darbe daug Mac’ų), atnaujinimas į Leopard būtų tikras pain in the ass. Iš pradžių buvo minčių net pasiulyti kolegoms atnaujinti Tiger’į į Leopard’ą, bet dabar man nuo tokios minties darosi net baisu :)

Anyway, nesakau, kad Clean install’as turėtų tiek problemų, bet faktas, kad Apple neatidirbo sistemos atnaujinimo.

Naudingos nuorodos

OS X ir PHP redaktorius – mano galvos skausmas

Friday, June 15th, 2007

Vis labiau ir labiau pradedu pamilti Mac OS X ir norisi išvis atsisakyti boot’inimosi į Winblows :)

Didžiausia problema yra ta, kad esu išpindėjęs ir PHP koduoju tik su IDE. Tiesiog man taip daug patogiau, greičiau ir dar krūva pliusų, kuriuos būtų galima vardinti ir vardinti… Bet manau svarbiausias dalykas yra PRODUKTYVUMAS. Windows aplinkoje be problemų naudojau ir naudoju Waterproof PHPEdit’ą. Vien dėl jo mano Mac’as yra dual boot’inis. Kai nereikia kodinti, tai OS X’as valdo – gražu, patogu ir dar daug daug gėrio. Jau porą vakarų ieškau, kas galėtų pakeisti mano PHPEdit’ą ir leistų atsisakyti Windows’ų mano Mac’e. TextMate, BBEdit, XCode – tikrai ne man ir niekada neatstos normalaus IDE.

Galvojau, kad jau radau sprendimą – Zend Studio Standart… Bet parsisiuntus DEMO paaiškėjo, kad UTF-8 palaikymo čia nerasta. Tikriausiai laukiama PHP6, kuris pilnai palaikys unikodą… Taigi šis variantas iškart atkrito.

Tada dar bandžiau leisti PHPEdit’ą su Wine (konkrečiau komerciniu CodeWeavers produktu – Crossover Mac). Trūko kelių DLL’ų, bet juos perkopijavus i Wine aplinką mano PHP redaktorius spjaudėsi klaidomis.

Tad pradėjau dairytis į virtualizacijos produktus. Pirmiausiai radau Parallels. Visi taip gražiai apie jį kalbėjo, kad prieš siunčiant jį į savo Mac’ą jau galvojau, kad radau sprendimą savo problemoms. Deja… Teko nusivilti. Kažkaip per daug jau jis stabdo.

Ir galų galiausiai šį vakarą aš radau VMWare Fusion Beta. Ką galiu pasakyti.. Gėris. Žinoma, jaučiasi, kad tai virtuali mašina, bet nors įmanoma žmoniškai dirbt – PHPEdit’as labai gražiai dirba ir praktiškai nesijaučia jokio stabdymo rašant kodą. Atsiranda truputėlis stabdymo scroolinant, bet prie to lengva įprasti.

Dar kas man patiko, tai, kad VMWare Fusion be problemų virtualią sistemą krauna iš mano Windows particijos – nereikėjo kurti virtualaus disko ir instaliuoti Windows’ų iš naujo. Jau nebekalbu apie galimybę pasiekti tiek vienos, tiek kitos sistemos failus bei drag & drop, copy & paste funkcijas tarp virtualios ir pagrindinės sistemos.

O geriausias dalykas yra tas, kad virtualios sistemos langus galima atskirti į atskirus ir jie atrodo kaip programos veikiančios pačiam OS X’e. Taip pat nepamirštami ir nuostabūs OS X’o šešėliai… Manau daugiau viską papasakos screenshoot’as :)

snapshot-2007-06-15-05-01-29.png

P.S. Aš jau žinau, kam artimiausiu metu išleisiu 39.99 JAV dolerius :) Bei nusimato RAM upgrade’as…

UPDATE

Zend IDE visgi dirba su UTF-8. Tik kažkodėl nekreipia dėmesio į BOM’ą ir pagal nutylėjimą lieka prie neteisingo encoding’o. Ačiū visiems už komentarus, kurie nuvedė teisingon pusėn… Bet pažiūrėkit į shot’ą.. Nelabai jis mielai ir draugauja su tais UTF-8 simboliais (kalbu apie code highlighter’į).

snapshot-2007-06-15-16-54-27.png

Savaitė su MacBook’u

Tuesday, June 12th, 2007

Taigi praėjo jau savaitė, kaip įsigijau MacBook‘ą. Tiesą sakant, tai MacBook‘o pirkti net neketinau (buvau apsisprendęs pirkti Dell’ą), bet pamatęs, kad jie stipriai atpiginti, negalėjau susilaikyti. Atpigimo priežastis tikriausiai yra ta, kad Apple nori išparduoti senuosius MacBook‘ų modelius, kuriuos pakeitė atnaujinti modeliai.

MA701ZH/A (2GHz Core 2 Duo, 1GB DDR2 677MHz, 120GB 5400RPM SATA/SuperMulti drive/Black) man kainavo 3699 Lt (senesnė kaina buvo virš 5000 Lt). Palyginus su kitais šiuo metu pardavime esančiais nešiojamaisiais kompiuteriais, kurie yra panašių parametrų, tai kaina nelabai ir skiriasi. Tai ir lėmė mano apsisprendimą :)

Kadangi kompiuteris man daugiau reikalingas kaip darbo įrankis, tai Mac OS X‘as šiai užduočiai nelabai tiko (tiesiog mano mylimas Waterproof PHPEdit‘as veikia tik Windows aplinkoje). Tai daug Mac OS X‘o aš nemaigiau. Truputėli susipažinau su sistema, esamomis programomis, suinstaliavau Firefox‘ą, Skype ir pan. O darydamas sistemos atnaujinimą sugebėjau nulaužt OS X‘ą ir to pasekoje teko sistemą instaliuoti iš naujo… Tiesiog darant atnaujinimus dar kažką instaliavau… Ėmė ir užgeso mano MacBook’as. Po reset’o OS X‘as taip ir nebepasikėlė :)

Po sistemos perinstaliavimo ir sėkmingo atnaujinimo parisisiunčiau Apple Boot Camp‘ą, suinstaliavau, išsikepiau draiverių CD ir suinstaliavau Windows XP. Viskas veikia lyg ir normaliai, tik pasigendu kokio nors Power Management‘o įrankio, tad nereikalingus įrenginius atjunginėju per Device Magager‘į. Labai ir neieškojau, gal ir rasčiau tai, ko man reikia, juk iš principo elementarią programą įjunginėt/atjunginėt nereikalingą periferiją turėtų būti nesunku suprogramuoti. Jeigu turėsiu laisvo laiko, tai net pats tokį įrankį pasirašysiu.

Dar vienas negeras dalykas, kuris man nepatinka, yra tas, kad Apple nėra parašę 64 bit’ų draiverių (tad tenka naudoti 32 bitų Windows OS). Bet priežastys, manau, aiškios – kol kas Apple negali pasiūlyti 64 bitų savoje OS platformoje. Manau, kad po Leopard‘o išleidimo atsiras ir 64 bit’ų draiveriai Windows OS’ui. Juk su Leopard‘o išleidimu numatyta ir finalinė Boot Camp‘o versija (ir tikriausiai jau mokama).

Openads + HTTPS + IE + Flash banner = Insecure content warning

Thursday, May 17th, 2007

Let’s fix this problem by changing admin/lib-banner.inc.php. Replace http:// with https:// at line 21:

$buffer .= “codebase=’https://fpdownload.adobe.com/pub/shockwave/cabs/flash/”;

After this little modification warning will be gone.

Openads caches banner’s html template, so changes will affect new banners only. You’ll have to re-upload your old banners for this to work!

Security releases: Wordpress 2.1.3 and 2.0.10

Wednesday, April 4th, 2007

Laikas ir vėl atsinaujinti :)

Oficialus post’as:

We have a security update release now available for both the 2.1 and 2.0 branches of WordPress now available for immediate download. This update is highly recommend for all users of both branches.

These releases include fixes for several publicly known minor XSS issues, one major XML-RPC issue, and a proactive full sweep of the WordPress codebase to protect against future problems. Many thanks to Sumit Siddharth and Alex Concha for their help with reporting issues in this release.

As an update to the systems issue we had last month, we have taken dozens of additional precautions with the servers and systems that run WordPress.org and they appear to be working well, despite hundreds of hack attempts after we publicly disclosed there had been a problem. We are also now aggressively monitoring all downloads for any changes or modifications, and we are confident the same type of problem won’t happen again.

Atnaujinimas į Wordpress 2.1

Wednesday, January 24th, 2007

Taigi atsinaujinau :) Didžiausi pasikeitimai administracijoje.

Teko pasikeisti skin’ą į standartinį, nes manasis kažkodėl tai nelabai draugavo su 2.1 – dingo meniu, archyve rodė puslapius.

PHP Fatal error: [Zend Optimizer] Zend Optimizer 3.2.0 is incompatible with eAccelerator

Monday, January 15th, 2007

Senokai naudoju eAccelerator ir esu labai patenkintas jo rezultatais.

Atėjo diena, kai vienam web’ui prireikė Zend Optimizer’io, nes jis užkoduotas su Zend Guard’u. Pagalvojau, kad jokių problemų neturėtų kilti – tiesiog sukišiu ZO ir viskas veiks (seniau yra tekę bandyti tai padaryti, deja, paaiškėjus, kad ZO tik viską labiau sulėtina teko atsisakyti ZO ir džiaugtis tik eA).

Taigi aš ramiai suinstaliuoju ZO iš FreeBSD port’ų ir pasileidžiu PHP CLI, kad pažiūrėčiau, ar viskas OK.. Va tada mano 3 minučių darbelis tapo geros valandos darbu:

PHP Fatal error: [Zend Optimizer] Zend Optimizer 3.2.0 is incompatible with eAccelerator

Pasirodo, naujoji ZO versija nebedraugauja su eA. Zend’o atstovai tai aiškina taip:

Zend Optimizer is not compatible with eAccelerator – both this extensions do operations on the PHP binary code and cannot co-exist.

Bet man tai atrodo keistai, nes seniau juk viskas veikė OK ir niekam niekas netrukdė. Greičiausiai tai kažkokios komercinės priežastys :)

Galimybės naudoti senesnę ZO versiją aš neturėjau, nes ji nepalaiko PHP 5.2, o ZO reikėjo tuoj pat, tad pradžiai tiesiog išmečiau eA. Vėliau nusprendžiau paeksperimentuoti su FastCGI ir pabandyti ZO naudoti tik tuose virtualiuosiuose serveriuose, kuriems yra ZO poreikis. Gan greitai tai pavyko :)

Truputėli paskaitinėjęs medžiagą internete perkompiliavau PHP su FastCGI palaikymu ir suinstaliavau mod_fcgid. Konfigūracija buvo gan paprasta.

Į bendrus serverio parametrus užteko įrašyt štai ką:

LoadModule fcgid_module libexec/apache22/mod_fcgid.so

<Directory /usr/hosting/new.autosara.com/www>
AddHandler fcgid-script .php
FCGIWrapper /usr/local/bin/php-fcgi .php
Options ExecCGI FollowSymLinks
allow from all
</Directory>

Taip pat teko sukurti /usr/local/bin/php-fcgi shell skriptą su tokiu turiniu:

#!/bin/sh
PHPRC=”/usr/local/etc/php/virtualusserveris”
export PHPRC
PHP_FCGI_CHILDREN=8
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /usr/local/bin/php-cgi

Iš esmės skriptas buvo reikalingas tam, kad be vargo būtų galima priskirti aplinkos kintamuosius su man reikalingais parametrais. Atkreipkite dėmesį į PHPRC, kuris nurodo, kur ieškoti php.ini failo.

Rezultatas buvo tas, kad konkrečiam virtualiam serveriui galėjau nurodyti jam skirtą php.ini failą. Taigi bendras php.ini krauna eA modulį, o kitame php.ini faile yra kraunamas ZO modulis.

eAccelerator 0.9.5-RC1. Jis grįžo :)

Tuesday, August 1st, 2006

Seniau rašiau, kad teko išmesti eAccelerator’ių dėl pastebėtų negerų dalykų.

Pasirodžius Release Candidate 1 versijai nusprendžiau vėl jį išbandyti ir pažiūrėti, ar man ramybės nedavę bug’ai yra ištaisyti.

(more…)

Framework’o evoliucija (jis vis greitesnis ir funkcionalesnis)

Wednesday, July 19th, 2006

Viskas prasidėjo labai labai seniai… Kai music.lt buvo perrašomas iš pagrindų. Reikėjo framework’o. Jis atsirado. Tobulėjo… Išsiplėtė… Tada jis tapo ir www.erdves.info pagrindu.

Visoje šioje istorijoje taip pat rastume kokius 4 radikalius framework’o perrašymus…
Galų galiausiai teko atsisveikinti su PHP4 ir pereiti prie PHP5… Viskas tiesiog tobulėjo :) Ir dabar yra tai, kuo aš džiaugiuosi! :)

(more…)