在 phpBB 安装期间保存数据库连接设置时出现“‘=’附近语法不正确”错误

在 phpBB 安装期间保存数据库连接设置时出现“‘=’附近语法不正确”错误

我正在尝试安装 phpBB,我需要的是一个可以正常工作的 SQL 数据库,带有登录名等。我尝试使用 mySQL,但它不允许我更改密码(我想这是一个常见问题),所以现在我尝试使用 MS SQL,但它甚至不起作用。这是 phpBB 登录名: 在此处输入图片描述

我的用户名/密码就在下面。当我按“下一步”时,它给出了这个错误。我安装了 Microsoft SQL Server 2005 Express,当我运行 SQL Server 配置管理器时,我将登录设置为:本地系统(因此我将用户名/密码设置为我的服务器登录名。如果不正确,请告诉我)。无论如何,它仍然应该连接,我很好奇为什么它不能连接。我对此有点陌生,但我没有看到安装用于编辑/添加数据库的工具,只有服务本身。有什么帮助吗?

答案1

默认情况下,SQL express 仅接受共享内存连接。(其他 MSFT 产品通常支持该功能,并且仅在本地计算机上工作)phpBB 出于显而易见的原因通过 TCP/IP 进行连接。要将其与 SQL express 一起使用,您需要启用 TCP/IP 连接。不要使用命名管道,因为没有必要。要启用 TCP,请按照以下说明操作:

http://blogs.msdn.com/b/sqlexpress/archive/2005/05/05/415084.aspx

编辑:添加

此外,您还需要创建一个 SQL 帐户供 phBB 使用。请按照以下指南创建帐户:

http://msdn.microsoft.com/en-us/library/aa337562.aspx

然后授予帐户访问权限。最简单的测试方法是授予新用户对相关数据库的 DBO 访问权限。之后根据需要将其降低。(如果您在意的话)

请注意,您可能需要按照此处第一篇文章中概述的那样启用 SQL 身份验证:

http://social.msdn.microsoft.com/Forums/eu/Vsexpressinstall/thread/aaf2f68c-4a40-44c8-b7ee-b2f5d94e23c3

答案2

尝试使用不带空格的数据库名称。这并不是询问您拥有哪种数据库。每个 SQL Server 实例都可以托管多个数据库,因此它需要知道它应该使用的 SQL Server 安装中的特定数据库的名称。我也不清楚它是想创建这个数据库还是希望它已经存在。如果它正在寻找一个现有的数据库,您可能需要使用 Sql Server Management Studio(或类似工具)来创建它。

尝试使用 localhost\SQLEXPRESS 或 \SQLEXPRESS 作为服务器主机名或 DSN。Sql Server 可以在同一台计算机上安装多个实例,并使用此约定来区分您需要哪个实例。Express Edition 通常默认使用 \SQLEXPRESS 命名实例进行安装。

答案3

你可能会有运气手动填充 config.php 文件

该错误看起来像是 SQL 注入漏洞。您的用户名和/或密码是否包含引号、空格、特殊字符 - 基本上是任何非字母数字的内容?

您可能还会发现这些表单线程很有用(或至少很有趣):

相关内容