Хоствайте приложение Zend Framework 2 в споделен хостинг

Хостих моето приложение 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

Опитах много, но не успях да отстраня проблема. Може ли някой да ми помогне в това отношение??

Благодаря


person Foysal Vai    schedule 06.08.2014    source източник
comment
Ако приемем, че първо сте го разработили на вашата локална машина, работи ли добре там?   -  person Tim Fountain    schedule 06.08.2014
comment
Благодаря на @TimFountain за отговора. Да, разработих го на локална машина и работи добре там.   -  person Foysal Vai    schedule 06.08.2014
comment
В такъв случай най-вероятно е проблемът с чувствителността на главните и главните букви. Какъв е пълният път (включително име на файл) до Module.php на вашия тестов модул?   -  person Tim Fountain    schedule 06.08.2014
comment
Благодаря @TimFountain за ценния ви отговор. Познахте правилно, това е проблем с чувствителността на малките и главни букви. Можете ли да кажете как мога да премахна публична дума от URL ?? Благодаря   -  person Foysal Vai    schedule 06.08.2014


Отговори (2)


Трябва да добавите всички файлове в публичната папка към корена, т.е. public_html. След това създайте папка зад root (да предположим, че папка с име zf2project) и копирайте цялата си папка с изключение на публичната папка в нея.

След това редактирайте файла index.php

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

Btw можете ли да предоставите връзката към вашия сайт.

person Mohammad Nomaan Patel    schedule 06.08.2014
comment
Благодаря, Mohammad Nomman pat. Опитах така.... * Поставете всички файлове в публичната папка в root т.е. public_html. * След това създайте папка в root с име zf2project. * Поставете всички файлове на моя проект в zf2project с изключение на публичната папка. *Редактиран файл index.php с chdir("zf2project/".dirname(__DIR__)); . Но това не работи. Благодаря - person Foysal Vai; 08.08.2014

Попаднах на тази публикация, защото имах същия въпрос.

Едно нещо, което опитах и ​​което изглежда работи, е създаването на символна връзка от вашата public_html директория към вашата public директория в директорията на вашия проект.

За да използвате URL: example.com/~user/Application

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

За да използвате URL: example.com/~user

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

Това предполага, че ~/public_html вече не съществува.

Не съм сигурен дали има някакви отрицателни последици от този метод.

person pferate    schedule 17.03.2015