Сбой темы Magento - Ошибка 500 на изображениях темы - PullRequest
0 голосов
/ 18 марта 2012

Я успешно создал несколько тем magento, которые отлично работают на веб-серверах.Поскольку на веб-сервере были сделаны некоторые изменения от других разработчиков (также работающие нормально), я попытался импортировать все файлы из моей темы обратно в мою локальную систему, чтобы применить некоторые изменения.После этого моя тема на localhost внезапно рухнула.Источники сайтов в порядке, но все изображения, которые должны быть загружены из папки skin /../ images, не отображались.Если я пытаюсь открыть их в своем браузере, я получаю 500 Internal Server Error, но они хранятся в нужном месте в файловой системе.

Итак, я проверил несколько моих предыдущих тем, но все они былихорошо, если я сделаю резервную копию их из файловой системы или других папок в моей установке magento.

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

С наилучшими пожеланиями

Отредактируйте, чтобы ответить на идею @ Oğuz

Спасибо за ваши ответы.Я проверил журналы после того, как получил ошибку, и получил следующее:

[Sun Mar 18 20:53:24 2012] [crit] [client 127.0.0.1] (13)Permission denied: /var/www/theme/media/catalog/category/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://localhost/theme/index.php/apparel/shirts.html
[Sun Mar 18 20:53:25 2012] [error] [client 127.0.0.1] script '/var/www/index.php' not found or unable to stat, referer: http://localhost/theme/index.php/apparel/shirts.html
[Sun Mar 18 20:53:25 2012] [crit] [client 127.0.0.1] (13)Permission denied: /var/www/theme/media/catalog/category/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://localhost/theme/index.php/apparel/shirts.html
[Sun Mar 18 20:53:39 2012] [error] [client 127.0.0.1] script '/var/www/index.php' not found or unable to stat, referer: http://localhost/theme/index.php/apparel/shirts/zolof-the-rock-and-roll-destroyer-lol-cat-t-shirt.html
[Sun Mar 18 20:53:39 2012] [error] [client 127.0.0.1] script '/var/www/index.php' not found or unable to stat, referer: http://localhost/theme/index.php/apparel/shirts/zolof-the-rock-and-roll-destroyer-lol-cat-t-shirt.html
[Sun Mar 18 20:54:37 2012] [error] [client 127.0.0.1] client denied by server configuration: /var/www/theme/app/etc/local.xml
[Sun Mar 18 20:54:51 2012] [error] [client 127.0.0.1] script '/var/www/index.php' not found or unable to stat, referer: http://localhost/theme/index.php/apparel/shirts/zolof-the-rock-and-roll-destroyer-lol-cat-t-shirt.html
[Sun Mar 18 20:54:51 2012] [error] [client 127.0.0.1] script '/var/www/index.php' not found or unable to stat, referer: http://localhost/theme/index.php/apparel/shirts/zolof-the-rock-and-roll-destroyer-lol-cat-t-shirt.html
[Sun Mar 18 20:56:33 2012] [error] [client 127.0.0.1] client denied by server configuration: /var/www/theme/app/etc/local.xml
[Sun Mar 18 20:56:41 2012] [error] [client 127.0.0.1] client denied by server configuration: /var/www/theme/app/etc/local.xml
[Sun Mar 18 20:56:49 2012] [alert] [client 127.0.0.1] /var/www/theme/skin/frontend/theme/green/images/.htaccess: Invalid command 'ExpiresDefault', perhaps misspelled or defined by a module not included in the server configuration

Я не уверен, почему я получаю это внезапно.Сначала я попытаюсь сосредоточиться на проблеме local.xml.

Edit # 2

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

Я также проверил директиву AllowOverride, но она уже была установлена ​​на «All».

Ответы [ 3 ]

0 голосов
/ 19 марта 2012

Шаг за шагом, сначала попробуйте следующее (должно работать в корневом каталоге magento):

$ find . -type f -exec chmod 644 {} \;
$ find . -type d -exec chmod 750 {} \;
$ chmod o+w var var/.htaccess includes includes/config.php app/etc
$ chmod -R o+w media
$ chmod -R 777 /lib/PEAR
$ a2enmod expires

Откройте файл конфигурации apache (или .htaccess) и измените следующее в директиве directory, которая является вашим корневым каталогом magento.

AllowOverride All
Order allow,deny
Allow from all  

Как показано ниже:

<Directory /var/www/magento>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
0 голосов
/ 26 марта 2012

Наконец я просто переустановил apache и решил все проблемы с загрузкой моих изображений.Я не мог указать корень моей проблемы, но переустановка решила его для меня.

0 голосов
/ 18 марта 2012

Вот возможное решение:

добавить эту строку в начале файла:

$_baseMedia = Mage::getSingleton('catalog/product_media_config')->getBaseMediaPath();

тогда, когда вы включаете изображение вместо:

echo "<img src=".$this->helper('catalog/image')->init($_product, "image_2")->resize(500, 500);.">";

добавить это:

if(is_file($_baseMedia.$_product->$getImage2())){
    echo "<img src=".$this->helper('catalog/image')->init($_product, "image_2")->resize(500, 500);.">";
 }

Это проверяет наличие битых изображений, поэтому magento не выдаст ошибку, если не может найти изображение Magento выдает фатальную ошибку, если не может найти изображение, которое, вероятно, является причиной ошибки 500.

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