Zend Framework AutoLoading не работает при развертывании
-
01-10-2019 - |
Вопрос
Мой сайт на основе Zend на основе отлично работает на моем localhost (используя Mac). Но когда я развернул его на веб-хостинговой компании Linux, я получаю следующие ошибки:
На странице индекса, которые пытаются перечислить мои объявления, вызывая ресурс, в котором выберите:
Фатальная ошибка: класс 'lintottar_model_resources_ad' не найден в / всеww/webvol8/4v/7e33wem4920cqpg/lintottar.se/library/my/model/abstract.php на линии 79
На другой странице просмотр помощника, похоже, работает - главный макет отображается, но я получаю следующую ошибку: Fatal Error: класс 'lintottar_form_search_simple' не найден в /ww/webvol8/4v/7e33Wem4920cqpg/lintottar.se/application/modules /lintottar/views/helpers/searchform.php на линии 16
Вот мое приложение INI:
Есть ли проблема с автозагрузкой? Что я мог сделать? Я не могу понять, что не так, так как он работает на моем местном компьютере.
Спасибо за помощь!
Кр
Джозеф.
Решение
Ах, я вижу, в чем проблема после того, как вы показали свою структуру каталогов. Проблема в том, что эти каталоги (как resources
а также ad
а также search
) должен быть прописным (например, Resources
). Причина, по которой он работает на вашем Mac, заключается в том, что, хотя OS X является Unix-основательными и чувствительными к регистру, если он не найдет совпадение имени файла, он попробует его нечувствителен.
Поэтому в основном измените имена папок, чтобы отразить фактические названия классов, и он должен работать. Обратите внимание, что корневые папки в каталоге модуля, такие как models
, forms
, controllers
а также views
все еще должен быть строчными. Ресурс модуля Autoloader установлен таким образом.