2009-08-22 109 views
4

由于一些奇怪的原因,我现在无法弄清楚,NoEmbed.php在尝试包含文件时失败并出现致命错误。包括路径设置是否正确,我已经验证,像下方(NoEmbed.php放在require_once指令前右):PHP致命错误:require_once():无法打开所需的'Zend/Gdata/Extension.php'

$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”与“require_once”(然后抛出一个redeclare错误)......任何可能的原因呢?

回答

0

检查文件夹的权限和所有者,以及文件的两个文件。

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

+0

权限没问题。看我的编辑 - 它适用于包括。我现在发现,“clearstatcache()”在99%左右的时间内解决了这个问题,但即便如此,仍然存在着同样的致命错误。我很确定我忽略了一些东西...... – Flim 2009-08-22 22:48:12

0

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

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

相关问题