在寻求帮助之前,我一直在阅读很多内容。 我也一直在与托管公司交谈,以获得一些帮助,但他们的技术支持与我一样知识渊博。Zend Framework与PHP共享主机CGI
由于许多在这里编写Zend Framework安装在共享主机上的人,我有一个很深的自动加载和寻找类的问题。
我有权访问php.ini,.htaccess(显然),根目录和公共目录(当然)。
用于我的安装的结构如下:
/ - root, not accessible to public users)
/application
/config
/controller
/model
/view
/forms
/decorators
/cache
/view_compiles
/layout
/library
/Zend
/(other libraries)
/images
/scripts
/styles
/public_html (public root)
/css
/js
.htaccess (zend standard)
index.php
总之
,我使用标准的Zend布局(按照Zend的工具)。 因此,我已经安装了公共区域之上的所有内容,并且所有公共内容都位于公开访问的服务器中。
在我的本地服务器上,一切正常。 它从webroot中的文件夹运行,一切正常。
在生产服务器上,PHP被安装为CGI,可能会有问题。 首先SetEnv不再工作。 无论我如何处理index.php中的路径,自动加载器都不起作用。
当您启动应用程序时,登录表单必须打开。 由于这样的事实,磁带自动加载机不工作, 形式无法找到已在的是定制类创建的元素,从而 以下消息:
Fatal error: Class 'Model_Utils_FormElements' not found in /home/sites/ttonline.com/application/forms/Login.php on line 32
如果我是把一个require_once(至极我不想这个解决方案),然后我得到一个错误,复合装饰未被发现。
整个系统在我的本地工作完美...
我将不胜感激,如果有人可以给我输入/可能的解决情况的想法。
THX
FormElements.php位于何处?我没有看到你的布局。 – emaillenin
FormElements.php位于models/utils下。 – Mamba
在引导程序中有一个名称空间Model_的声明。指向models/utils。 – Mamba