Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> перенос сайта на другой хостинг Zend Framework, не видит классы 
V
    Опции темы
g27
Дата 25.2.2012, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



Здравствуйте, вообщем достался мне сайт. Как я понял он на Zend Framework. Сам я с ним ниразу не работал до этого. Перенёс на другой хостинг, единственная разница то что там был каталог public и рядом с ним каталоги application и т.д. а на другом хостинге public_html. Я всё скопировал так же как было, пустил поиск по всем файлам, заменил где нашёл public на public_html. Но всёравно.. получаю такую ошибку

Fatal error: Class 'Euro_Controller_Plugin_LangSelector' not found in /home/****/domains/****/library/Zend/Application/Resource/Frontcontroller.php on line 111

если я удалю подключение класса, он и на другие классы пользователя такое кидает.

Подскажите где смотреть пожалуйста. явно я что-то упустил.


PM MAIL Skype   Вверх
Fortop
Дата 26.2.2012, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



А собственно  Euro/Controller/Plugin/LangSelector.php где-нибудь существует?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
g27
Дата 27.2.2012, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



ну естественно.. я копипаст сделал. всё существует. но что-то не видит ни его, ни другие классы.. тут что-то не так с путями может, не знаю где посмотреть(
PM MAIL Skype   Вверх
ksnk
Дата 27.2.2012, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Перед этим вызовом " ...n/Resource/Frontcontroller.php on line 111" поставить сброс в лог информации

getcwd(), ini_get('include_path') и посмотреть почему в пути нет файла Euro_Controller_Plugin_LangSelector 

Вроде в Zend довольно простой autoload, без особенных наворотов, но можно еще поискать по коду функции spl_autoload_reister и проверить какие функции зарегистрированы в дополнение к нему. Может там собака порылась...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
g27
Дата 27.2.2012, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



спасибо за наводку, буду копать
PM MAIL Skype   Вверх
g27
Дата 29.2.2012, 02:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



echo getcwd() . "<br/>";
echo ini_get('include_path');

/home/*username*/domains/*domain*/public_html/public
/home/*username*/domains/*domain*/public_html/application/../library:/home/*username*/domains/*domain*/public_html/library:.:/usr/share/pear

вообщем получаю такое, но увы яснее мне не стало. вообщем я всё что было в каталоге public_html на старом сервере перекинул в public_html на новый.. в первом посту я ошибся, невнимательно посмотрел.


а функцию spl_autoload_register нашёл тока в library\Zend\Loader\Autoloader.php, как я понял тока там где она и должна быть..
PM MAIL Skype   Вверх
Fortop
Дата 29.2.2012, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Fortop @  26.2.2012,  16:29 Найти цитируемый пост)
 Euro/Controller/Plugin/LangSelector.php где-нибудь существует? 


Он лежит тут?
Цитата(g27 @  29.2.2012,  02:08 Найти цитируемый пост)
/home/*username*/domains/*domain*/public_html/application/../library


Попробуйте в строке подключения файла указать полный путь - если поможет... то разбирайтесь с Autoloader и настройками сайта.

Покажите что лежит в application/configs/application.ini ?
что находится в application/Bootstrap.php ?



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
g27
Дата 29.2.2012, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



 Euro/Controller/Plugin/LangSelector.php 

именно там и существует


Код

[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 1
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] =
resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = ""
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf8"


resources.session.use_only_cookies = true
resources.session.remember_me_seconds = 864000

resources.session.name = UNIQUE_NAME

resources.frontController.plugins.LangSelector = "Euro_Controller_Plugin_LangSelector"

autoloaderNamespaces.Biz = 'Euro_'
resources.view.helperPath.Euro_View_Helper = APPLICATION_PATH "/../library/Euro/View/Helper"


