1.先获取go-pear.php
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="font-family:Microsoft YaHei;font-size:14px;"># curl -o go-pear.php http://pear.php.net/go-pear.phar //如果是老版本php(5.2.9之前)从<span style="color: rgb(102, 102, 102); line-height: 26px;">http://pear.php.net/go-pear获取</span></span></span>
这个文件有3.5m左右;
2.运行go-pear.php
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="font-family:Microsoft YaHei;font-size:14px;"># /usr/local/php/bin/php -f go-pear.php</span></span>
直接回车进行下一步了,通常来说不会有问题,这时候,pear的一些列安装下载命令已经可以用了。
pear库中的各种包:http://pear.php.net/packages.php
比如,要下载一个Image_3D的包
找到最新的包的版本,然后执行
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="font-family:Microsoft YaHei;font-size:14px;"># /usr/local/php/bin/pear install Image_3D-0.4.2</span></span>
3.安装完毕后,可以看到在/usr/local/php/lib/php中出现Image目录
4. 然后搜一个测试程序来测试一下,
<span style="font-family:Microsoft YaHei;font-size:14px;"><?php
require_once('Image/3D.php');
$image = new Image_3D();
$image->setColor(new Image_3D_Color(255, 255, 255));
$light1 = $image->createLight("Light",array(-100, 100, -100));
$light1->setColor(new Image_3D_Color(255, 0, 0));
$light2 = $image->createLight("Light",array(100, -200, -50));
$light2->setColor(new Image_3D_Color(0, 200, 0));
$cone = $image->createObject('cone',array('detail'=>360));
$cone->setColor(new Image_3D_Color(255, 255, 255));
$cone->transform($image->createMatrix('scale', array(80, 150, 80)));
$cone->transform($image->createMatrix('rotation', array(15, 0, 20)));
$cone->transform($image->createMatrix('move', array(0, -50, 0)));
$image->createRenderer('perspectively');
$image->createDriver('GD');
$image->render(400, 300, '/opt/website/mysite/upload/object.png');
echo '<img src="upload/object.png">';
?></span>
生成如下图片
总结:其实pear方便之处在于,安装完的扩展包可以直接用,但是用的时候得require一下;而pecl的扩展,必须通过编译安装的方式,并且要把生成的.so文件加到php.ini文件的配置中,然后还得重启服务器和php-fpm。此外,pecl的编译方式主要有如下几种:
1.用pear编译共享pecl扩展库:如果按照默认设置安装完pear后,在php安装目录的bin目录中会有一个pecl脚本
可以通过如下方式编译安装扩展,当然,执行完毕后,还是需要把extname.so配置到php.ini中,参考手册相关说明
# pecl install extname
2.用phpize编译共享pecl扩展库:有时候不能用 pecl 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有 PECL 兼容的包,例如 SVN 中尚未发布的扩展库。如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。
具体操作可以百度一下,很简单,参考手册相关说明
3.将pecl扩展库静态编入php中。参考手册相关说明