我正在尝试配置ArrestDB为我的网站创建一个api https://github.com/alixaxel/ArrestDB
正如在安装中所说,我需要将$ dsn更改为: MySQL的:
$dsn = 'mysql://[user[:pass]@]host[:port]/db/;
目前我有
$dsn = 'mysql://user:password@localhost/database/';
我尝试使用上面的括号,但这会导致503服务不可用错误。当我删除括号时,会导致此错误:
{
"error": {
"code": 400,
"status": "Bad Request"
}
}
你知道我做错了什么吗?一切看起来都对我不错
编辑:
尝试了下面的建议并且api返回了:
array(28) {
["REDIRECT_STATUS"]=> string(3) "200"
["HTTP_HOST"]=> string(16) "api.shopsavr.com"
["HTTP_CONNECTION"]=> string(10) "keep-alive"
["HTTP_ACCEPT"]=> string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
["HTTP_USER_AGENT"]=> string(109) "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36"
["HTTP_ACCEPT_ENCODING"]=> string(17) "gzip,deflate,sdch"
["HTTP_ACCEPT_LANGUAGE"]=> string(14) "en-US,en;q=0.8"
["PATH"]=> string(209) "/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin"
["SERVER_SIGNATURE"]=> string(0) ""
["SERVER_SOFTWARE"]=> string(136) "Apache/2.2.25 (Unix) mod_ssl/2.2.25 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.4.20"
["SERVER_NAME"]=> string(16) "api.shopsavr.com"
["SERVER_ADDR"]=> string(11) "50.28.7.250"
["SERVER_PORT"]=> string(2) "80"
["REMOTE_ADDR"]=> string(12) "67.247.5.220"
["DOCUMENT_ROOT"]=> string(30) "/home/shopsavr/public_html/api"
["SERVER_ADMIN"]=> string(26) "webmaster@api.shopsavr.com"
["SCRIPT_FILENAME"]=> string(40) "/home/shopsavr/public_html/api/index.php"
["REMOTE_PORT"]=> string(5) "58487"
["REDIRECT_URL"]=> string(8) "/PRODUCT"
["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1"
["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1"
["REQUEST_METHOD"]=> string(3) "GET"
["QUERY_STRING"]=> string(0) ""
["REQUEST_URI"]=> string(8) "/PRODUCT"
["SCRIPT_NAME"]=> string(10) "/index.php"
["PHP_SELF"]=> string(10) "/index.php"
["REQUEST_TIME_FLOAT"]=> float(1383666718.92)
["REQUEST_TIME"]=> int(1383666718)
}
答案 0 :(得分:1)
var arr = [];
for (var tot = 0; tot < 4; tot++) {
if (!arr.length) arr.push([tot, tot + 1, tot + 2])
else arr.push(arr[0])
}
console.log(JSON.stringify(arr));
对我来说很完美
不要把支架放在dns上 ...还在努力发布....答案 1 :(得分:0)
根据您的代码和转储信息,ArrestDB未收到您的完整请求。您$_SERVER['REQUEST_URI']
的内容为"/"
,这意味着您的.htaccess
文件可能会捕获任何地址并将其指向ArrestDB PHP文件。
通常4XX
范围内的HTTP响应代码表示错误请求。
通常,5XX
范围内的HTTP响应代码表示错误。
如果发生其他错误(错误的SQL参数,服务器超时等),ArrestDB将使用4XX
错误代码(精确地不是400而另一个4XX错误)进行响应。
如果数据库连接以任何方式“坏”,ArrestDB将以5XX
错误代码(特别是503)进行响应。
由于它以精确的400作为错误代码进行响应,这意味着它不能提供“特定”错误代码(400意味着“未知类型的错误连接”)。
首先确认我的理论我建议你删除var_dump + exit
我要求你输入并代替$_SERVER['REQUEST_URI'] = "/products";
。这应该强制ArrestDB认为它需要列出products
表。在我们使用此hack确认一切正常后,我们将尝试解决您的.htaccess
问题。
答案 2 :(得分:0)
如果您没有.htaccess文件,则需要输入完整的网址,如下所示:http://localhost/ArrestDB/index.php/[table]