Linux 上的 PHP 5.4:如何连接 MS SQL Server 2008?

2023-11-25

我有一台 Linux 服务器 Debian 6,安装了 Apache 2.2 和 PHP 5.4。 我需要将我的应用程序与 MS SQL Server 2008 连接。

我的应用程序使用 Zend Framework 1.11 和字符集 UTF-8(我将拥有来自世界各地的用户,他们将用自己的语言输入数据)。

首先,我尝试使用适用于 Linux 的 Microsoft SQL Server ODBC 驱动程序。 它说仅适用于 Red Hat,但我按照以下说明进行安装:

http://www.codesynthesis.com/~boris/blog/2011/12/02/microsoft-sql-server-odbc-driver-linux/

我可以连接并对其进行一些选择,但无法在其上插入数据。我在 pdo 语句上绑定参数时遇到问题。

像下面这样插入数据不起作用:

$stmt = $conn->prepare("insert into mar_regions (name) values (:name)");
$resp = $stmt->execute(array(':name' => $param));

但如果我像这样使用,它会起作用:

$stmt = $conn->prepare("insert into mar_regions (name) values ('".$param."')");
$resp = $stmt->execute();

所以我放弃了这个驱动程序,因为如果这样的话,我的应用程序没有 ZF 1.11 将无法工作。

其次,我尝试使用 FreeTDS 的 PDO 驱动程序。这个工作正常,我可以在我的 ZF 1.11 应用程序上使用。

但随后,我又遇到了一个问题:字符集。 我将 freeTDS.conf 配置为使用 UTF-8,将表更改为使用 NVARCHAR(而不是 VARCHAR),并且可以像这样插入 utf-8 数据:

$stmt = $dbh->prepare("insert into mar_teste (name) values (N'ンから初・配信 € зеленый банан ÀÀÀÀáááááá')");
$resp = $stmt->execute();

但是,在我的 ZF 1.11 上,我无法在查询中传递这个“N”属性!所以我的申请还是没有成功。

正如你所看到的,我尝试了一切。

所以我的问题是:如何在 MS SQL Server 2008 上使用 ZF 1.11 字符集 UTF-8 从 Linux 进行连接?


我的问题的答案是:使用 freeTDS! 上面有一个字符集参数:

[MyDSN]
    host = <<ip>>
    port = <<port>>
    # use 8.0 for newer versions of SQLSERVER
        tds version = 8.0
        # text size don't need to be such a high value, its just an example
        text size = 4294967295
        client charset = UTF-8

在 Zend Framework 上,像这样配置您的连接:

;; BANCO DE DADOS LINUX
database.adapter                = PDO_MSSQL
database.params.pdoType         = dblib

database.params.host            = MyDSN
database.params.dbname          = <<dbname>>
database.params.username        = <<username>>
database.params.password        = <<passwd>>
database.params.driver_options.charset = UTF-8

database.isDefaultTableAdapter  = true

