5. PHP 常用模块
最后更新于:2022-04-02 07:47:08
#### PHP缓存加速器选择
常见的PHP缓存加速器有xcache、eaccelerator、APC(Alternative PHP Cache)、ZendOpcache
**5.5以前 **第一选择xcache
- 效率更高、更快
- 社区活跃、使用广泛、稳定
**5.6以后 **第一选择ZendOpcache
- 官方研发,发展潜力好
- 编译直接使用--enable-opcache
##### 编译安装xcache
```shell
cd /opt
wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz
tar xf xcache-3.2.0.tar.gz
cd xcache-3.2.0
/app/php/bin/phpize
./configure --enable-xcache --with-php-config=/app/php/bin/php-config
make
make install
```
配置生效
```shell
echo "20160926 BrandynX" >> /app/php/lib/php.ini
echo "This xcache config." >> /app/php/lib/php.ini
cat /opt/xcache-3.2.0/xcache.ini >> /app/php/lib/php.ini
```
主要参数
```shell
xcache.size = 128M
xcache.count = 2
xcache.slots = 8K
xcache.ttl = 86400
xcache.gc_interval = 3600
xcache.var_size = 0
```
##### PHP5.5以前,编译ZendOpcache
编译安装ZendOpcache(插件)
```shell
cd /opt/
wget http://pecl.php.net/get/zendopcache-7.0.5.tgz
tar xzf zendopcache-7.0.5.tgz
cd zendopcache-7.0.5
/app/php/bin/phpize
./configure --enable-opcache --with-php-config=/app/php/bin/php-config
make
make install
```
配置生效(通用)
```shell
zend_extension= /app/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
```
#### 其他必备模块
##### 编译安装Memcache
```shell
cd /opt/
wget http://pecl.php.net/get/memcache-2.2.7.tgz
tar xzf memcache-2.2.7.tgz
cd memcache-2.2.7
/app/php/bin/phpize
./configure --enable-memcache --with-php-config=/app/php/bin/php-config
make
make install
ll /app/php/lib/php/extensions/no-debug-non-zts-20131226/
```
##### 插件安装imagick
imagick可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,依赖imagemagick工具
1. 安装imagemagick(有rpm包)
```shell
cd /opt/
wget http://www.imagemagick.org/download/ImageMagick.tar.gz
#wget http://www.imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-7.0.3-1.x86_64.rpm
tar xzf ImageMagick.tar.gz
cd /opt/ImageMagick-7.0.3-1/
./configure
make
make install
```
2. 安装imagick
```shell
cd /opt/
wget http://pecl.php.net/get/imagick-3.4.3RC1.tgz
tar xzf imagick-3.4.3RC1.tgz
cd imagick-3.4.3RC1
./configure --with-php-config=/app/php/bin/php-config
make
make install
```
编辑php.ini,结尾添加
```shell
extension_dir = "/app/php/lib/php/extensions/no-debug-non-zts-20131226/"
extension = memcache.so
extension = imagick.so
```
##### 动态添加libmcrypt模块(可选)
```shell
cd /opt
wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
sleep 2
/sbin/ldconfig
cd libltdl/
./configure --dnable-ltdl-install
make && make install
```
';