通过 UNC 路径在 PHP 中建立 Foxpro 数据库连接


Foxpro Database Connection in PHP via UNC Path

美好的一天。我真的需要帮助。

我需要在 PHP 中访问 foxpro 表。

当我使用本地路径作为数据源访问它时,它运行顺利。但是,当我尝试访问另一台计算机上的数据库文件时,它总是提示为无效路径,前提是我在计算机上具有访问权限并且文件是公开共享的。这是我的代码:

$conn = new COM("ADODB.Connection");
$server='172.0.0.8'server';
$conn->Open_basedir('Provider=VFPOLEDB.1;Data Source=//172.0.0.8/server/sysprog/system/tempstk.dbf;Collating Sequence=MACHINE');  
// SQL statement to build recordset.
$rs = $conn->Execute("SELECT * FROM tempstk");
echo "<p>List of couriers:</p><hr>";
// Display all the values in the records set
while (!$rs->EOF) { 
    $fv = $rs->Fields("Prodcode");
    echo $fv->value."<br>'n";
    $rs->MoveNext();
} 
$rs->Close(); 

谢谢!

我假设网络服务器和文件服务器是窗口?如果在 Internet 信息服务器中使用匿名授权,则请求将模拟为 Windows 用户。在标准配置中,这将是 IUSR。此用户需要能够访问共享并对文件具有读/写权限。

IUSR 是本地用户。它不包含在域中。因此,请检查共享的安全设置,并查看是否包含 IUSR。

连接字符串中似乎有错误。

  1. 尝试将 IP 地址更改为服务器的名称。
  2. 将斜杠
  3. 替换为反斜杠。
  4. 删除 DBF 文件名。

这是我刚刚测试过的一个例子,它对我来说工作正常:

Provider=VFPOLEDB.1;Data Source=''hostname'Shared Folders'somefolder';Password="";Collating Sequence=MACHINE