它解决了问题! ;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 上的 PHP 5.4:如何连接 MS SQL Server 2008? 的相关文章

  • 使用 google 检查 url,安全 = 活动

    如何检查 url 是否被 google 显示 Example https www google com search q redtubex xxx safe active Code input http www example com in
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架
  • 根据产品类别自定义购物车总计和结帐总计文本

    我想根据产品类别 或其他一些逻辑 自定义购物车和结帐订单汇总表中的文本 例如 对于 总计 文本 参见图片 如果购物车包含名为 杂货 的类别中的产品 那么我希望订单摘要中的文本显示为 总计估计 文本 参见图片以下 如果购物车不包含任何杂货 那
  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • 如何使用 PHP 在邮件正文中发送 Base64 图像?

    我正在尝试使用下面的代码使用 PHP 发送一封正文上包含 base64 图像的电子邮件 但该图像永远不会出现 如果我更改为 URL 它可以工作 但它不能与 base64 一起使用 我只在新页面上测试了base64 img src base6
  • 如何在 WordPress 中添加 PHP 页面链接到我的页脚

    我创建了一个自定义 PHP 页面名称 privacy policy 名称为privacy php 我如何链接页脚中的页面 以便当有人点击隐私链接时页面打开 我已在此页面中调用页眉和页脚 这个怎么做 谢谢 In the wp content
  • 在 Twig 中使用 PHP 函数

    我有一个 PHP 代码 用于在我的通用控制器中为我的 Twig 模板添加一个新类 opencart htdocs catalog controller common cart php 该代码应检查设备是否是移动设备 function onS
  • .htaccess 重写规则冲突

    我正在编写代码并构建一个 htaccess 文件 其中包含以下内容 RewriteEngine on RewriteRule A Za z0 9 A Za z0 9 index php id 1 NC L Handle page reque
  • 使用返回哈希数组的外部 PHP SOAP Web 服务的 C# .NET 客户端存在问题

    我正在编写一个需要调用外部 Web 服务的 NET Web 应用程序 我提供的文档包括 PHP 代码示例 我可以使用提供给我的 WSDL 地址在 VS2010 中成功创建 Web 引用 并且使用 fiddler 我可以看到正在发送和接收预期
  • 在 .NET C# 项目中使用 PHP

    有谁知道是否可以 以及是否有任何复杂性 在 NET C 项目中使用 PHP 语言 我知道 VB 和 C 现在可以混合在解决方案中 所以我想知道 由于 IIS 现在能够运行 PHP 您是否可以将它们组合成一个单一的运行时 显然 提出这个问题的
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • SQL Server:删除具有外键约束的行:事务可以覆盖约束吗?

    我有一些添加了外键约束的表 它们与代码生成一起使用 以在生成的存储过程中设置特定的联接 是否可以通过在事务中调用多个删除来覆盖这些约束 特别是 C 中的 TransactionScope 或者绝对需要级联删除吗 不要使用级联删除 这样可能会
  • 我需要编写什么代码才能使用 HTTPS?

    在标准的 小册子 站点中 我有一个子系统 其中私人数据在一系列页面中来回传递 该网站已完成 现在可以在没有 HTTPS 的情况下运行 有人可以向我指出在网站的安全部分实施 HTTPS 所需执行的步骤列表吗 作为程序员 您唯一需要做的就是检查
  • 如何从 php 中的字符串中删除 unicode 字符 (LEFT_TO_RIGHT_MARK)

    我试图在将字符串编码为 JSON 之前从字符串中删除从左到右标记 u200e 和从右到左标记 u200f 以下两者似乎都不起作用 s mb ereg replace u200e s s preg replace u200e u s s pr
  • 如何在 Centos 7 上手动安装 PHP-Zts

    我想安装 pthreads 当我尝试安装时 我会收到此错误 checking for ZTS no configure error pthreads requires ZTS please re compile PHP with ZTS e
  • 获取本周星期一和星期五的日期 (PHP)

    如何获取本周周一和周五的日期 我有以下代码 但如果当天是星期日或星期六 则会失败 current day date N days to friday 5 current day days from monday current day 1
  • PHP 读取 XML 播客 RSS 源

    好的 我正在为朋友的播客网站创建一个页面 列出他的播客的所有剧集 本质上 我所寻找的只是如何阅读 RSS 提要 解析出节点 并将信息显示在屏幕上 最终 我将创建一个可以播放剧集的播放器 但那是很久以后的事了 这就是我阅读 RSS 源的方式
  • PHP:switch 与 if [重复]

    这个问题在这里已经有答案了 哪种形式更有效率 这个 switch var case 1 break case 2 break 或者这个 if var 1 elseif var 2 在性能方面 性能方面完全无关 As PHPBench htt
  • System.IndexOutOfRangeException:索引超出了数组的范围[重复]

    这个问题在这里已经有答案了 我正在开发一个 ATM 软件作为家庭作业 我想知道今天处理的交易总量 为此我编写了以下代码 public decimal getDayTransaction int accountid string date s
  • 无法使用 javascript 建立与安全 Websocket 服务器的连接

    我的开发环境是这样的 操作系统 微软Windows 10 PHP 框架 Laravel 8 0 PHP 版本 7 4 Websocket 服务器 cboden ratchet 0 4 3 WAMP 服务器 3 2 0 Apache 2 4

