Laravel 5.4调用未定义的函数App \ iconv()

时间:2017-11-01 13:51:11

标签: php iconv

我已将我的项目上传到服务器,现在它给我带来了问题,可能是?,在本地项目运行完美。这是我的功能代码

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Gateway extends Model
{
     function _doPost($query) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://secure.nmi.com/api/transact.php");
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
        curl_setopt($ch, CURLOPT_POST, 1);

        if (!($data = curl_exec($ch))) {
            return ERROR;
        }
        $wm_string = iconv("windows-1251", "UTF-8", $data);
        parse_str(urldecode($wm_string), $result);
        $data=json_encode($result, JSON_UNESCAPED_UNICODE);
        curl_close($ch);
        unset($ch);

        $this->datos=$data;
        return $this->datos;
      } 
       }

错误是

调用未定义的函数App \ iconv() 在这一行

    $wm_string = iconv("windows-1251", "UTF-8", $data);

这可能是服务器问题吗?或者我必须将一些包下载到我的项目中?

1 个答案:

答案 0 :(得分:1)

您可能需要请求您的托管服务提供商提供/安装使用iconv编译的PHP。因为默认情况下php附带iconv,除非在没有它的情况下明确编译。

  

默认情况下启用此扩展程序,但可能会被禁用   用--without-iconv编译。

iconv: http://php.net/manual/en/book.iconv.php

iconv installation: http://php.net/manual/en/iconv.installation.php