由于服务器里面装了多个php版本,有时候需要分别安装扩展。但是默认的php版本只能有一个,所以很多时候也只能依靠源码安装的方式,在编译的时候使用不同版本的php指令,这样才能达到目的~整了好久终于是整出来了,做个分享~
这里以我今天下午安装的xdebug扩展为例:
我命令行里面默认的php版本是8.0,但是我想给php7.4安装这个扩展。所以首先我需要在shell配置文件中定义一下快捷命令和环境变量,方便之后的操作
这是我服务器上zsh的配置文件~/.zshrc,在这个文件里面,我自定义了一个环境变量php74_config,值就是php74配置文件php-config的路径,可以用${php74_config}的形式来引用。下面我定义了两个自定义命令,一个是php74,一个是phpize74,值都是执行文件的路径,这样,我们的准备工作就做好了。
保存退出,接下来用
source ~/.zshrc
来让刚刚我们更改的配置文件生效
接下来就是上官网看看如何安装了,xdebug超级人性化的一点就是它提供了一个页面Xdebug: Support — Tailored Installation Instructions,在这个页面上你可以把你运行对应版本phpinfo()之后的结果直接复制上去(文本即可),然后页面会自动根据你的配置情况生成对应的每一步命令,超级贴心有木有~
不过有个坑,由于是多个版本的php,而它给的命令是默认你的php版本只有一个或者就是你传给它的版本,所以命令得改一改
下载啥的都没问题,第5,6步有变化:
phpize74 ./configure --with-php-config=${php74_config}
就是phpize要是你对应的php版本下的phpize,./configure也要指定对应的php-config才行,这也适用于其它的扩展
剩下的没啥问题,照着安装就行了,安装完了重启php即可
对应于其它的php扩展来说也是如此:
phpize (对应版本) ./configure --with-php-config=<your-php-config> 将.so文件复制到对应的php extension目录下 更改php.ini,启用扩展 重启php
文章评论