Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Instalirajte APC za PHP u Linux-u



Objavljeno 6. februara 2008. u PHP (Ažurirano 5. novembra 2008)

APC je Alternativni PHP Keš, koji je besplatni, otvoreni i robustni okvir za keširanje i optimizaciju PHP srednjeg koda. Ovo znači da APC čita Vaše PHP fajlove, raščlanjuje ih na mnogo efikacnije binarne formate, a potom ih kešira u memoriju tako da svaki zahtev za Vašim fajlovima i PHP bazom fajlova može biti uveden iz raščlanjenog keša. Ovo će generalno voditi povećanju brzine kada koristite PHP sajt, naročito onaj sa mnogo fajlova u bazi. Ovaj tekst Vam daje uvid u to kako da instalirate APC za PHP u Linux-u. Ja sam koristio Linux-ovu distribuciju CentOS 5, ali bi ovaj postupak trebao da bude sličan za većinu distrova.

Pre svega, potrebno je da preuzmete APC kod iz PHP PECL baze. Dakle, pomerite direktorijum u nešto kao /tmp a onda preuzmite najnoviju verziju:

$ wget http://pecl.php.net/get/APC



Ovo će uvek preuzeti najnoviju verziju, a u mom slučaju, kada sam ga instalirao preuzeo sam APC-3.0.16.tgz kao:

--22:58:41--  http://pecl.php.net/get/APC Resolving pecl.php.net... 216.92.131.66 Connecting to pecl.php.net|216.92.131.66|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 114298 (112K) [application/octet-stream] Saving to: `APC-3.0.16.tgz' 100%[=====================>] 114,298     97.1K/s   in 1.1s 22:58:43 (97.1 KB/s) - `APC-3.0.16.tgz' saved [114298/114298]



Potom je potrebno da otpakujete fajlove:

$ tar -zxf APC-3.0.16.tgz



i prebacite ih u APC direktorijum:

$ cd APC-3.0.16



Sledeći korak je da pokrenete “phpize” komandu. Za ovo je potrebno da ste instalirali PHP development package. Na CentOS ovo je php-devel (instalirano pomoću pokretanja “yum install php-devel”) i trebalo bi da ima slično ime na drugim Linux-ovim distrovima.

$ phpize
Configuring for:

PHP Api Version:         20041225 Zend Module Api No:      20050922 Zend Extension Api No:   220051025



Potom konfigurišite APC tako što će te mu “reći” gde se php-config nalazi. Ako ne znate gde se nalazi, probajte ovo:

$ whereis php-config



a što će vratiti nešto kao što je:

php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz



a potom pokrenite komandu za konfiguraciju:

./configure --enable-apc --enable-apc-mmap --with-apxs --with-php-config=/usr/bin/php-config



Ovo će se nastaviti dalje i konfigurisaće stvari što će izgledati nekako ovako:

checking for egrep... grep -E checking for a sed that does not truncate output... /bin/sed ... checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate configure: creating ./config.status config.status: creating config.h



Sada kada je konfiguracija završena, sve je pitanje pokretanja; napravite:

$ make ... Libraries have been installed in:    /tmp/APC-3.0.16/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following:    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable      during execution    - add LIBDIR to the `LD_RUN_PATH' environment variable      during linking    - use the `-Wl,--rpath -Wl,LIBDIR' linker flag    - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Build complete. (It is safe to ignore warnings about tempnam and tmpnam).



i onda instalirajte:

$ make install Installing shared extensions:     /usr/lib64/php/modules/



i restartujte Apache web server:

/etc/init.d/httpd restart



APC keš će sad biti osposobljen. Možete potvrditi ovo tako što ćete kreirati skriptu koja pokreće phpinfo() komandu i traži APC sekciju. Podrazumeva se da će ona biti uključena dodavanjem “extension=apc.so" reda Vašem /etc/php.ini fajlu, ali možete je dodatno podesiti. INSTALL fajl sugeriše ovo (Ja sam stavio početne vrednosti na kraj svakog reda što je u suštini ono što je već podešeno ako niste ništa podešavali u php.ini fajlu):

I to je sve. Takođe postoji i skripta za praćenje koja je dostupna, tako da možete da vidite šta je bilo keširano i koliko je memorije za to korišćeno. Možete čitati o ovome u mom "Displaying PHP APC Cache Information" tekstu.

Ažurirano 5. novembra 2008: Upravo sam ovo instalirao na drugom serveru i nisam imao nikakvih problema pri instalaciji ali extension=apc.so red nije dodat /etc/php.ini fajlu automatski. Dakle, ako Vam se čini da neće da radi, proverite php.ini da biste se uverili da je red tamo i da ga dodate ukoliko nije.




Published (Last edited): 05-07-2012 , source: http://www.electrictoolbox.com/install-apc-php-linux/