【问题标题】:Some PHP functions do not properly work on mapped network drive某些 PHP 函数在映射的网络驱动器上无法正常工作
【发布时间】:2012-05-13 12:45:00
【问题描述】:

我通过添加命令在 Ubuntu 上安装了网络驱动器(运行 Windows Server 2008)

//10.10.101.54/docflow /opt/lampp/htdocs/mount cifs user=administrator,password=wbaZaja43ik,rwx,user,auto,file_mode=6777,dir_mode=6777,uid=1000,gid=1000

/etc/fstab 中,但在该映射驱动器上的文件和目录上使用 PHP 函数 is_file()is_dir() 时遇到问题。这些函数在现有文件或目录上调用时都返回 FALSE - 由file_exists() 函数检查的正确路径可以正常工作。 PHP 在“管理员”用户下运行,并拥有操作所需的所有权限。

知道如何解决这个问题吗?

谢谢!

【问题讨论】:

    标签: php ubuntu file-permissions network-drive


    【解决方案1】:

    引用php手册中gmail dot com的comments的digitalaudiorock:

    对于在 CIFS 上遇到 is_dir() 返回 false 的任何人来说,请注意 2.6.31 和这些挂载点内的挂载点或目录 较新的内核:显然在新内核中他们已经开始使用 CIFS serverino 默认选项。与 Windows 共享这会导致 巨大的 inode 数量,显然会导致 is_dir() 返回 错误的。将 noserverino 选项添加到 CIFS 挂载将阻止 这。这可能只发生在 32 个系统上,但我没有 64 位 安装以进行测试。

    【讨论】:

    • 马克,感激不尽!现在就像一个魅力。谢谢!
    • 谢谢!我们在使用 PHP/Laravel/Composer 在 CentOS 上运行 composer install 时遇到了这个问题(错误是“Composer 无法在 ... 中找到 composer.json 文件”)。 noserverino 选项成功了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-12
    相关资源
    最近更新 更多