windows环境,php如何安装pear和pecl命令?
发布于 作者:苏南大叔 来源:程序如此灵动~
pear命令和pecl命令都是通过go-pear.phar这个安装文件安装的,在windows环境下,会生成pear.bat和pecl.bat这两个文件。然而,这两个文件却不是绿色版的。移动了位置就可能会导致一系列错误。这就是本文要表达的主要内容。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验故事。本文测试环境:win10,php@8.2.11nts,pear@1.10.14。
pear和pecl
pear和pecl是php官方提供的功能扩展的命令。pear安装php代码库,pecl安装.so扩展。目前,这两个命令在php下使用的概率很低。
一般情况下来说,都有不使用pear和pecl命令的理由。比如:
pear被composer慢慢取代。- 而
pecl安装扩展,手工下载对应的.so文件,再修改php.ini也是一样的效果。
但是,本文有自己的理由使用pecl命令,而目前的win系统里面的php恰好缺少这两个命令。
安装 pear 和 pecl命令
因为通过pear和pecl命令安装的扩展功能,都是和php的版本号紧密相连的。所以,个人建议在php.exe的同级目录,运行下面的安装命令。
curl -O https://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar这个php代码,一般都需要开启zip/ssl等等扩展,否则下载安装失败。
system还是local
【system】的话,就需要改写c:/system/pear.ini。就需要管理员模式,就可能需要导入注册表,修改系统变量。
【local】的话,更绿色环保,也不需要管理员权限的cmd了。pear.ini是在当前目录下的。
安装过程中,需要回答几个问题。以及有十多个设置,看一下默认给出的选项。对,就会回车。不对,就输入all进行修改。

pear.bat 和 pecl.bat
在win环境下,在php.exe同级目录生成了pear.bat和pecl.bat。因为在php.exe同级目录执行的上述命令,所以就不用配置系统变量path了,复用了php.exe的设置。
这两个bat文件里面居然写了各种配套软件的各种路径,所以,它们不是绿色的,换了某些位置就可能有未知错误。
可能的问题
如果使用的时候,又各种配置之类的报错的话。个人建议直接删除上述bat文件,然后重装。修改那些配置还是蛮痛苦的。
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
PHP_PEAR_PHP_BIN is not set correctly.
Please fix it using your environment variable or modify
the default value in pear.bat
The current value is:
d:\tools\phpstudy_pro\Extensions\php\php8.2.11nts\php查看pecl配置
使用pecl安装扩展的好处就是:可以自动识别对应的php版本,下载对应版本的扩展,并且会自动配置php.ini。这就比较方便了。
可以用命令行的方式,查看pecl的配置。执行命令:
pecl config-show
查看自身的版本号,可以执行:
pecl -V输出类似:
PEAR Version: 1.10.14
PHP Version: 8.2.11
Zend Engine Version: 4.2.11
Running on: Windows NT SUNAN-AIR 10.0 build 19044 (Windows 10) AMD64参考文章
在mac下安装pear和pecl,可以参考:
结语
pear和pecl命令,都是通过go-pear.phar安装的。因为确实很少使用,所以更多的功能,大家可以查看官方文档。