1

我一直在尝试遵循http://coenraets.org/directory/上的指南

我将“Web”文件夹的内容复制到我网站的根目录,页面看起来很好,我还将他的 sql 脚本安装到我的数据库中。搜索栏不起作用(可能是因为我的 SQL 数据库需要用户名和密码?)。我该如何解决?

4

2 回答 2

3

我假设您已经设置了 slim 来运行从主干.js 接收 javascript 调用的 php 应用程序?

参考 - https://github.com/ccoenraets/backbone-directory/blob/master/api/index.php

API 目录包含一个名为index.php. 对于这个应用程序中的 php slim 框架(http://www.slimframework.com/),它应该包含您的数据库 IP、用户名和密码。

文件中从第 148 行开始index.php

function getConnection() {
    $dbhost="127.0.0.1";
    $dbuser="root";
    $dbpass="";
    $dbname="directory";
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);  
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $dbh;
}

您的服务器位置 - 98.214.131.200 - 如果您在该服务器本身上设置了此 php 应用程序,则无关紧要。 127.0.0.1指服务器 localhost 本身。

您需要配置的是$dbuser$dbpass(您$dbname显然是正确的,因为您提到这是您通过运行提供的 sql 脚本创建的 MySQL 数据库),它对应于您为此演示应用程序设置的 MySQL 数据库。

如果您使用apache的是运行 slim,请确保mod_rewrite已启用并将您的 apache 虚拟主机配置为:-

<Directory "C:\Path\To\Your\slimphp">
    Allow From All
    AllowOverride All
</Directory>
<VirtualHost *:80>
    ServerName "slim.php"
    DocumentRoot "C:\Path\To\Your\slimphp"
</VirtualHost>

啊,如果@vicvicvic 指出使用 IIS,请使用 ModRewrite - http://www.micronovae.com/ModRewrite/ModRewrite.html

于 2012-11-04T13:54:28.557 回答
1

您需要在api文件夹中配置后端,以便它实际与您的 SQL 数据库通信。在getConnection函数中执行此操作api/index.php

function getConnection() {
    $dbhost="127.0.0.1";
    $dbuser="root";
    $dbpass="";
    $dbname="directory";
    $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);  
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    return $dbh;
}
于 2012-11-04T13:53:20.183 回答