[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = ""
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf8"

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = ""
resources.db.params.password = ""
resources.db.params.dbname = ""
resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf8"




Код

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initDoctype()
    {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML1_TRANSITIONAL');
    }
    protected function _initNavigation(){

        $this->bootstrap('layout');
        $layout = $this->getResource('layout');
        $view = $layout->getView();

        $config = new Zend_Config_Xml(APPLICATION_PATH.'/configs/navigation.xml', 'nav');
        $navigation = new Zend_Navigation($config);
        $view->navigation($navigation);
    }
    protected function _initSidebar()
    {
        $this->bootstrap('View');
        $view = $this->getResource('View');
        $view->placeholder('sidebar')
        // "prefix" -> markup to emit once before all items in collection
        ->setPrefix("<div class=\"sidebar\">\n <div class=\"block\">\n")
        // "separator" -> markup to emit between items in a collection
        ->setSeparator("</div>\n <div class=\"block\">\n")
        // "postfix" -> markup to emit once after all items in a collection
        ->setPostfix("</div>\n</div>");
    }
    protected function _initPlaceholders()
    {
        $this->bootstrap('View');
        $view = $this->getResource('View');
        // Set the initial title and separator:
        $view->headTitle()
        ->setSeparator(' :: ');
    }
    protected function _initRoutes() {


        $router = Zend_Controller_Front::getInstance()->getRouter();

        $router->setGlobalParam('lang', 'lt');
        $router->removeDefaultRoutes();
//        $router->addRoute(
//                'langmodcontrolleraction',
//                new Zend_Controller_Router_Route('/:lang/:module/:controller/:action',
//                        array('lang'=> ':lang')
//                        )
//                );
//        $router->addRoute(
//                'langcontrolleraction',
//                new Zend_Controller_Router_Route('/:lang/:controller/:action',
//                        array('lang'=> 'lt',
//                            'module' => 'default',
//                            'controller' => 'index',
//                            'module' => 'index')
//                        )
//                );
        $router->addRoute(
                'langindex',
                new Zend_Controller_Router_Route('/:lang',
                        array('lang'=> 'lt',
                            'module' => 'default',
                            'controller' => 'index',
                            'module' => 'index')
                        )
                );
        $router->addRoute(
                'langaction2',
                new Zend_Controller_Router_Route('/:action',
                        array('lang'=> 'lt',
                            'module' => 'default',
                            'controller' => 'index',
                            'module' => 'index')
                        )
                );
        $router->addRoute(
                'langaction',
                new Zend_Controller_Router_Route('/:lang/:action',
                        array('lang'=> 'lt',
                            'module' => 'default',
                            'controller' => 'index',
                            'module' => 'index')
                        )
                );
        $router->addRoute(
                'langactionid',
                new Zend_Controller_Router_Route('/:lang/:action/:id',
                        array('lang'=> 'lt',
                            'module' => 'default',
                            'controller' => 'index',
                            'module' => 'index')
                        )
                );
        $router->addRoute(
                'langactionidtitle',
                new Zend_Controller_Router_Route('/:lang/:action/:id/:title',
                        array('lang'=> 'lt',
                            'module' => 'default',
                            'controller' => 'index',
                            'module' => 'index')
                        )
                );

        $router->addRoute('EIC_administravimas_titulinis', new Zend_Controller_Router_Route('/admin/',
                        array('controller' => 'admin', 'action' => 'index', 'module' => 'default'))
        );
        $router->addRoute('administravimasaction', new Zend_Controller_Router_Route('/admin/:action',
                        array('controller' => 'admin', 'action' => 'index', 'module' => 'default'))
        );
        $router->addRoute('administravimasactionveiksmas', new Zend_Controller_Router_Route('/admin/:action/:veiksmas',
                        array('controller' => 'admin', 'action' => 'index', 'module' => 'default'))
        );
        $router->addRoute('administravimasactionveiksmasid', new Zend_Controller_Router_Route('/admin/:action/:veiksmas/:id',
                        array('controller' => 'admin', 'action' => 'index', 'module' => 'default'))
        );
        $router->addRoute('ajax', new Zend_Controller_Router_Route('/ajax/:action',
                        array('controller' => 'ajax', 'action' => 'index', 'module' => 'default'))
        );
        $router->addRoute('EIC_administravimas', new Zend_Controller_Router_Route('/admin/eic',
                        array('controller' => 'admin', 'action' => 'eic', 'module' => 'default'))
        );
        $router->addRoute('EIC_klausimai', new Zend_Controller_Router_Route('/admin/klausimai/:veiksmas',
                        array('controller' => 'admin', 'action' => 'klausimai', 'module' => 'default'))
        );
        $router->addRoute('EIC_klausimai_by_id', new Zend_Controller_Router_Route('/admin/klausimai/:veiksmas/:id',
                        array('controller' => 'admin', 'action' => 'klausimai', 'module' => 'default'))
        );
        $router->addRoute('reklama', new Zend_Controller_Router_Route('/reklama/:action/',
                        array('controller' => 'reklama', 'action' => ':action', 'module' => 'default'))
        );
    }

    protected function _initActionHelpers() {
        Zend_Controller_Action_HelperBroker::addPath(
        APPLICATION_PATH .'/../library/Euro/View/Helper', 'Euro_View_Helper');
    }
}





