centos6.9编译安装php-7.2.0的fileinfo扩展

切换到管理用户

sudo -i

进入解压的php目录(这里我之前已经下载好解压的目录,没有的先下载解压)

cd /usr/local/src/php-7.2.0/ext

找到本地装好的PHP的ext目录,把下好fileinfo源码复制进去
cp -r fileinfo/ /usr/local/php/include/php/ext/

编译(找到phpize,在fileinfo目录里执行一下)
cd /usr/local/php/include/php/ext/fileinfo /usr/local/php/bin/phpize

由于内存不足导致编译被停止,下面是停止提示

cc: Internal error: Killed (program cc1)
Please submit a full bug report.
See  for instructions.
make: *** [libmagic/apprentice.lo] Error 1

临时使用文件作为Swap分区来解决

# 创建要作为swap分区的文件:增加1GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)
dd if=/dev/zero of=/tmp/swapfile bs=1M count=1024

# 格式化为交换分区文件,建立swap的文件系统
mkswap /tmp/swapfile

# 启用交换分区文件,启用swap文件
swapon /tmp/swapfile

编译

./configure \
--with-php-config=/usr/local/php/bin/php-config

生成so包

make
make install

安装完成,它会生成一个包到指定位置

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/

编辑php.ini把包引用进去

vim /usr/local/php/etc/php.ini

# 添加进去
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/fileinfo.so

重启php-fpm

service php-fpm restart

编译完成之后,关掉Swap分区

swapoff /tmp/swapfile
rm /tmp/swapfile

END

你可能感兴趣的:(centos6.9编译安装php-7.2.0的fileinfo扩展)