通过搭建 LAMP 环境, 就可以使用 php 进行动态网站开发
但有的时候增强 php 对某些特殊功能, 比如对 mongodb 的操纵, redis 的访问等
这时候, 你就需要为 php 安装并配置相应扩展, 即 extension
php 有一个变量定义了 extension 在你的系统中的存放位置, 那就是 extension_dir
只有 extension 存放到 extension_dir 的指定路径, 那么 php 才能正确读取
关于 extension_dir :
extension_dir="/usr/share/php_extension"
<?php
phpinfo();
?>
访问 phpinfo.php,搜索你的扩展,比如 redis
如果你的扩展放到 extension_dir 并且已经添加到 php 的 apache 配置文件,那么就会搜索到
如果没有搜索到 :
[redis]
extension=redis.so
http://php.net/manual/zh/extensions.php
[redis]
extension=redis.so
添加文件末尾即可
sudo service apache2 restart
用 C 开发的 PHP 扩展使用动态链接库的方式编译扩展模块,需要用到 phpize
这个工具在使用 apt-get install php5 默认情况也是没安装的
执行以下命令去安装 :
$ sudo apt-get install php5-dev
[mcrypt]
extension=mcrypt.so
[igbinary]
extension=igbinary.so
官方文档 : https://github.com/phpredis/phpredis#installingconfiguring
$ git clone https://github.com/phpredis/phpredis.git
$ phpize
$ ./configure [--enable-redis-igbinary]
$ make && sudo make install
这样 redis 就被安装在合适的位置
如果需要 --enable-redis-igbinary, 请先进行 igbinary 扩展的安装
[redis]
extension=redis.so
官方文档: http://php.net/manual/zh/mongo.installation.php
$ git clone https://github.com/mongodb/mongo-php-driver-legacy.git
$ cd mongo-php-driver-legacy
$ phpize
$ ./configure
$ make all && sudo make install
...
Installing shared extensions:
/usr/lib/php5/20121212+lfs/
[mongo.so]
extension=mongo.so