在服务器中安装SQL Anywhere PHP扩展

2020-09-04 01:42发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一个基于PHP 7.1的网站。 以后可以将其升级到PHP 7.3或更高版本。 我们的网站将托管在使用cPanel的服务器上。

我们需要从我们的网站连接一个第三方系统中的远程数据库。 我们对该系统没有控制权,只有我们需要通过一些API调用与该远程数据库进行通信。 该系统使用Sybase Adaptive Server Anywhere 10版本而不是MSSQL。

我认为,我们需要在服务器上安装" SQL Anywhere PHP扩展"(服务器软件),该服务器将用作我们的网站与该远程数据库之间的接口。

请您提出建议 以下内容:
1)如果在服务器中安装了" SQL Anywhere PHP扩展",它将在PHP 7.1和更高版本的PHP上运行?
2)如果在服务器中安装了" SQL Anywhere PHP扩展",它将 对服务器上运行的现有服务有任何影响(基本上是负面影响)?

可以帮忙吗? 我是SQL Anywhere的开发人员和新手。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们有一个基于PHP 7.1的网站。 以后可以将其升级到PHP 7.3或更高版本。 我们的网站将托管在使用cPanel的服务器上。

我们需要从我们的网站连接一个第三方系统中的远程数据库。 我们对该系统没有控制权,只有我们需要通过一些API调用与该远程数据库进行通信。 该系统使用Sybase Adaptive Server Anywhere 10版本而不是MSSQL。

我认为,我们需要在服务器上安装" SQL Anywhere PHP扩展"(服务器软件),该服务器将用作我们的网站与该远程数据库之间的接口。

请您提出建议 以下内容:
1)如果在服务器中安装了" SQL Anywhere PHP扩展",它将在PHP 7.1和更高版本的PHP上运行?
2)如果在服务器中安装了" SQL Anywhere PHP扩展",它将 对服务器上运行的现有服务有任何影响(基本上是负面影响)?

可以帮忙吗? 我是SQL Anywhere的开发人员和新手。

付费偷看设置
发送
11条回答
木偶小白
1楼-- · 2020-09-04 01:50

是否已安装SQL Anywhere? 如果不是,则需要安装它。 如果是这样,则将PHP复制到sa_config.sh所在位置的适当目录中,并且您已找到sa_config.sh的源,以便可以找到PHP库和SQL Anywhere客户端文件。

compass1988
2楼-- · 2020-09-04 01:53

克里斯,您好,
非常感谢您到目前为止的指导。
经过长时间的尝试,我已经能够使PHP在任何库中加载sql。 现在,无论是从CLI还是从浏览器,SQL Anywhere客户端版本都显示为 17.0.0.1062。

但不幸的是,我仍然无法连接演示数据库。 在控制台中,我收到一个错误" PHP警告:mysql_connect():SQL Anywhere:[-100]在...中找不到数据库服务器"

我检查了连接脚本中没有问题,并且 完全相同的脚本可以从本地Windows计算机连接ok。

我无法弄清楚服务器配置出了什么问题。 您能否提出一个可能的原因,即无论是从CLI还是从浏览器SQL都在寻找正确配置PHP扩展的地方都找不到数据库服务器?

致谢
Nilanjan Mahapatra

小熊yu生菜
3楼-- · 2020-09-04 02:12

嗨,
我仅按照

中的说明安装了PHP扩展

https://help.sap.com/viewer/ 98ad9ec940e2465695685d98e308dff5/17.0/zh-CN/816541246ce210148a63d9bbd90cccfa.html

能否请您提供具体的指南,以便在CentOS服务器中安装SQL Anywhere for PHP 7.1(服务器中有多个版本)并执行下载链接?

关于
Nilanjan Mahapatra

您好,

非常感谢您提供的信息。
我现在已经下载了开发人员的版本并安装在服务器中。 安装过程似乎成功。 它显示消息

将文件安装到/opt/sasql中...
已完成。

然后我运行了
source"/opt/sasql/bin64/sa_config.sh"
,然后重新启动了Apache 。

但是当我从phpinfo.php文件中检查sqlanywhere客户端时,它仍然显示
""无法加载SQLAnywhere客户端库。请确保 libdbcapi_r.so 可以在您的LD_LIBRARY_PATH环境变量中找到。

但是当我从shell运行php -i时,它显示
SQLAnywhere客户端版本=> 17.0.0.1062

我无法弄清楚如何解决该问题。 您能帮我解决可能出现的问题以及如何解决吗?


致谢
Nilanjan Mahapatra

樱桃小丸子0093
5楼-- · 2020-09-04 02:14

""我已经检查了连接脚本中是否存在问题,并且完全相同的脚本可以从本地Windows计算机连接ok 。" 该声明具体意味着什么?

您是否在与客户端应用程序不同的计算机上运行数据库。 如果是这样,则需要使用网络服务器(dbsrvX.exe)来承载数据库。 假设您以以下方式在该计算机上启动数据库:

 dbsrv17 -n DBSvrName demo.db -n DemoDB 

第一个-n将是数据库服务器名称。 这是提供给ServerName(或Server)连接参数的值。 数据库文件后的第一个-n是数据库名称,是提供给DatabaseName(或DBN)的值。 这将使连接字符串

 $ conn = sasql_connect(" server = DBSvrName; dbn = DemoDB; uid = dba; pwd = sql")

如果找不到数据库服务器 通过此连接,您可能需要使用主机或CommLinks(或链接)来提供数据库服务器的特定主机详细信息。 例如,Host = {hostname | ip-address} [:端口号] [,...]或CommLinks = TCPIP(主机= {主机名| ip-地址},{端口号})。 例如:

 $ conn =
    sasql_connect(" server = DBSvrName; dbn = DemoDB; uid = dba; pwd = sql; host = DbHost:2638")

一周热门 更多>