Install APC for PHP on Linux

Posted 7 years ago by SuperAdmin

Инсталирайте APC за PHP на Linux

 

Публикувано в PHP – Последна актуализация на 05 ноември, 2008

APC е алтернативната PHP кеш, която е безплатна, отворена и здрава рамка за кеширане и оптимизиране на PHP междинен код. Това означава, че APC чете вашите PHP файлове, ги анализира в по-ефективен двоичен формат и след това ги съхранява в паметта, така че всяка заявка за вашите PHP файлове и PHP библиотечни файлове може да бъде подадена от анализирания кеш. Това обикновено води до увеличаване на скоростта при показване на сайт в PHP, особено в много файлове с библиотеки. Тази публикация разглежда как да инсталирате APC за PHP на Linux. Линукс дистрибуцията, която използвах, беше CentOS 5, но би трябвало да е сравнително подобна за повечето дистрибуции.

 

Изтегляне на APC от PHP PECL

На първо място трябва да изтеглите APC кода от PHP PECL библиотеката. Така че променете директорията някъде като / tmp и след това да получите най-новата версия като така:

 

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

 

Това винаги ще получи най-новата версия, а в моя случай, когато инсталирах току-що изтегления APC-3.0.16.tgz харесвам така:

 

–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]

 

Така че тогава трябва да извлечете файловете:

 

$ tar -zxf APC-3.0.16.tgz

 

и променете в директорията APC:

 

$ cd APC-3.0.16

 

Инсталирайте APC

 

Следващата стъпка е да изпълните командата “phpize”. Това изисква да имате инсталиран PHP пакет за разработка. На CentOS това е php-devel (инсталирано чрез стартиране на “yum install php-devel”) и трябва да има подобно име на други дистрибуции на Linux.

 

$ phpize
Configuring for:
PHP Api Version:      20041225
Zend Module Api No:   20050922
Zend Extension Api No:   220051025

 

След това конфигурирате APC, като го казвате къде е изпълним файл php-config. Ако не знаете къде е това, направете следното:

 

$ whereis php-config

 

който ще върне нещо като:

 

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

 

и след това изпълнете командата configure като:

 

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

 

Това ще продължи и ще направим някои конфигуриращи неща, които ще изглеждат така:

 

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

 

 

Сега, когато се извърши конфигурирането, това е просто въпрос на текуща марка:

 

$ 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).

 

и след това направете инсталиране:

 

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

 

и рестартиране на уеб сървъра на Apache:

 

/etc/init.d/httpd restart

 

Сега кеша APC ще бъде активиран. Можете да потвърдите това, като създадете скрипт, който извиква командата phpinfo () и търсите раздела APC. Той щеше да е включен по подразбиране, като добави ред “extension = apc.so” към файла /etc/php.ini, но може да искате да добавите още настройки, за да го конфигурирате повече. Файлът INSTALL предлага това (настроих стойностите по подразбиране в края на всеки ред, ако не зададете нищо във файла php.ini):

 

apc.enabled=1                   # default = 1
apc.shm_segments=1                  # default = 1
apc.shm_size=128                # default = 30
apc.ttl=7200                    # default = 0
apc.user_ttl=7200                   # default = 0
apc.num_files_hint=1024             # default = 1000
apc.mmap_file_mask=/tmp/apc.XXXXXX  # default = no value
apc.enable_cli=1                # default = 0

 

това е всичко за него. Има и скрипт за наблюдение, за да можете да видите какво се кешира и колко памет се използва и др. Можете да прочетете за това в моята “Показване на PHP APC Cache Information” пост.

Актуализиране на 5 ноември 2008 г.: Току-що инсталирах това на друг сървър и нямах проблеми при инсталирането му, но той не добави автоматично разширението = apc.so към файла /etc/php.ini. Така че, ако не изглежда да работи, проверете php.ini, за да сте сигурни, че линията е там и го добавете, ако не.

 

Bookmark the permalink.