通过搭建 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
-