在共享主机中托管Zend Framework 2应用程序

时间:2014-08-06 05:42:54

标签: zend-framework2 web-hosting

我在共享托管服务器中托管了我的Zend Framework 2应用程序。我上传了根文件夹中 public_html 的所有文件。我将以下代码放在 index.php 文件中,该文件位于 public 文件夹中。

error_reporting(E_ALL);
ini_set("display_errors", 1);

现在我正在尝试浏览我的应用程序,例如 test.com/public 并收到以下错误。

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (test) could not be initialized.' in /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php:175 Stack trace: 

#0 /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php(149): Zend\ModuleManager\ModuleManager->loadModuleByName(Object(Zend\ModuleManager\ModuleEvent))    
#1 /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php(90): Zend\ModuleManager\ModuleManager->loadModule('test') 
#2 [internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent))
#3 /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent)) 
#4 /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Z in /home/nowphp/public_html/zend_test/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php on line 175

我尝试了很多但未能解决问题。谁能在这方面帮助我?

由于

2 个答案:

答案 0 :(得分:0)

您需要将公用文件夹中的所有文件添加到根目录,即public_html。然后在root后面创建一个文件夹(假设名为 zf2project 的文件夹),并将除公共文件夹以外的所有文件夹复制到其中。

然后编辑index.php文件

chdir("zf2project/".dirname(__DIR__));

顺便说一下,您是否可以提供指向您网站的链接。

答案 1 :(得分:0)

遇到这篇文章是因为我有同样的问题。

我尝试过的一件事似乎是在您的项目目录中创建从public_html目录到public目录的符号链接。

使用网址:example.com/~user/Application

$ cd ~/public_html
$ ln -s /path/to/project/public Application

使用网址:example.com/~user

$ cd ~
$ ln -s /path/to/project/public public_html

这假设〜/ public_html已经存在。

我不确定此方法是否会产生任何负面影响。