随机推荐

  • Crystal Report(或 SSRS)在图像周围流动文本

    我想在水晶报表中有这样的布局 我怎样才能做到这一点 如果无法在 CR 或 SSRS 中完成 是否还有其他替代方案 我不相信水晶报表可以做到这一点 我对 SSRS 不太熟悉 但在查看了现场选项后 我也不相信它可以用它来完成 通常 现场位置在报
  • 实体框架批量插入抛出 KeyNotFoundException 错误

    我在用EF6并且由于速度低AddRange 我需要使用的方法BulkInsert 所以我通过以下方式添加了 BulkInsert for EF6 的 NuGet 包here 添加后我收到的第一件事dll是这个警告 发现同一依赖的不同版本之间
  • Apache POI 公式未计算

    因此 我在让 Apache POI 评估公式时遇到一些问题 这是我在编写之前调用的用于评估公式的代码 complete getCreationHelper createFormulaEvaluator evaluateAll complet
  • Woocommerce - 产品价格取决于国家/地区

    我有 2 个关于 Woocommerce for Wordpress 的问题 我正在开发一个向丹麦市场销售扬声器的网站 问题一 我可以检测访客的IP并检测该人来自哪个国家吗 我想这可以通过一些 ClientLocation api 来完成
  • 使用 Javascript 从输入中删除 :valid 伪类

    我有一个包含多个部分的表格 每个部分均使用 Bootstrap 4 验证手动验证 无需实际提交表单 这与下面的代码配合得很好 let eventCreationForm event creation form if eventCreatio
  • Azure AD B2C - 角色管理[重复]

    这个问题在这里已经有答案了 我有一个与 Azure AD B2C 连接的 Asp NET MVC 应用程序 在管理员设置中 我创建了一个管理员组 在我的代码中我想使用 Authorize Roles Administrator 使用常规 A
  • 图问题:在 SQL Server 中通过 NOCYCLE 先前替换进行连接?

    问题 I have the following directed graph 还有这张表 CREATE TABLE dbo T Hops UID uniqueidentifier NULL From nvarchar 1000 NULL T
  • javascript regexp 用于 00-59(秒)之间的数字

    我想检查某个字段是否是有效的时间值 仅秒 所以我想接受从 0 到 59 的数字 我得出了这个 0 5 0 9 这几乎可以完成工作 但排除数字 7 8 9 如果用户数字 07 它就可以工作 但我不想强迫用户数字第一个 0 所以我尝试了这样的操
  • Google Maps API v3:如何将缩放级别和地图中心设置为用户提交的位置?

    我已经使用 Google 的本教程构建了一个网络应用程序 该应用程序可以从用户输入的位置找到最近的商店 http code google com apis maps articles phpsqlsearch v3 html 我的应用程序几
  • 使用 Beautiful Soup 抓取多个 URL

    我正在尝试从多个 URL 中提取特定的类 标签和类保持不变 但我需要我的 python 程序在我输入链接时抓取所有内容 这是我的工作示例 from bs4 import BeautifulSoup import requests impor
  • Doctrine2 ORM 不会刷新在脚本之外更改的对象

    我真的不知道如何给这个标题或搜索一个已经发布的问题 所以如果以前在这里见过这个问题 我深表歉意 我使用以下代码得到了一些不需要的结果 get object managers fooManager this gt getContainer g
  • Uint8Array JavaScript 用例

    我刚刚发现 Javascript 通过以下方式输入了数组this关联 我立刻很好奇这些对象对语言有什么好处 我注意到 UInt8Arrays 丢失了 map 类型函数 我将拥有普通数组对象 所以如果你想循环它们 你将需要一个for loop
  • 如何使用环境路径查找可能不完全限定的文件?

    我有一个可执行文件名称 例如cmd exe并需要解决其完全限定路径 我知道该 exe 出现在列出的目录之一中PATH环境变量 有没有一种方法可以解析完整路径 而无需解析和测试中的每个目录PATH多变的 基本上我不想这样做 foreach s
  • 如何在PHP中限制文件上传类型的文件大小?

    我有一个上传表单 正在检查文件大小和文件类型 以将上传的文件限制为 2 MB 文件类型为 pdf jpg gif 或 png 我的目标是 如果用户违反这些规则之一 则向他们显示一条警报消息 有四种情况 正确尺寸 正确类型 工作 正确尺寸 错
  • 带硬件加速的画布抗锯齿(Android API 11 及更高版本)

    我有一个简单的位图 我在画布中绘制并使用矩阵旋转 我遇到的问题是 使用硬件加速时 边缘在旋转时不会消除锯齿 这在关闭硬件加速的情况下完美运行 当然 像 setDrawFilter 这样的东西是没有用的 因为当硬件加速打开时它们会被忽略 ca
  • javascript中如何在不同html页面之间传递变量值

    我想传递选择的值项目清单到另一个页面 意味着如果我从列表中选择 abc 那么这个 abc 值会传递到下一个 html 表单 它应该只打开该配置文件页面 有什么方法可以在不同的 html 页面之间使用此变量 ui li icon li cli
  • 为什么 C# 中不调用所有静态构造函数(即父类的静态构造函数)?

    我有三节课 Base Derived and Final Derived源自于Base and Final源自于Derived 所有三个类都有一个静态构造函数 班级Derived作为一个名为的公共静态方法Setup 当我打电话时Final
  • Jenkins Groovy 构建后脚本用函数评估文件

    我正在使用以下代码构建后我的詹金斯工作步骤 evaluate new File Set BuildBadge groovy 因此 如果确实如此 它就会成功运行脚本not包含函数 如果在脚本中我定义了一个function例如 def addS
  • 带有整数的 if 语句[重复]

    这个问题在这里已经有答案了 我是 Java 新手 我正在寻找家庭作业方面的帮助 我不会发布我最初这样做的完整代码 但我认为这不会帮助我学习它 我有一个与类一起使用的程序 我有一个将验证选择的类 一个包含我的 setter 和 getter
  • Linux 上的 PHP 5.4:如何连接 MS SQL Server 2008?

    我有一台 Linux 服务器 Debian 6 安装了 Apache 2 2 和 PHP 5 4 我需要将我的应用程序与 MS SQL Server 2008 连接 我的应用程序使用 Zend Framework 1 11 和字符集 UTF