应用程序在本地开发环境中工作,但在服务器上部署时不能

时间:2013-07-25 18:36:30

标签: php api deployment

我使用flickr API + PHP创建了一个应用程序。不知怎的,我的代码在我的本地机器上运行,但是当我将它部署到服务器上时,它会中断。

我得到的警告是:

  

警告:在第124行/home/u189255383/public_html/imageGallery/imageProcess.php中为foreach()提供的参数无效。

在我的代码中,该部分是foreach($resultObj['photos']['photo'] as $photo)只是一个代码,用于处理从请求flickr API获取结果的函数传入的结果。

我发现它只是因为$resultObj中没有任何内容而表示无效,这就是为什么它是无效的参数,但我不知道为什么它是空的。

$url = $request . $method . $sign . $apiKey . $sign . 'text=' . urlencode($input) . $sign . $per_page . $sign . $page . $i . $sign . $format;       
$result = file_get_contents($url);
$resultObj = unserialize($result);

这基本上是我在返回结果之前所做的。我试图查看$result内是否有任何内容,但结果显示$result处的内容已经为空,这意味着file_get_contents($url);函数未被执行。

1 个答案:

答案 0 :(得分:0)

尝试使用curl。您应该检查远程服务器上是否安装了curl:

$url = $request . $method . $sign . $apiKey . $sign . 'text=' . urlencode($input) . $sign . $per_page . $sign . $page . $i . $sign . $format;       
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$resultObj = unserialize($result);