Linux 下 php 扩展安装
碎碎念
通过搭建 LAMP 环境, 就可以使用 php 进行动态网站开发
但有的时候增强 php 对某些特殊功能, 比如对 mongodb 的操纵, redis 的访问等
这时候, 你就需要为 php 安装并配置相应扩展, 即 extension
extension_dir 和 extension
php 有一个变量定义了 extension 在你的系统中的存放位置, 那就是 extension_dir
只有 extension 存放到 extension_dir
的指定路径, 那么 php 才能正确读取
关于 extension_dir
:
- 默认值 :
php -i | grep extension_dir
-
重新指定
在/etc/php5/apache2/php.ini
进行指定, 比如 :extension_dir="/usr/share/php_extension"
extension_dir 实际生效值
-
在你的 Apache 目录下新建文件
phpinfo.php
, 内容如下 :<?php phpinfo(); ?>
-
访问
phpinfo.php
, 搜索extension_dir
, 可以看到当前 php 寻找 extension 的路径
检验扩展是否应用
访问 phpinfo.php
,搜索你的扩展,比如 redis
如果你的扩展放到 extension_dir
并且已经添加到 php 的 apache 配置文件,那么就会搜索到
如果没有搜索到 :
- 查看
extension_dir
下有没有你的 extension -
确认是否在
/etc/php5/apache2/php.ini
中添加此 extension, 比如 redis :[redis] extension=redis.so
- 重启服务器 :
sudo service apache2 restart
- 可以留言共同讨论或者谷歌
安装并添加php扩展
-
下载并安装下载相应扩展(请自行搜索)
http://php.net/manual/zh/extensions.php
-
添加扩展到配置文件
/etc/php5/apache2/php.ini
(以redis
为例)[redis] extension=redis.so
添加文件末尾即可
-
重启web服务器
sudo service apache2 restart
phpize 的安装
用 C 开发的 PHP 扩展使用动态链接库的方式编译扩展模块,需要用到 phpize
这个工具在使用 apt-get install php5
默认情况也是没安装的
执行以下命令去安装 :
$ sudo apt-get install php5-dev
几个扩展常用扩展安装
MCcrypt 扩展的安装
-
安装 :
sudo apt-get install php5-mcrypt
-
添加配置
/etc/php5/apache2/php.ini
:[mcrypt] extension=mcrypt.so
-
重启web服务器
igbinary 扩展的安装
-
安装 :
sudo pecl install igbinary
-
添加配置
/etc/php5/apache2/php.ini
:[igbinary] extension=igbinary.so
-
重启web服务器
redis 扩展的安装
官方文档 : 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 扩展的安装
-
添加扩展到配置文件
/etc/php5/apache2/php.ini
[redis] extension=redis.so
-
重启web服务器
mongo 扩展的安装
官方文档: 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/
-
添加配置
/etc/php5/apache2/php.ini
:[mongo.so] extension=mongo.so
-
重启web服务器
- 上一篇: Raspberry Pi安装Debian Wheezy系统
- 下一篇: 离去