Magento не может войти в панель администратора

Я новичок в мадженто. Когда я пытаюсь войти в панель администратора, я получаю следующую ошибку. Это работает, когда я отключаю автоматический запуск сеанса. Но при этом другое мое приложение не работает на сервере. Я использую версию magento 1.9. Чтобы добавить, я использую nginx, а не apache

Неустранимая ошибка: Mage_Admin_Model_Observer::actionPreDispatchAdmin(): скрипт пытался выполнить метод или получить доступ к свойству незавершенного объекта. Убедитесь, что определение класса Mage_Admin_Model_User объекта, над которым вы пытаетесь работать, было загружено до вызова unserialize(), или предоставьте функцию __autoload() для загрузки определения класса в /var/www/html. /magento/magento/app/code/core/Mage/Admin/Model/Observer.php в строке 62


person Pradeep Jaiswar    schedule 05.01.2015    source источник


Ответы (3)


Итак, к вашему сведению, ngnix вообще не анализирует htaccess, и Magento в значительной степени полагается на htaccess для обеспечения безопасности.

Прежде чем даже рассматривать вашу проблему, знайте, что если ваш сервер имеет что-либо кроме локального доступа, вы подвергаетесь риску, потому что, как вы можете видеть в файле app/etc/local.xml, доступном для всех, вы даете мир доступ к вашей базе данных.

Пожалуйста, полностью прочитайте этот документ: http://info.magento.com/rs/magentocommerce/images/MagentoECG-PoweringMagentowithNgnixandPHP-FPM.pdf, где вы можете найти базовую конфигурацию ngnix для Magento:

server {
    listen 80 default;
    server_name magento.lan www.magento.lan; # like ServerName in Apache
    root /var/www/magento; # document root, path to directory with files
    index index.html index.php;
    autoindex off; # we don’t want users to see files in directories
   location ~ (^/(app/\|includes/\|lib/\|/pkginfo/\|var/\|report/config.
xml)\|/\.svn/\|/\.git/\|/.hta.+) {
    deny all; #ensure sensitive files are not accessible
 }
location / {
    try_files $uri $uri/ /index.php?$args; # make index.php handle requests for
/
    access_log off; # do not log access to static files
    expires max; # cache static files aggressively
 }
location \~\* \.(jpeg\|jpg\|gif\|png\|css\|js\|ico\|swf)$ {
    try_files $uri $uri/ @proxy; # look for static files in root directory and
   ask backend if not successful
    expires max;
    access_log off;
 }
location @proxy {
    fastcgi_pass fpm_backend; # proxy everything from this location to backend
 }
location \~\.php$ {
    try_files $uri =404; # if reference to php executable is invalid return 404
    expires off; # no need to cache php executable files
    fastcgi_read_timeout 600;
    fastcgi_pass fpm_backend; # proxy all requests for dynamic content to
    # backend configured in upstream.conf
    fastcgi_keep_conn on; # use persistent connects to backend
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root${fastcgi_script_name};
    fastcgi_param MAGE_RUN_CODE default; # Store code is defined in
   #administration > Configuration > Manage Stores
    fastcgi_param MAGE_RUN_TYPE store;
   } 
}

Затем, когда и только когда вам будет отказано в доступе к файлу app/etc/local.xml, рассмотрите возможность добавления тега ngnix к вашему вопросу, тогда пользователь с большим знанием ngnix может помочь вам больше, чем я (поскольку это более работу системного администратора, чем работу «кодера», как я).

Все, что я могу сказать, это: похоже, если вы добавите fastcgi_param PHP_VALUE "session.auto_start=0"; в раздел

location \~\.php$ {
    fastcgi_param PHP_VALUE "session.auto_start=0"; 
    #... more come here but I'm shortening just for the specific problem
}

Это должно делать свое дело.

person β.εηοιτ.βε    schedule 06.01.2015

Не могли бы вы очистить кеш, перезапустить mysqld и очистить кеш браузера. не могли бы вы поделиться ссылкой на ваш сайт,

person Noshad    schedule 06.01.2015

Magento не будет работать с включенным session.auto_start, потому что какое-то действие будет выполнено до начала сеанса.

Обходной путь, если вы действительно не хотите отключать его для другого приложения, — отредактировать .hatccess вашего Magento и добавить в него php_flag session.auto_start 0.

person β.εηοιτ.βε    schedule 05.01.2015
comment
@Benn Я добавил php_flag session.auto_start 0 в корневой файл .hatccess, но не работает. Нужно ли вставлять какой-то другой файл .hatccess? - person Pradeep Jaiswar; 06.01.2015
comment
Нет. Htaccess анализируется на вашем сервере? Если вы перейдете на yourmagento.com/app/etc/local.xml, вы видите файл или вам отказано в доступе? - person β.εηοιτ.βε; 06.01.2015
comment
@Бенн, я вижу файл. Чтобы добавить, я использую nginx, а не apache. - person Pradeep Jaiswar; 06.01.2015