Модуль Joomla работает локально, но ничего не отображает при размещении - PullRequest
1 голос
/ 13 ноября 2009

Я новичок в Joomla, и мне нужно поработать над сайтом Joomla для школьного проекта. Я изменил существующий модуль, чтобы он отображал избранные проекты, и он делает это безупречно, когда я тестирую сайт локально. Однако, когда я загрузил свои файлы в размещенную копию сайта, модуль загрузится, но ничего не отобразит. Он просто загружает заголовок и область для вывода php, но скрипт ничего не возвращает. Почему это происходит? Я в основном разобрался с Joomla, но я в тупике, когда дело доходит до этой проблемы.

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

Ошибка разбора: синтаксическая ошибка, неожиданная T_STRING в /home/content/s/r/s/srsgdmnet/html/components/com_rbids/rbids.html.php на линии 1

Я посмотрел на файл и понятия не имею, о чем он говорит. Первая строка просто "<?php", что нормально. Это просто говорит строку 1, но на самом деле относится к проблеме в другом месте? Этот файл является частью компонента обратных аукционов, с которым взаимодействует мой модуль. Я не изменял код в этом файле, за исключением использования регулярного выражения (поиск с использованием "\ n \ s * (\ n)", замена на "\ n") для удаления чрезмерных пробелов с помощью команды замены в Netbeans. Это вырезало примерно 3200 строк из файла, что значительно облегчило навигацию. Я предполагаю, что это ничего не изменило с точки зрения кода, потому что он все еще прекрасно работает при местном использовании.

Я изменил свой локальный файл configuration.php, чтобы использовать ту же базу данных, что и размещенная копия, чтобы посмотреть, была ли это проблема с базой данных, но она все еще работала нормально, так что это исключено. Файлы php.ini одинаковы на обеих копиях, за исключением локальной, закомментированной с Zend, чтобы я мог использовать Xdebug (внес это изменение после того, как возникла проблема при попытке его найти). Я прошел через код с помощью Xdebug и не смог отследить проблему, поэтому думаю, что это проблема конфигурации.

Моя локальная копия также не загружает определенные модули (например, главное меню), и я не могу перейти на некоторые другие страницы, не уверенный, если это связано. Код одинаков для обеих копий, но каждый из них имеет разные результаты. Я пропускаю важные шаги для переноса кода?

Я использую Joomla версии 1.5.9. Пожалуйста, помогите!

Ответы [ 3 ]

0 голосов
/ 09 декабря 2009

Попробуйте закрыть <?php традиционным способом и посмотрите, сработает ли или изменится строка ошибки.

Я помню, как видел похожий вопрос на форумах Joomla или Fabrik, но не могу вспомнить точный ответ

0 голосов
/ 10 декабря 2009

Группа, с которой я работал, пришла к выводу, что каким-то образом Netbeans портит некоторые файлы, когда мы редактируем и сохраняем их. Мы протестировали, взяв файлы с нашего сервера, открыв и сохранив их в Netbeans, а затем загрузив их обратно на сервер. Иногда это приводило к файлам, в которых явно не было никаких новых строк, что приводило к ошибкам php, поломке компонентов или даже к удалению всего сайта.

Наш текущий обходной путь для этого - просто взять файлы, с которыми это происходит, и использовать notepad ++, чтобы внести изменения перед загрузкой. Это очень странная проблема, которая вызывает у нас много горя. Надеюсь, команда Netbeans исправит это в будущих выпусках.

Спасибо всем за ваши попытки помочь мне решить эту проблему.

0 голосов
/ 25 ноября 2009

Вашему вопросу десять дней, так что, возможно, вы уже решили его. Но я бы посоветовал проверить код на прямую и обратную косую черту. Возможно, код использует \, который работает локально, но не работает на вашем сервере, где ему нужно /. В расширениях Joomla вы можете заменить разделение папок на DS, например, «папка». API заменит DS на \ или / в зависимости от ситуации.

Однако полученная вами ошибка синтаксического анализа указывает на то, что в синтаксисе вашего кода что-то отсутствует. Вам просто нужно пройти через это увеличительное стекло. Иногда, когда ошибка ссылается на первую строку, влияние чего-то пропущенного возвращается обратно в начало файла. Это может быть 'или; или что-то такое маленькое.

Независимо от вашего модуля, вам следует обновить Joomla до версии 1.5.15, которая в настоящее время является последней версией. вы на 6 выпусков безопасности отстали от графика!

...