在windows下我们需要开启某个扩展,很容易。一般情况下,dll文件都已经安静地躺在extension目录下,只等待你在php.ini里将它前面的;去掉。
而在linux,你cd到php的extensions目录往往发现里面空空的。或许只有几个so文件落寞地待着。
这里以编译fileinfo扩展为例(注意这是php内置的扩展,如果你编译的是第三方扩展请自行到官网下载源码)
一、找到扩展包
你需要到PHP源码包里寻找,希望源码包没被你删除。
cd到php-5.x.x/ext/目录,你会发现里面有很多内置的扩展
我们cd到fileinfo目录
二、编译
phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
上面的命令很好理解,首先是执行phpize,它是用来安装php扩展的工具,如果你的系统无法识别,请使用完整路径。比如/usr/local/php/bin/phpize 。这个工具会在当前目录下生成configure文件。
接着就是编译的三板斧啦~其中with-php-config参数请按照你实际情况填写
没有意外的话,经过上面的编译,你会在php/lib/php/extensions/(在php.ini的extension_dir可找到)目录下找到生成的fileinfo.so文件
三、添加配置
最后只需要在php.ini里把扩展添加进去就好了
extension = "fileinfo.so"
最后别忘了重启web服务器
本文固定链接: http://zoufeng.me/2015/08/09/compiled-php-extension-in-linux/
推荐一个php进阶开发群(467634807),喜欢灌水和闲聊的勿入~
时间: 2024-10-05 12:58:41