Настройки Magento Admin Config не сохраняются

У меня есть установка Magento 1.8, которая работала нормально до вчерашнего вечера, после чего изменение каких-либо настроек конфигурации в области администратора перестало работать.

Например. Если я изменю «имя магазина» на другое и нажму «Сохранить»: на зеленой полосе вверху появится надпись «Конфигурация сохранена», но значение останется прежним.

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

Включение режима разработчика сначала привело к следующему, когда я попытался загрузить любую страницу:

Strict Notice: Only variables should be passed by reference  in /home/user/dev/lib/Varien/Db/Adapter/Pdo/Mysql.php on line 2765

#0 /home/user/dev/lib/Varien/Db/Adapter/Pdo/Mysql.php(2765): mageCoreErrorHandler(2048, 'Only variables ...', '/home/user/de...', 2765, Array)
#1 /home/user/dev/lib/Varien/Data/Collection/Db.php(483): Varien_Db_Adapter_Pdo_Mysql->prepareSqlCondition('path', Array)
#2 /home/user/dev/lib/Varien/Data/Collection/Db.php(414): Varien_Data_Collection_Db->_getConditionSql('path', Array)
#3 /home/user/dev/lib/Varien/Data/Collection/Db.php(385): Varien_Data_Collection_Db->_translateCondition('path', Array)
#4 /home/user/dev/app/code/core/Mage/Core/Model/Resource/Config/Data/Collection.php(58): Varien_Data_Collection_Db->addFieldToFilter('path', Array)
#5 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config/Data.php(306): Mage_Core_Model_Resource_Config_Data_Collection->addScopeFilter('default', 0, 'general')
#6 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config/Data.php(292): Mage_Adminhtml_Model_Config_Data->_getPathConfig('general', false)
#7 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config/Data.php(221): Mage_Adminhtml_Model_Config_Data->_getConfig(false)
#8 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config/Data.php(334): Mage_Adminhtml_Model_Config_Data->load()
#9 /home/user/dev/app/code/core/Mage/Paypal/Model/Observer.php(134): Mage_Adminhtml_Model_Config_Data->getConfigDataValue('paypal/general/...')
#10 /home/user/dev/app/code/core/Mage/Core/Model/App.php(1338): Mage_Paypal_Model_Observer->loadCountryDependentSolutionsConfig(Object(Varien_Event_Observer))
#11 /home/user/dev/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Paypal_Model_Observer), 'loadCountryDepe...', Object(Varien_Event_Observer))
#12 /home/user/dev/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('adminhtml_init_...', Array)
#13 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config.php(93): Mage::dispatchEvent('adminhtml_init_...', Array)
#14 /home/user/dev/app/code/core/Mage/Adminhtml/Model/Config.php(63): Mage_Adminhtml_Model_Config->_initSectionsAndTabs()
#15 /home/user/dev/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php(88): Mage_Adminhtml_Model_Config->getSections('general')
#16 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_System_ConfigController->editAction()
#17 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('edit')
#18 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#19 /home/user/dev/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#20 /home/user/dev/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#21 /home/user/dev/index.php(87): Mage::run('', 'store')
#22 {main}

Поиск /home/user/dev/lib/Varien/Db/Adapter/Pdo/Mysql.php в строке 2765:

$key = key(array_intersect_key($condition, $conditionKeyMap));

Это не имело для меня никакого смысла, но что-то связанное с MySQL казалось, что я на правильном пути... Я погуглил ошибку и нашел это: http://www.magentocommerce.com/boards/v/viewthread/266575/ - и попробовал заменить строку 2795 на:

$tmp = array_intersect_key($condition, $conditionKeyMap);
$key = key($tmp);

Что привело к следующей ошибке режима разработки:

Method "addJqueryLibrary" is not defined in "Magentothem_Upsellslider_Model_Layout_Generate_Observer"

#0 /home/user/dev/app/code/core/Mage/Core/Model/App.php(1340): Mage::throwException('Method "addJque...')
#1 /home/user/dev/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Magentothem_Upsellslider_Model_Layout_Generate_Observer), 'addJqueryLibrar...', Object(Varien_Event_Observer))
#2 /home/user/dev/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#3 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Action.php(351): Mage::dispatchEvent('controller_acti...', Array)
#4 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#5 /home/user/dev/app/code/core/Mage/Adminhtml/Controller/Action.php(275): Mage_Core_Controller_Varien_Action->loadLayout(NULL, true, true)
#6 /home/user/dev/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php(95): Mage_Adminhtml_Controller_Action->loadLayout()
#7 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_System_ConfigController->editAction()
#8 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('edit')
#9 /home/user/dev/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#10 /home/user/dev/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#11 /home/user/dev/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#12 /home/user/dev/index.php(87): Mage::run('', 'store')
#13 {main}

Если сейчас выключить режим разработчика, происходит то же самое, говорит, что сохранено, но без изменений.

Только что нашел в /var/exception.log еще одну ошибку, которая говорит:

exception 'Mage_Core_Exception' with message 'Invalid block type: Fishpig_FPAdmin_Block_Adminhtml_Extend' in /home/pieboy/dev/app/Mage.php:594

(за которым следует еще одна трассировка стека)

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

Последнее расширение, которое я установил, было следующим: http://www.magentocommerce.com/magento-connect/stripe-for-magento.html

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

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

РЕДАКТИРОВАТЬ: я удалил расширения Fishpig и Magentothem upsellslider, и теперь я вообще не получаю ошибок или исключений в режиме разработки, но все равно такое же поведение с настройками конфигурации, которые не сохраняются.


person mike-source    schedule 05.12.2013    source источник
comment
Что-то с каким-то модулем Fishpig - попробуйте его отключить.   -  person bogatyrjov    schedule 06.12.2013
comment
Пробовал отключать все модули fishpig (интеграция с wordpress), слайдер magentothem upsell и модуль полос radweb через меню System->Config->Advanced, ничего не изменилось. Я снова получил метод addJqueryLibrary не определен в ошибке Magentothem_Upsellslider_Model_Layout_Generate_Observer в режиме разработки. Мне их удалять?   -  person mike-source    schedule 06.12.2013
comment
Полностью удалил fishpig и upsellslider получаю ту же ошибку, но теперь без исключений, режим dev дает тот же результат, что и режим non-dev, страница просто лежит и пишет "настройки конфигурации сохранены", но они не меняются...   -  person mike-source    schedule 06.12.2013


Ответы (1)


С помощью моей хостинговой компании мы выяснили, что это вызвано suhosin, они увеличили следующие ограничения suhosin в файле php.ini для моего сервера, что решило проблему:

suhosin.post.max_vars = 1000
suhosin.request.max_vars = 1000

(Думал, что я обновлю здесь, если кто-то в той же лодке погуглит!)

person mike-source    schedule 09.12.2013