PHP无法在一台服务器上访问网络上的文件,但可以在另一台服

时间:2014-09-23 02:29:20

标签: php python windows networking

我用php / html和javascript编写了一个程序。其中一部分读取网络上的简单文本文件并解析数据。该程序在我的测试机器上运行(apache 2.2 windows 7)。但是,当我将程序转移到生产服务器(Windows Server 2008)时,它只是不起作用。我知道人们会说得好,你是否正确地逃脱了斜线?你有没有映射驱动器? etce \ etc.是的,是的,我做到了。有趣的是,这个问题是php独有的。我写了一个python脚本,它在同一个确切位置读取相同的文件,并且在任何一台机器上都没有问题。然后我写了另一个测试脚本,它在php中运行大部分程序但是,在python中留下了网络上的文件读取。这也不起作用。如果我通过命令提示符运行相同的python脚本,它可以访问该文件没有问题但是,如果php通过shell_exec()命令调用相同的脚本,那么它不能在Windows Server 2008机器上工作。是的,我映射了地址,是的,我可以通过其他系统使用相同的代码访问该文件没问题。 Soooo,怀疑这里必须有一些PHP设置或者服务器设置不允许php访问这台计算机上的网络驱动器或网络文件。那么问题是它可以是什么?这些系统没有由我设置,我不知道什么可以控制这种类型的东西。我的网络管理员也没有任何线索,因为一切都表明它应该正常工作。值得一提的是,win server 2008作为虚拟机运行,或者我被告知。非常感谢任何帮助。

<?php 
$theFile="\\\\192.168.0.16\\geo\\junk.txt"; #network file does not works
#$theFile="junk.txt"; #local file works fine
$handle = fopen($theFile, "r");
if($handle){
    while (!feof($handle)){
        $buffer = fgets($handle);
        echo $buffer."<br />";
    }
}
?>

0 个答案:

没有答案