Проблемы при загрузке CodeIgniter с локального хоста на сайт - PullRequest
1 голос
/ 09 февраля 2010

Я разрабатывал веб-сайт с помощью CodeIgniter и попытался загрузить его на свой веб-сервер и получил следующую ошибку (которую я никогда не видел до загрузки).

Fatal error: Class 'CI_Hooks' not found in <snip>/system/codeigniter/Common.php on line 136

Я читал, что CodeIgniter не очень хорошо работает с PHP 5.3.x, за исключением их последней сборки (которую я также скачал и попытался загрузить, хотя я просто заменил мои отредактированные файлы в системном каталоге), однако я все еще получаю та же ошибка.

Гугл это сообщение не сильно помогло ... кто-нибудь видел что-то подобное?

Ответы [ 4 ]

1 голос
/ 10 февраля 2010

Загрузка класса 'Hooks' происходит в CodeIgniter.php как 82. Я бы предположил, что это либо проблема .htaccess, либо, возможно, неверный путь к вашей системной папке.

1 голос
/ 09 февраля 2010

У меня была похожая проблема несколько месяцев назад, и, к сожалению, я так и не определила, что именно произошло. Однако шаги, которые я предпринял, были следующие:

Вместо загрузки файлов и риска повреждения при передаче просто отправьте zip-файл codeigniter прямо на ваш сервер.

wget http://codeigniter.com/download.php

Распакуйте этот файл и переместите его в корневой каталог вашего сайта.

Теперь загрузите ваш домен и убедитесь, что установка базового CI работает без каких-либо изменений. Если это работает, то перемещайте определенные файлы вашего сайта за раз и продолжайте частую перезагрузку, чтобы вы знали, что ломается (если что-нибудь).

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

1 голос
/ 09 февраля 2010

Какую версию CI вы используете? Я использую последнюю версию CI 1.7.2, и в файле system/codeigniter/Common.php я не могу найти вызов CI_Hooks class.

Есть ли у вас пользовательская библиотека или сенсорный системный файл CI при разработке? Вы убедились, что все файлы успешно загружены на сервер?

0 голосов
/ 09 февраля 2010

строка находится в функции с именем load_class, и поиск CI_Hooks показывает, что она определена в /system/libraries/Hooks.php. При поиске 'hooks' (с кавычками) отображается строка

$EXT =& load_class('Hooks');

в системе / codeigniter / CodeIgniter.php

Так что вы можете просто захотеть проверить, есть ли у system / library файл Hooks.php и есть ли у него заглавная буква H. Если нет, то это ваша проблема.

В Windows по разным историческим причинам регистр имени файла в конечном счете не имеет значения, поэтому ваше приложение будет нормально работать под Windows, но когда вы переместите его в linux / unix, оно начнет создавать проблемы.

Я сделал эту ошибку один раз, когда дал имени файла модели заглавную первую букву. Это хорошо работало в Windows, но когда я развернул его в Linux, он сразу же сообщил об ошибке. К счастью, это было легче отследить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...