gpt4 book ai didi

php - 使用 is_file() 和 is_dir() 进行文件访问会导致段错误

转载 作者:搜寻专家 更新时间:2023-10-31 21:43:41 25 4
gpt4 key购买 nike

我一直在为一个奇怪的问题而烦恼...据我所知,is_file() 在检查特定文件时导致段错误:

if( is_file('/path/to/file.php') ){
exit 'ok';
}else{
exit 'err';
}

运行此代码会立即导致段错误,甚至在 PHP 将错误写入其错误日志之前......Apache 子进程已被终止。

我确认这是导致段错误的 block ,因为我在该 block 之前放置了一个 exit; 并且该代码可以正常运行。我还在这个文件所在的目录上尝试了 is_dir(),但这也有段错误:

if( is_dir('/path/to') ){
exit 'ok';
}else{
exit 'err';
}

有人知道是什么原因造成的吗?该文件存在于该位置,我可以使用我的用户帐户(这也是运行 Apache 的同一用户)查看/编辑它,所以我认为这不是权限问题。即使它与文件权限有关,我不应该在 PHP 日志中看到错误吗?

另外请注意,我使用相同的 MAMP 设置大约一年没有出现任何问题(我的扩展程序也没有任何变化),因此我的设置不太可能出现问题。另外,我让另一位开发人员运行这段代码,他在他的机器上看到了同样的问题。

非常感谢任何想法。

我们都在 Mac OSX 10.6.8 上发生了这种情况。 PHP 版本 5.3.1 和 5.3.2。

我的机器: MAMP - Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2 mod_ssl/2.0.63 OpenSSL/0.9.7l

我同事的: XAMPP - Apache/2.2.14 (Unix) mod_python/3.3.1 Python/2.5.4 DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3。 1 mod_perl/2.0.4 Perl/v5.10.1

最佳答案

我发现一个旧错误影响 Apache 2.2.8 下的 PHP 5.3.0 alpha,不过我怀疑它是否仍然存在于您的系统中。

这是原始的 bug report

尝试通过 CLI 运行相同的脚本,看看它是否仍然出现段错误。如果没有,那么它可能是特定版本 Apache 上的 PHP 问题。如果它仍然出现段错误,那么我会尝试在 php.ini 中一次禁用您的扩展,看看是否是其中之一导致了问题。

关于php - 使用 is_file() 和 is_dir() 进行文件访问会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7126754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com