ubuntu apache installálás 2
avagy kubuntu for dummies 2
Az előző részben összeraktuk a szervert, de pár dolog még hiányzik, ezeket gyűjtöttem most össze.
Pear + PHPUnit
Először installáljuk a peart:
sudo apt-get install pear
Majd installáljuk a phpunitot is:
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear install phpunit/PHPUnit
xDebug
Az xDebug installálása elvileg egyetlen kattintás, de sajnos nem fog rögtön lefutni, ha nem telepítettük még a php5-dev csomagot. (Panaszkodni fog a pecl valahogy így: "running: phpize sh: phpize: not found ERROR: `phpize' failed.")
sudo apt-get install php5-dev
Ne lepődjünk meg, ha a pecl ellepi a konzolunkat szöveggel, ilyenkor forrásból állítja össze nekünk az xdebugot.
sudo pecl install xdebug
Ha a kurzor visszanyerése előtti utolsó sor valami olyasmin, hogy "You should add "extension=xdebug.so" to php.ini
", akkor már majdnem jó a helyzet, de a php még nem tud az xdebugról. nézzük meg hol jött létre az xdebug.so, ehhez nyissuk meg az /usr/lib/php5 könyvtárat és ls-el keressünk egy dátummal kezdődő könyvtárat. Nálam ez a 20090626+lfs volt. Ez kelleni fog a következő lépéshez, létrehozunk egy külön beállítás fájlt a modulnak:
sudo gedit /etc/php5/conf.d/xdebug.ini
Ennek első sora legyen:
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
Az apache újraindítása után elérhető lesz az xdebug, megjelenik a phpinfo()-ban is, de először inkább állítsuk be izlés szerint az xdebugot. (További opciók: http://www.xdebug.org/docs/)
PhpMyAdmin
sudo apt-get install phpmyadmin
Bár ez borzasztó egyszerűnek tűnik, az első kubuntu intallálásomkor valamiért így nem akaródzott működni. Ekkor letöltöttem a forrást, de egy XP-s NTFS vinyóra volt. Mivel viszont itt nem lehet jogosultságokat megadni, ez azt eredményezte, hogy a phpmyadmin elkezdett nekem hibát dobni, amikor ki akartam kapcsolni a jelszókérést. Épp ezért, bár nyilván működhet a forrásból kicsomagolt program is, ha egy mód van rá én a jövőben maradok a ez előre csomagolt verziónál.
CodeSniffer
Az egységes kódhasználat nagyszerű dolog, sajnálatos, hogy egy átlagos projektben is szinte lehetetlen megcsinálni. Pontosabban a saját kóddal semmi gond, de ha már akár csak két idegen könyvtárat is használni szeretnénk, szinte biztosan különböző kódolási mintákat fognak követni. Azért legalább a saját kódunk egységességét megpróbálhatjuk követni a CodeSnifferrel:
pear install PHP_CodeSniffer-1.3.0RC1
PHP beállítások
sudo gedit /etc/php5/apache2/php.ini
Szeretem a feltöltéshez kapcsolódó beállításokat jó nagyra venni, így könnyen importálhatok több száz megás adatbázisokat a saját gépemre. Ehhez általában csak a max szótöredékre keresem végig a php.ini-t.
max_execution_time = 300
max_input_time = 600
memory_limit = 512M
post_max_size = 400M
upload_max_filesize = 400M
Jöjjenek a hibabeállítások. Saját körneyezetről van szó, úgyhogy hadd jöjjenek a hibaüzik, inkább itt mint élesben... A html_errors amúgy kicsit megviccelt, mert Windows alatt sosem kellett foglalkoznom vele, itt viszont xdebug-gal sem kaptam a szokásos szép kimenetet.
error_reporting = E_ALL | E_STRICT
display_errors = On
display_startup_errors = On
html_errors = On
Ezen kívül én még az open_short_tag = Off beállítást preferálom, úgyse használok rövid taget és a komolyabb keretrendszerek is tiltják általában. (Egyetlen általam ismert kivétel a CodeIgniter, de azt már régóta nem használom és a template fájlokban fel is oldja a problémát egy config beállítással.)
Hiányzó PHP modulok
sudo apt-get install php5-curl
Hiányzó apache modulok
Futassuk elkészült oldalainkon a YSlow és Page Speed lekéréseket és máris hiányozni fog pár modul az alapértelmezett apachból.
sudo a2enmod expires
sudo a2enmod headers
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.