折腾一天,因为TNAS是基于Linux内核开发一套系统,安装软件并不像centos,debian之类的容易,只能手动编译安装,并且还是缺这缺那,一精简Linux系统,总之,折腾就对了。为了提高NAS网站速度,Memcached服务必须安装,Memecache的PHP拓展必须有!Memcached拓展不知道为啥老是编译用不了,总是提示加载错误,可能是TOS系统PHP不兼容,我已经是最大化兼容了,下载了和TOS的PHP一样的版本PHP7.1.13,编译ZTS版本。最后用Memcache拓展4.0.5.1成功了,低版本还不行,编译出错,可能是太老了。
硬件:F4-220
系统:TOS4.0
因为tos系统是基于linux内核开发,并不带yum或apt-get安装,所以一切只能源码编译安装,安装目录/mnt/md0/application/(对应/usr/loca/目录),首先用root用户名登录ssh
memcached服务端
wget http://memcached.org/latest 下载最新版本 tar -zxvf memcached-1.x.x.tar.gz 解压源码 cd memcached-1.x.x 进入目录 ./configure --prefix=/usr/local/memcached 配置 make && make install 编译并且安装
/mnt/md0/application/memcached/bin/memcached如果下载失败,可以手动下载再上传,我这里放到mnt/md0/public目录下编译,安装成功之后,路径:
启动命令,仅供参考:
./memcached -d -m 64M -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
然后安装php拓展,tos系统并不带phpize,所以要先看php版本,输入php -v
下载对应php版本,然后对官方下载,
wget https://www.php.net/distributions/php-7.1.13.tar.gz --no-check-certificate tar zxvf php-7.1.13.tar.gz
wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz tar zxvf libxml2-2.7.2.tar.gz ./configure make && make install
下载好了先不急编译,需要下载libxml2库。同理
然后再切换到php-7.1.13目录,php默认是ts模式,使用zts需要加上下面参数
./configure --without-sqlite3 --without-pdo_sqlite --enable-maintainer-zts make && make install
然后利用phpize来拓展so对应版本的库
手动安装m4, autoconf
#安装m4 wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz \ && tar -xzvf m4-1.4.13.tar.gz \ && cd m4-1.4.13 \ && ./configure --prefix=/usr/local make && make install #安装autoconf wget http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz \ && tar -xzvf autoconf-2.65.tar.gz \ && cd autoconf-2.65 \ && ./configure --prefix=/usr/local make && make install
接下来configure又遇到问题,要安装pkg-configautoconf在make的时候一直失败,然后在tos重新安装一下php拓展pecl。然后就可以正常make了。
wget http://pecl.php.net/get/memcache-4.0.5.1.tgz tar -zxvf memcache-4.0.5.1.tgz cd memcache-4.0.5.1 /mnt/md0/application/bin/phpize ./configure --with-php-config=/mnt/md0/application/bin/php-config make && make install
下载pkg-config(我下的是pkg-config-0.29.2.tar.gz)https://pkg-config.freedesktop.org/releases/
wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz --no-check-certificate tar -zxvf pkg-config-0.29.2.tar.gz ./configure make make install
安装配置的时候,提示加参数至此, pkg-config 安装完成。
./configure --with-internal-glib
PHP 连接 Memcached 服务
测试memcache-4.0.5.1.tgz可编译通过,2.2.7可能太老了,编译不过,有错误。直接换最新的。
最后修改/etc/php.ini内容如下(默认好像自动增加了)
extension=memcache.so
重启nas即可看到。
测试代码
<?php $memcache = new Memcache; //创建一个memcache对象 $memcache->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器 $memcache->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test $get_value = $memcache->get('key'); //从内存中取出key的值 echo $get_value; ?>
PS后记:在nas更新系统之后,很可能php加的memcache拓展没用了,需要重新把之前编译的memcache.so复制到/usr/lib/php/modules/下面,然后还是重复:最后修改/etc/php.ini内容如下(默认好像自动增加了)
extension=memcache.so
- 文章2302
- 用户1336
- 访客10957145
今日的勇敢决断能激发一生的转变。
OllyDbg中如何找出B模块中所有调用了A模块的C方法的地方
解决vue动态生成el-table-column按钮点击事件
微信小程序F2图表——Cannot read property 'source' of null
Java开发人员的7种最佳测试框架
分享几种Android模拟点击方法
国产X86处理器
linux文件夹打包命令
x86 emulation currently requires hardware acceleration
Android开源刮刮卡库ScratchCardLayout使用教程
Android模拟点击延迟解决方法
解决安卓运行错误Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug
C++11特性里面的thread
利用adb shell命令对手机进行截图