PHP致命错误:require_once():无法打开所需的'Zend / Gdata / Extension.php'

时间:2009-08-22 22:23:28

标签: php zend-framework

由于某些奇怪的原因我现在无法理解,NoEmbed.php在尝试包含文件时失败并发生致命错误。包含路径设置正确,我已经验证了如下(在NoEmbed.php中的require_once指令之前):

$s = ini_get('include_path');
$a = explode(':',$s);
foreach($a AS $path) {
    echo $path;
    if(file_exists($path.'/Zend/Gdata/Extension.php')) echo '...found<br/>';
    else  echo '...not found<br/>';
}

在预期位置输出“找到”。

我必须承认,我目前无法想到为什么会发生这种情况,特别是因为正确包含NoEmbed.php。我在缓存解决方案时遇到过类似的问题,但是现在它们都被停用或卸载了,没有任何区别。

编辑:我刚发现它适用于“require”vs“require_once”(然后抛出重新声明错误)......任何可能的原因?

2 个答案:

答案 0 :(得分:0)

检查库的权限和所有者文件的位置以及文件的两个。

例如dir可以是755和文件644,如果你想写入它们,www-data作为所有者。

答案 1 :(得分:0)

在我的情况下,问题是硬盘驱动器有问题。我可以通过终端看到文件及其内容,但是PHP在60%的点击中给了我这个特定文件没有找到错误。

我已将其移至另一个硬盘驱动器,错误消失。