服务器500总是发生错误
问题描述:
<?php
$dbhost = 'xx';
$dbuser = 'xx';
$dbpass = 'xxxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('url') or trigger_error("Unable to switch to the database: " . mysql_error());
function arr($num){
$ch = curl_init();
$r= rand (1,90);
$url="https://www.googleapis.com/customsearch/v1?q=Gravity%20Falls%20Latest%20images&num=10&start=".$r."&safe=off&cx=x:2hdsc4__avm&filter=0&c2coff=disable&alt=json&key=x";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
$a=intval($num);
$data = json_decode($output, true);
$se= $data['items'][$a]['pagemap']['cse_image'][0]['src'];
$query = mysql_query("SELECT `url` FROM `url` WHERE `url`='".$se."'");
if (mysql_num_rows($query) != 0)
{
$rr= rand (1,10);
arr($rr);
}else{
mysql_query("INSERT INTO `url`(`url`) VALUES ('".$se."')");
return $se;
}
}
$rr= rand (1,10);
echo arr($rr);
require_once("src/facebook.php");
$config = array();
$config['appId'] = 'x';
$config['secret'] = 'x';
$config['fileUpload'] = true;
$fb = new Facebook($config);
$params = array(
"access_token" => "xxx",
"message" => "",
"url" => "".arr($rr)."",
);
try {
$ret=$fb->api('/1111/photos', 'POST', $params);
echo 'Photo successfully uploaded to Facebook Album';
}
catch(Exception $e) {
echo $e->getMessage();
}
mysql_close($conn);
?>
我已经尝试过5到6个服务器,所有给我500 error
,但是当我删除sql连接它的工作原理!我提供了所有正确的mysql信息。服务器500总是发生错误
那为什么要显示500?
编辑:
-
如果我注释掉
$query = mysql_query("SELECT `url` FROM `url` WHERE `url`='".$se."'"); if (mysql_num_rows($query) != 0) { $rr= rand (1,10); arr($rr); }else{ mysql_query("INSERT INTO `url`(`url`) VALUES ('".$se."')"); return $se; }
它的工作原理!
答
查看您的url
表格。如果您只获取已存储在该表中的$se
url值,则递归调用arr
函数的方式有无限递归的机会。 (同样如果你得到的值会被转换为空字符串)
+0
谢谢!我解决了这个问题 – testrtq 2014-10-29 10:18:11
你在第3行缺少一个'''。'$ dbhost ='x;'应该是'$ dbhost ='x';' – chriz 2014-10-28 16:37:42
。 ..这可能只是一个错字。 ^^^ - 但现在,人们永远不知道。 – 2014-10-28 16:38:12
500错误=东西爆炸了。查看服务器的错误日志,了解关于500的详细信息,就像chriz说的那样,你有一个缺少'''的错字,这可能会导致一个致命的分析错误,彻底破坏你的脚本。 – 2014-10-28 16:39:03