李维亮_前端开发攻城狮 - fsockopen函数
type: channel
link: https://www.liweiliang.com/tag/fsockopen%E5%87%BD%E6%95%B0/
items: phpcms不支持fsockopen函数的解决办法

phpcms不支持fsockopen函数的解决办法
type: item
date: 2016-04-13T16:38:00+08:00
description: phpcms由于不支持fsockopen无法安装方法一（推荐）：安装的时候，在地址栏直接改step=3，跳过这一步即可安装成功。方法二：打开安装包 /install/install.php第50行$is_right = (phpversion() >= '5.2.0' && extension_loaded('mysql') && $PHP_JSON && $PHP_GD && $PHP_FSOCKOPEN) ? 1 : 0; 改为$is_right = (phpversion() >= '5.2.0' && extension_loaded('mysql') && $PHP_JSON && $PHP_GD) ? 1 : 0; fsockopen替换为pfsockopen如果你需要邮件功能的话，就需要修改管理会员邮件的文件。修改服务器上的phpcms/modules/member/classes/client.class.php这个文件，将第361行的fsockopen改成pfsockopen不支持fsockopen和pfsockopen把phpcms\modules\member\classes\client.class.php 361行$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout); 改成$fp = stream_socket_client("tcp://".($ip ? $ip : $host).":".$port, $errno, $errstr, $timeout); 这样就可以解决fsockopen pfsockopen两个函数禁用的问题参考fsockopen函数被禁用的解决方案