Intereting Posts
PHPExcel – ошибка циклической ссылки в формуле условие в критериях в yii framework php ActiveForm, пользовательский идентификатор для проверки поля Уменьшить 5 дней с даты Как добавить ODBC в MAMP на OSX Как реализовать функцию, которая может принимать произвольные параметры в PHP? Как использовать базовую авторизацию в PHP curl Codeigniter Extend custom model производит FATAL ERROR jquery не извлекает результаты из json на основе ввода поиска? PHP PDO Проверка доступности имени пользователя может кто-нибудь кратко объяснить Single Sign on? Я хочу использовать openid как SSO Как декодировать что-то, начинающееся с «\ u» с помощью PHP Нужно ли мне соединение php mysql в каждой функции, использующей базу данных? Почему я не могу получить переменную $ _POST с дефис / тире в ее ключе, если передаю ключ как переменную? Ошибка при отправке электронной почты с помощью phpmailer – Ошибка при передаче SMTP-сообщений: данные не принимаются

Magento Controller работает Windows, а не Linux

Я создал модуль, который работает на моей установке Windows XAMPP. Однако тестирование на Linux не работает корректно. Более конкретно, мой контроллер, похоже, не загружается.

При посещении URL- www.mysite.com/modulename/standard/ меня появляется ошибка 404. Я ожидаю получить сообщение, выводящее die('here') который предшествует определению класса в контроллере.

Файл контроллера – /app/code/local/Namespace/Modulename/controllers/StandardController.php .

Класс определяется внутри этого файла следующим образом:

class Namespace_Modulename_StandardController extends Mage_Core_Controller_Front_Action

Выдержка из моего файла конфигурации XML приведена здесь:

 <frontend> <routers> <modulename> <use>standard</use> <args> <module>Namespace_Modulename</module> <frontName>modulename</frontName> </args> </modulename> </routers> <!-- other blocks here --> </frontend> 

Моя первоначальная мысль заключалась в том, что это была проблема чувствительности к регистру, которую я не заметил, развиваясь в Windows. Ранее фрагмент XML был следующим, что также не сработало. Также обратите внимание, что я попытался посетить www.mysite.com/Modulename/standard и www.mysite.com/modulename/standard для обеих версий XML с ошибкой 404 каждый раз.

 <Modulename> <use>standard</use> <args> <module>Namespace_Modulename</module> <frontName>Modulename</frontName> </args> </Modulename> 

Кто-нибудь знает, в чем проблема?

Спасибо.

редактировать

В соответствии с запросом, вот конфигурационный файл модуля. Все это кажется правильным: модуль отображается на странице Admin / Developer, а экран конфигурации модуля (сгенерированный в system.xml) появляется в бэкэнд. Более того, части модуля (и, по-видимому, контроллер) работают в интерфейсе!

 <config> <modules> <Namespace_Modulename> <active>true</active> <codePool>local</codePool> </Namespace_Modulename> </modules> </config> 

Изменить 2

Некоторые версии могут оказаться полезными. PHP 5.3 Magento 1.5.1.0

Попробуйте этот код:

 <frontend> <routers> <namespace_modulename> <use>standard</use> <args> <module>Namespace_Modulename</module> <frontName>modulename</frontName> </args> </namespace_modulename> </routers> <!-- other blocks here --> </frontend> 

Является ли ваш контроллер фактически названным StandardController.php? В случае с файлами, зависящими от регистрационных данных, перед «Контроллером» следует начинать с буквы верхнего регистра, а все остальные буквы должны быть внизу

Я не могу в это поверить!

Моя коробка разработки была обновлена ​​без моего ведома, казалось бы, и в процессе моей настройки Apache была изменена! Наконец, я понял, что не получаю обычную 404-страничную страницу Magento и только простую, уродливую страницу 404 и проверил журналы ошибок Apache, в которых говорилось, что файл /Modulename/standard не существует. Обновление моей конфигурации Apache, чтобы добавить следующие исправленные проблемы:

 <Directory "mymagentodirectory"> AllowOverride All </Directory> 

Я не могу в это поверить. Спасибо всем, кто нашел время, чтобы прочитать и ответить! 🙂