【发布时间】:2018-04-19 04:55:05
【问题描述】:
将我们的物理服务器迁移到虚拟机,并遇到使用 OpenEdge ODBC 抓取数据的页面问题。本地机器正在返回正确的数据和数组格式。 VM 将值作为字段名称返回,并且还缺少一些字段。
本地机器结果:
[billoflading] => 36003
[Codcliente] => 785
[Confirmado] => 0
[Enviara] =>
[Exportado] => 0
[Fembarcado] => 2017-11-02
[Hembarcado] => 52856
[Linea] =>
[pull_num] => 105461
[Salesorder] => 1151086
[Tipo] =>
[Trailer] => 7327
[transmitido] => 1
虚拟机结果:
[36003] => 36003
[785] => 785
[0] => 0
[] =>
[2017-11-02] => 2017-11-02
[52856] => 52856
[105461] => 105461
[1151086] => 1151086
[7327] => 7327
[1] => 1
测试机器和虚拟机使用相同版本的代码和 OpenEdge 驱动程序。 PHP 版本不同,但物理服务器(仍然有效)在旧版本上。检查了 php.ini,它们的配置完全相同。我们使用的是 Laravel,但所有 3 个版本(本地、VM 和物理)都是相同的。
代码sn-p:
$conn_id = odbc_connect("****","****","****", SQL_CUR_USE_ODBC);
$sql = "Select * FROM PUB.Shipper where billoflading ='36003'";
$result = odbc_do($conn_id, $sql);
echo "<pre>";
while($row = odbc_fetch_array($result)){
print_r($row);
}
echo "</pre>";
感谢任何帮助!
【问题讨论】: