PHP无法在已挂载的文件系统

时间:2016-07-07 17:21:55

标签: php linux

我有一个新的文件服务器(FilServerB),我已经运行了几个月。我一直在移动我的所有处理服务器,以使用FileServerB作为他们的PHP代码。我最近发现了一个我错过的服务器(服务器名称是susan),它仍然连接到旧文件服务器(FileServerA)。当我在Susan上安装FileServerB时,不再有任何代码在它上面运行。在ssh中,当我进入一个包含PHP代码的目录,并运行" php cleanISL.php"时,它说:

Fatal error: Unknown: Failed opening required 'cleanISL.php' (include_path='.:/local/online/live/common:/local/online/pear') in Unknown on line 0

如果我在本地文件系统上创建一个新的php文件,它运行就好了。如果我为已知文件系统上存在的文件或目录尝试is_fileis_directory,则它总是返回false。但是,我可以glob目录,并在那里显示文件就好了。

我已尝试更改(并完全删除)我的include_path,我已尝试返回旧文件服务器(可以正常工作),然后卸载旧文件服务器并安装新文件服务器完全相同方式(仍然没有工作),以及其他一些事情。我无法判断问题是与PHP有关,还是在某种程度上与服务器的安装方式或其他方面有关。我确保SELINUX被禁用。这个问题似乎只影响PHP,只有当我挂载新的FileServerB时,才会影响这个特定的服务器(susan)。但我对可能导致它或如何解决它的问题感到困惑。

另外,我已经安装到同一台服务器(susan)上的其他服务器(用于数据/媒体),这些工作正常,即PHP也可以查看和读取这些安装上的文件。

更新1,strace info

这是失败的is_dir上的相关行:

stat64("/online/live/tools/test/fixes/", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0

这是同一目录上stat命令的输出:

  File: `/online/live/tools/test/fixes/'
  Size: 4096        Blocks: 8          IO Block: 32768  directory
Device: 18h/24d Inode: 11815229588  Links: 3
Access: (0775/drwxrwxr-x)  Uid: ( 1004/ UNKNOWN)   Gid: ( 1010/ UNKNOWN)
Access: 2016-07-06 07:28:46.606024801 -0600
Modify: 2016-06-24 16:23:42.206547505 -0600
Change: 2016-06-24 16:23:42.206547505 -0600

这是一个名字结果:

 dr-xr-xr-x /
 lrwxrwxrwx online -> /mnt/code/online/
   dr-xr-xr-x /
   drwxr-xr-x mnt
   drwxr-xr-x code
   drwxr-xr-x online
 drwxrwxrwx live
 drwxrwxr-x tools
 drwxrwxr-x test
 drwxrwxr-x fixes

0 个答案:

没有答案
相关问题