【发布时间】:2011-03-02 22:12:47
【问题描述】:
有问题! 我正在使用 Zend Quickstart 应用程序作为(刚刚开始大声笑)开发的基础。 我的本地机器上有 PHP/MySQL 服务器 (WinXP) 所以那里一切正常。 但后来我尝试将我的网站上传到远程服务器。这就是我得到的:
Fatal error: Class 'Default_Model_Post' not found in /home/mysite/application/controllers/IndexController.php on line 13
第 13 行:
$post = new Default_Model_Post();
Default_Model_Post 类位于 application/models/post.php 在我的家庭服务器上,它是由 zend 应用程序找到的!
我检查了.htaccess - 有SetEnv APPLICATION_ENV生产线 这是我的 application.ini:
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
autoloaderNamespaces[] = "Mysite_"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts"
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "mysite_ib"
resources.db.params.password = "my passwd here"
resources.db.params.dbname = "mysite_ib"
resources.db.isDefaultTableAdapter = true
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
这里是 Bootstrap.php:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoload()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Default',
'basePath' => dirname(__FILE__),
));
//print_r( Zend_Loader_Autoloader::getAutoloaders()); exit; //tried to get some info here lol
return $autoloader;
}
}
检查了我能想象到的一切!它可以在我的开发机器上工作,但在真实服务器上 - 它不能! 已经在 Google、Zend 文档和 stackoverflow 上进行了搜索,但总是不完全是我的问题(或者修复没有帮助)。 即使在真实服务器上,Mysite_ 命名空间中的类也可以正常工作。 实时服务器上的站点是我的开发站点的全部副本(压缩 -> 上传 -> 使用 zend lib 解压缩等等) 请说出如何解决这个问题或至少如何调试它......我确定有一些该死的服务器选项我忘记更改了。 伙计们,我真的很依赖你的帮助:(我梦想的项目已经破灭。抱歉英语不好。
【问题讨论】:
标签: php zend-framework bootstrapping autoloader