douyong1908 2016-05-30 10:53
浏览 13

在Laravel 4中卷曲异常

I'm trying to take info from site with curl. Using file_get_contents() isn't an option because is disabled on the server. So current source is this

class API
{
   function get_curl_content($url) {
       $curl = curl_init();
       curl_setopt($curl, CURLOPT_URL, $url);
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
       curl_setopt($curl, CURLOPT_HEADER, false);
       $result = curl_exec($curl);
       curl_close($curl);
       return $result;
   }

   const CACHE_KEY = 'rate';

   public static function getRate() {
       if (Cache::has(self::CACHE_KEY)) {
           return Cache::get(self::CACHE_KEY);
       }

       $oneHourTimestamp = \Carbon\Carbon::now()->addHours(1);
       $tenMinutesTimestamp = \Carbon\Carbon::now()->addMinutes(10);

       $result = $this->get_curl_content('https://example.com/');
       $rates = json_decode($result, TRUE);
       if (!$rates) {
          Cache::put(self::CACHE_KEY, '-', $tenMinutesTimestamp);
          return '-';
       }

       $Rate = @$rates['1']['2'];
       if (!$Rate) {
          Cache::put(self::CACHE_KEY, '-', $tenMinutesTimestamp);
          return '-';
       }

       Cache::put(self::CACHE_KEY, $Rate, $oneHourTimestamp);
       return $Rate;
    }
 }

When I execute this I got error's in laravel.log

roduction.ERROR: Symfony\Component\Debug\Exception\FatalErrorException: Uncaught TypeError: Argument 1 passed to Illuminate\Exception\PlainDisplayer::display() must be an instance of  Exception, instance of Error given, called in    /var/www/vendor/laravel/framework/src/Illuminate/Exception/Handler.php on line 280 and defined in /var/www/vendor/laravel/framework/src/Illuminate/Exception/PlainDisplayer.php:15

What is the problem here?

Update:

<?php

function get_curl_content($url) {
       $curl = curl_init();
       curl_setopt($curl, CURLOPT_URL, $url);
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
       curl_setopt($curl, CURLOPT_HEADER, false);
       $result = curl_exec($curl);
       curl_close($curl);
       return $result;
}



$urldata = get_curl_content('https://example.com/');

echo $urldata;

I put only this in separated file and everything is showed perfectly.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 测距传感器数据手册i2c
    • ¥15 RPA正常跑,cmd输入cookies跑不出来
    • ¥15 求帮我调试一下freefem代码
    • ¥15 matlab代码解决,怎么运行
    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法