2016-03-23 57 views
0

这个问题正在驱使我疯了。我知道类似的问题已经被提交,但没有解决方案为我Zend include_once(myphpfile):未能打开流:没有这样的文件或目录

我得到这个错误:

Warning: include_once(): Failed opening 'Recruit/Model/DbTable/Volontari.php' for inclusion (include_path='/var/www/html/fabio/recruit/application/../library:/var/www/html/fabio/recruit/library:.:/usr/share/pear:/usr/share/php') in /usr/share/php/Zend/Loader.php

但实际上文件存在于服务器上。这是我的文件夹树

source 
    |__application 
     |_ .... 
    |__library 
     |__Recruit 
      |__Forms 
      | |__VolontariCreate.php 
      |__Model 
       |__DBTable 
         |__Volontari.php 

形式VolontariCreate.php工作的一部分,所以我不认为它无法找到路径。

我也检查包含路径与回声get_include_path(); ,他们是正确的

如果它可以帮助,客户端是Ubuntu的,服务器是Centos的,Zend的版本信息是1.12.17dev

感谢您的支持。

+0

哪里是“新兵”文件夹位于?它在文件字符串中,但不在树中。招募你的应用程序?看起来你可能需要为你的路径添加一个额外的“../”。自动加载器在名称空间/类加载器上寻找大写字母'R'也可能出现问题 –

+0

是的,招聘是我的应用程序。抱歉,Recruit文件夹在树中丢失,我编辑过。现在树是正确的。在application.ini中,我声明了名称空间“Recruit_”。 – Fabio

+0

尝试倾销'__DIR__'来查看您在实际文件树中的位置。 –

回答

1

我相信你的问题是linux/unix文件系统区分大小写。在运行Windows的服务器上,您可以避开任何您喜欢的文件格式,因为它们不区分大小写。这样您的要求包括:

Recruit/Model/DbTable/Volontari.php 

将失败,因为实际的路径应该是:

Recruit/Model/DBTable/Volontari.php 

请注意,在DB的资本2 ...

+0

是的,这是问题!类名称为Recruit_Model_DbTable_Volontari,而路径为Recruit_Model_DBTable_Volontari。谢谢! – Fabio

相关问题