如何将PHP的PDO dblib更改为更新的FreeTDS?

时间:2015-09-04 22:45:23

标签: php pdo freetds

我们在CentOS盒子上更新了FreeTDS,可以使用tsql cli进行连接。 在更新之前,tsql -C报告为0.91,现在报告为0.95。

新版本使用/ usr / local / etc中的freetds.conf而不是旧的/ etc /目录。

使用PDO的PHP仍然引用旧的freetds和旧的freetds.conf。我知道这一点,因为更改旧的freetds.conf仍然会影响我们的PHP脚本/

我们如何让PHP和PDO使用新的freetds。

1 个答案:

答案 0 :(得分:1)

您有几个选择。

  • 将/ etc中的旧版本复制到新位置0.95正在/ usr / local / etc中查找
  • 从新的<Schema Namespace="ODataConsoleSample" xmlns="http://docs.oasis-open.org/odata/ns/edm"> <EntityType Name="LocationLink"> <Key> <PropertyRef Name="A" /> <PropertyRef Name="B" /> </Key> <Property Name="A" Type="Edm.Int64" Nullable="false" /> <Property Name="B" Type="Edm.Int64" Nullable="false" /> </EntityType> <EntityType Name="Structure"> <Key> <PropertyRef Name="Id" /> </Key> <Property Name="Id" Type="Edm.Int64" Nullable="false" /> <NavigationProperty Name="Locations" Type="Collection(ODataConsoleSample.Location)" /> <NavigationProperty Name="LocationLinks" Type="Collection(ODataConsoleSample.LocationLink)" /> </EntityType> <EntityType Name="Location"> <Key> <PropertyRef Name="Id" /> </Key> <Property Name="Id" Type="Edm.Int64" Nullable="false" /> <Property Name="ParentId" Type="Edm.Int64" Nullable="false" /> </EntityType> <Function Name="StructureLocationLinks" IsBound="true"> <Parameter Name="bindingParameter" Type="Collection(ODataConsoleSample.Structure)" /> <Parameter Name="StructureID" Type="Edm.Int64" Nullable="false" /> <ReturnType Type="ODataConsoleSample.LocationLink" /> </Function> <EntityContainer Name="Container"> <EntitySet Name="LocationLinks" EntityType="ODataConsoleSample.LocationLink" /> <EntitySet Name="Structures" EntityType="ODataConsoleSample.Structure"> <NavigationPropertyBinding Path="Locations" Target="Locations" /> <NavigationPropertyBinding Path="LocationLinks" Target="LocationLinks" /> </EntitySet> <EntitySet Name="Locations" EntityType="ODataConsoleSample.Location" /> </EntityContainer> </Schema>
  • 创建指向旧位置的符号链接
  • FreeTDS还在当前用户的主目录中查找.freetds.conf(注意开头的&#34;。&#34;)。您可以将.freetds.conf放入您的Web服务器运行的用户的目录中。
  • 最后,如果您需要版本0.95,可以从源代码编译,在编译之前将选项ln -S /etc/freetds.conf /usr/local/etc/freetds.conf传递给configure命令。

更多信息:http://www.freetds.org/userguide/freetdsconf.htm

祝你好运!