Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SEGFULT和/或;致命错误:未知:无法打开所需的文件…”;运行位于CIFS装载中的脚本时_Php_Segmentation Fault - Fatal编程技术网

Php SEGFULT和/或;致命错误:未知:无法打开所需的文件…”;运行位于CIFS装载中的脚本时

Php SEGFULT和/或;致命错误:未知:无法打开所需的文件…”;运行位于CIFS装载中的脚本时,php,segmentation-fault,Php,Segmentation Fault,我编译了PHP5.4.22和5.5.6。在这两个版本中,我都无法运行位于CIFS(SMB/Samba)装载中的任何脚本 如果我尝试按常规方式运行,会收到一条奇怪的错误消息: user@machine:/mnt/windows# /opt/php/bin/php test.php Fatal error: Unknown: Failed opening required 'test.php' (include_path='.:/opt/php/lib/php') in Unknown on lin

我编译了PHP5.4.22和5.5.6。在这两个版本中,我都无法运行位于CIFS(SMB/Samba)装载中的任何脚本

如果我尝试按常规方式运行,会收到一条奇怪的错误消息:

user@machine:/mnt/windows# /opt/php/bin/php test.php
Fatal error: Unknown: Failed opening required 'test.php' (include_path='.:/opt/php/lib/php') in Unknown on line 0
如果我尝试使用内置服务器,我只会遇到一个分段错误:

user@machine:/mnt/windows# /opt/php/bin/php -S 0.0.0.0:8000
PHP 5.5.6 Development Server started at Thu Dec  5 23:04:53 2013
Listening on http://0.0.0.0:8000
Document root is /smb
Press Ctrl-C to quit.
--------> here I load the website from a browser <--------
Segmentation fault
user@machine:/mnt/windows#/opt/php/bin/php-S 0.0.0.0:8000
PHP 5.5.6开发服务器于2013年12月5日星期四23:04:53启动
倾听http://0.0.0.0:8000
文档根目录为/smb
按Ctrl-C退出。

-------->在这里,我从浏览器加载网站结果发现,出于某种原因,挂载文件夹中的inode编号非常大,这让PHP抓狂:

user@machine:/mnt/windows# ls -i test.php
69524319247729677 -rwxrwxrwx 1 65535 65535 26 Dec  4 23:28 test.php
它看起来像:

UniqueID值在整个服务器范围内是唯一的,通常大于2次方32。该值通常会使未使用LFS(大文件支持)编译的程序触发glibc EOVERFLOW错误,因为这不适合目标结构字段。强烈建议使用LFS支持编译程序(即使用-D_FILE_OFFSET_BITS=64),以防止出现此问题您还可以使用“noserverino”装载选项在客户端上生成小于2幂32的inode编号。但您可能无法正确检测硬链接

因此,我在
/etc/fstab
中的装载选项中添加了
noservino
。这样做之后,重新安装inode编号会更好,一切都会完美无瑕:

user@machine:/mnt/windows# ls -i test.php
89 -rwxrwxrwx 1 65535 65535 26 Dec  4 23:28 test.php
user@machine:/mnt/windows# /opt/php/bin/php test.php
hello world
似乎有,但似乎有一些副作用的表现



更新:完成此操作后,一切似乎都正常工作,只是服务器无法发送大于几十KB的文件。所以我们又回到了原点。

结果是,出于某种原因,挂载文件夹中的inode编号非常大,这让PHP抓狂:

user@machine:/mnt/windows# ls -i test.php
69524319247729677 -rwxrwxrwx 1 65535 65535 26 Dec  4 23:28 test.php
它看起来像:

UniqueID值在整个服务器范围内是唯一的,通常大于2次方32。该值通常会使未使用LFS(大文件支持)编译的程序触发glibc EOVERFLOW错误,因为这不适合目标结构字段。强烈建议使用LFS支持编译程序(即使用-D_FILE_OFFSET_BITS=64),以防止出现此问题您还可以使用“noserverino”装载选项在客户端上生成小于2幂32的inode编号。但您可能无法正确检测硬链接

因此,我在
/etc/fstab
中的装载选项中添加了
noservino
。这样做之后,重新安装inode编号会更好,一切都会完美无瑕:

user@machine:/mnt/windows# ls -i test.php
89 -rwxrwxrwx 1 65535 65535 26 Dec  4 23:28 test.php
user@machine:/mnt/windows# /opt/php/bin/php test.php
hello world
似乎有,但似乎有一些副作用的表现


更新:完成此操作后,一切似乎都正常工作,只是服务器无法发送大于几十KB的文件。我们又回到了原点