Magento Manage Categories предлагает серый экран - новая установка - PullRequest
1 голос
/ 14 февраля 2012

Я использую MAMP Pro для управления серверами, чтобы я мог разработать сайт Magento локально. Я новичок в разработке Magento и закончил все заново из-за нескольких ошибок, которые я кодировал. Я удалил предыдущую базу данных, создал новый URL в MAMP Pro (то есть devmagento.com:8888), который указывал на новую папку, которую я создал, удалил версию Magento Community в папке, прошел процесс установки, и все отлично установилось , Сразу после установки я попытался зайти на страницу «Управление категориями» и заметил, что она загружает часть заголовка до тех пор, пока не войдет в раздел «Вход в систему как bassplayer7». После этого ничего нет - только серый. Все остальные страницы администратора работают (я пробовал не все, а те, которые я пробовал).

Кроме переиндексации и выключения кеша, я не вносил никаких изменений до перехода на страницу категорий. Нет загрузки, нет изменений конфигурации и т. Д.

При устранении проблемы я включил ведение журнала (в Admin> Config) и Profiler. Ведение журнала, по-видимому, регистрирует только интерфейс.

Я немного растерялся, что искать. Я также зашел в var / cache и очистил это.

Любая помощь приветствуется !!

Ответы [ 2 ]

5 голосов
/ 14 февраля 2012

Первое, что нужно сделать на новом хосте разработки Magento, - это включить режим разработчика.
Причина в том, что по умолчанию Magento будет пытаться скрыть все сообщения об ошибках, , если режим разработчика включен.

Как включить режим разработчика

Есть несколько способов сделать это.Первые два варианта можно считать только быстрыми взломами, поскольку они небезопасны при обновлении.Третий вариант - правильный способ сделать это.

Опция 1
В корневом каталоге Magento вы увидите файл с именем .htaccess
Поместите следующий код вверху или внизу этого файла.

SetEnv MAGE_IS_DEVELOPER_MODE 1

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

Опция 2
Откройте файл index.php в корневом каталоге Magento.
Вокруг строки 66Вы увидите следующий код:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}

Измените его так, чтобы режим разработчика включался независимо от настройки MAGE_IS_DEVELOPER_MODE.

if (true || isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}

Предупреждение :Файл index.php также является частью ядра Magento и будет перезаписан во время обновлений, как и файл .htaccess.Также не развертывайте его на работающем сервере с этим параметром.

Опция 3
Правильный способ включить режим разработчика - это поместить параметр в конфигурацию apache,например, декларация vhost.Я не знаю, где MAMP Pro хранит их, но для нормальной работы Apache в OS XI используйте /etc/apache2/extra/httpd-vhosts.conf для настройки моих узлов разработки.Вот пример записи:

<VirtualHost *:80>
    DocumentRoot "/path/to/my/workspace/magento.dev/htdocs"
    ServerName magento.dev
    SetEnv MAGE_IS_DEVELOPER_MODE 1
    ErrorLog "/private/var/log/apache2/magento-error_log"
    CustomLog "/private/var/log/apache2/magento-access_log" common
</VirtualHost>

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

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

  • var / log / exception.log
  • var / log / system.log

Проверьте ихдля любых сообщений об ошибках, таких как «Недопустимый класс блока» или «недопустимый шаблон ...».
Все еще не повезло?
Проверьте журналы ошибок Apache или PHP.Они находятся за пределами установки Magento, и их расположение зависит от конфигурации системы.Возможно, регистрация ошибок PHP все еще должна быть включена.Узнайте в MAMP Pro, как это сделать с этим пакетом.
Рассматриваемый параметр PHP - log_errors.

Говоря о настройках PHP ... Вы также должны убедиться, что для display_errors установлено значение On.В противном случае наиболее грубые ошибки (например, синтаксическая ошибка, которая прерывает компиляцию) не будут видны, независимо от режима разработчика.

2 голосов
/ 14 февраля 2012

Поместите это в файл с именем .htaccess в вашей папке /magento/

############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

#    Action php5-cgi /cgi-bin/php5-cgi
#    AddHandler php5-cgi .php

############################################
## GoDaddy specific options

#   Options -MultiViews

## you might also need to add this line to php.ini
##     cgi.fix_pathinfo = 1
## if it still doesn't work, rename php.ini to php5.ini

############################################
## this line is specific for 1and1 hosting

    #AddType x-mapp-php5 .php
    #AddHandler x-mapp-php5 .php

############################################
## default index file

    DirectoryIndex index.php

<IfModule mod_php5.c>

############################################
## adjust memory limit

#    php_value memory_limit 64M
    php_value memory_limit 256M
    php_value max_execution_time 18000

############################################
## disable magic quotes for php request vars

    php_flag magic_quotes_gpc off

############################################
## disable automatic session start
## before autoload was initialized

    php_flag session.auto_start off

############################################
## enable resulting html compression

    #php_flag zlib.output_compression on

###########################################
# disable user agent verification to not break multiple image upload

    php_flag suhosin.session.cryptua off

###########################################
# turn off compatibility with PHP4 when dealing with objects

    php_flag zend.ze1_compatibility_mode Off

</IfModule>

<IfModule mod_security.c>
###########################################
# disable POST processing to not break multiple image upload

    SecFilterEngine Off
    SecFilterScanPOST Off
</IfModule>

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

    # Insert filter on all content
    ###SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css    text/javascript

    # Netscape 4.x has some problems...
    #BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    #BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    #SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    #Header append Vary User-Agent env=!dont-vary

</IfModule>

<IfModule mod_ssl.c>

############################################
## make HTTPS env vars available for CGI mode

    SSLOptions StdEnvVars

</IfModule>

<IfModule mod_rewrite.c>

############################################
## enable rewrites

    Options +FollowSymLinks
    RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

    RewriteBase /magento/

############################################
## workaround for HTTP authorization
## in CGI environment

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## always send 404 on missing files in these folders

    RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

    RewriteRule .* index.php [L]

</IfModule>


############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

    AddDefaultCharset Off
    #AddDefaultCharset UTF-8

<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

    ExpiresDefault "access plus 1 year"

</IfModule>

############################################
## By default allow all access

    Order allow,deny
    Allow from all

###########################################
## Deny access to release notes to prevent disclosure of the installed Magento version

    <Files RELEASE_NOTES.txt>
        order allow,deny
        deny from all
    </Files>

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

    #FileETag none
...