简单解决 lnmp1.8安装Memcached失败 的问题

昨天遇到了离谱的事情:想要安装redis和memcached,结果前者安装成功了,而memcached总是装不上。还以为lnmp环境被我玩崩了,为此还特意花了160多分钟卸载和重装lnmp1.8,结果嘛……

问题

  • addons.sh install memcached : Memcached Install failed!
  • 系统:Debian
  • lnmp版本:1.8-full

 

那当然还是失败了!

好吧,之前()没时间,就没去看输出的日志文件,那怎么办?慢慢看呗……

简单说明

从输出的日志整体来看,是最后下载出了问题,那就容易多了,直接搜索相关的路径不就能定位到所执行的文件了?确实如此,通过vs code简单搜索之后,定位到了 lnmp的include子目录 下的 memcached.sh 文件中的第54行。

看了下脚本内容,似乎是IP定位没识别正确,导致海外的机器也使用国内镜像源(github.com.cnpmjs.org),而水本文的时候,该源正处于离线状态(error 503),因此无法下载相关文件,从而导致脚本后面的内容都执行失败。
lnmp1.8 install memcached error

临时解决方法

将下面 if条件判断 里的这部分内容里的链接替换成默认的 github.com :

*注意:这可能不适用于国内机器,毕竟直接从github官方源拉文件,那速度嘛懂得都懂。

        if [ "${country}" = "CN" ]; then
            git clone https://github.com.cnpmjs.org/php-memcached-dev/php-memcached php-memcached-src
            cd php-memcached-src
        else
            git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
            cd php-memcached-src
        fi

lnmp1.8 install memcached error 2

方式一

喜欢修改的乐趣?那就手动编辑 lnmp的include子目录 下的 memcached.sh 文件,替换后:
        if [ "${country}" = "CN" ]; then
            git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
            cd php-memcached-src
        else
            git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
            cd php-memcached-src
        fi

方式二

当然你想“简单粗暴”一点,使用 sed 一行匹配替换内容也能搞定:
#memcached.sh文件路径,自行替换
sed -i 's/github.com.cnpmjs.org/github.com/g' /root/lnmp1.8-full/include/memcached.sh

再次尝试安装

lnmp主目录里 再次使用命令:bash addons.sh install memcached 来尝试安装memcached。

lnmp1.8 install memcached success

碎碎念

至于其它的方式,反正怎么开心怎么来了,类似像直接移除掉上面的 if…fi条件判断 部分,直接用换成下面两行也不是不可以:

        git clone https://github.com/php-memcached-dev/php-memcached php-memcached-src
        cd php-memcached-src
阅读剩余
THE END