把论坛从本地迁移到VPS上以后,发现论坛与UC的通信一直是失败状态的,然后按照官方的方法检查权限以及配置,都没有任何问题,感觉非常奇怪,为什么会出现这个问题呢?百思不得其解!

后来没有办法,由于是直接导入的数据库,然后就想,把论坛重新安装一次,看看会不会出现同样的问题。后来把安装文件传上去以后在安装的时候突然发现,下面函数检查的时候显示fsockopen该函数需要 php.ini 中 allow_url_fopen 选项开启 

我马上用探针检查了,发现确实这个函数没开,难道UC的通信失败与这个有关?

既然找到错误了,那我们就耽误这两分钟来改一下配置,看看到底是不是这个问题吧!

由于我是linux的系统,采用的是LNMP一键安装包安装的集成环境,所以,他的配置文件在/usr/local/php/etc/php.ini  位置。使用NANO编辑器打开它(VIM太麻烦啊太麻烦……),然后查找了这个配置allow_url_fopen=On 默认就是打开的,奇怪了,那是什么问题呢?

在仔细看了一下探针,发现被禁用的函数(disable_functions)里面有fsockopen这个函数,还有一个pfsockopen这两个函数,把这两个函数从被禁用的函数里面删除,然后重启了所用环境……

接着,我的UC通信成功了!

其实很多时候,我们做东西的时候就会有很多错误,但是要善于观察与实践。像UC通信失败这种问题,按照官方的方法就是后台的配置有问题,当我们发现一个配置没有问题以后,还是有错,那我们就要看一下是其他什么的问题了。这些都是经验,书上与官方都不会说的!

标签: uc通信失败, fsockopen函数, LNMP

添加新评论