2019年12月18日星期三

为nextcloud安装smbclient 模块 (LNMP1.6)


使用lnmp环境安装nextcloud后启用外部储存支持提示缺少smbclient php模块,在此作一下解决记录,安装方式为从源码安装。

1、安装必要模块支持:
apt install libsmbclient-dev
2、克隆源码:
git clone git://github.com/eduardok/libsmbclient-php.git
3、phpize it:
cd libsmbclient-php ; phpize
4、开始构建
./configure --with-php-config=/usr/local/php/bin/php-config
5、编制并安装
make && make install
6、取消PHP禁用参数
vim /usr/local/php/etc/php.ini
寻找disable_functions字符串,将后面的 scandir , popen , exec 项删除(提示:vi下可输入/,进入搜索模式,轻松找到disable_functions.)
7、通过PECL命令来安装php对应的smb扩展
pecl install smbclient
8、这里可能会报错,提示如下:
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
运行下列命令对pecl channel进行升级
pecl channel-update pecl.php.net
9、重启LNMP环境
lnmp restart
10、开启用PHP支持(非必须项)
修改php.ini
vim /usr/local/php/etc/php.ini
查找:extension_dir 再下面一行添加上
extension="smbclient.so"
保存,执行/etc/init.d/php-fpm restart 重启。