ничего такого тут не замечаю, что бы как-то индивидуально привязывало к серверу.. может какие-то настройки самого хостинга? сайт то работает сам по себе на старом месте, на новом не хочет((

он и другие классы пользователя не видит. если убрать подключение этого класса, тоже ошибки кидает на другие.

меня смущают пути в application.ini .. на старом хостинге корневая папка была не public_html а public.. которая была в ней.. так вот я думаю может что-то тут связано. буду пробовать менять пути

Это сообщение отредактировал(а) g27 - 29.2.2012, 13:56
PM MAIL Skype   Вверх
Fortop
Дата 29.2.2012, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(g27 @  29.2.2012,  13:06 Найти цитируемый пост)
на старом хостинге корневая папка была не public_html а public


Ну посмотрите еще index.php

В нем могло это затесаться.
В остальных местах явной привязки нет.

Если не поможет, то напильник в зубы и дебажить.
Причем дебажить надо именно автозагрузчик. На предмет используемых префиксов/неймспейсов и путей для них.

Плюс проверьте содержимое APPLICATION_PATH
Код

var_dump(realpath(APPLICATION_PATH));
var_dump(realpath(APPLICATION_PATH . '/../library'));



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
g27
Дата 29.2.2012, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



Код

string(62) "/home/***/domains/***/public_html/application" 

string(58) "/home/***/domains/***/public_html/library"


всё тут хорошо.. ладно, где там мой напильник) отпишу как найду причину что было не так.
PM MAIL Skype   Вверх
g27
Дата 29.2.2012, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



вообщем.. вы будете смеятся  smile  учитывая что новый хостинг без домена, то я заходил туда меняя свой hosts файлик.. так вот таким образом заходят на сайт, он не работает. закинул на хостинг с доменом(левым), то сайт заработал.. как бы я не уверен что сделав перенапраление домена на новый хостинг, сайт будет работать хорошо) вот если не будет всё хорошо, меня уроют) 

теперь надо наверное пройтись по скриптам и удалить упоминание домена везде.. что бы он и без него работал..
PM MAIL Skype   Вверх
Fortop
Дата 1.3.2012, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(g27 @  29.2.2012,  23:12 Найти цитируемый пост)
 удалить упоминание домена везде.. что бы он и без него работал.. 

Только не удалить.
А чтобы он корректно брал из настроек сервера.

И это...
Цитата(g27 @  25.2.2012,  14:12 Найти цитируемый пост)
Fatal error: Class 'Euro_Controller_Plugin_LangSelector' not found in /home/****/domains/****/library/Zend/Application/Resource/Frontcontroller.php on line 111

Такое не может вызываться из-за домена.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
g27
Дата 6.3.2012, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



Цитата(Fortop @ 1.3.2012,  12:59)
Такое не может вызываться из-за домена.

да, Вы правы. что-то не так с хостингом. закинул на другой, на нём всё работает. буду думать что же не так..

Это сообщение отредактировал(а) g27 - 6.3.2012, 13:30
PM MAIL Skype   Вверх
g27
Дата 9.3.2012, 23:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 216
Регистрация: 29.9.2007
Где: Vilnius

Репутация: нет
Всего: нет



начал читать теорию по Zend и т.д. про автозагрузчик.. и вообщем я его не нашёл на этом сайте) я не знаю как там он работает, явно где-то есть, но после того как я вставил такую функцию в Boostrap то всё заработало

Код

public function _initAutoload()
        {

            $autoLoader = Zend_Loader_Autoloader::getInstance();
            $autoLoader->registerNamespace('Euro_');
            $resourceLoader = new Zend_Loader_Autoloader_Resource(
                  array(
                        'basePath' => APPLICATION_PATH ,
                        'namespace' => '' , 
                    'resourceTypes' => array( 
                                  'plugin' => array('path' => 'plugins/' , 'namespace' => 'Plugin_') ,
                                  'model' => array('path' => 'models/' , 'namespace' => 'Model_')
                                  )
                        )
            );
            return $autoLoader;
        }



всем спасибо за внимание, проблему решил)
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.