2010-08-04 5 views
1

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

http:///www.bubblegenius.com (первая страница в настоящее время заблокирована в выключенном состоянии) Вы можете получить доступ к сайту внутри и увидеть то, что происходит, перейдя в http://www.bubblegenius.com/soap.html.

Один из моих клиентов управлял магазином электронной торговли Magento на общем хосте. После успешного запуска магазина в течение нескольких месяцев она начала испытывать проблемы с памятью. Сайт будет иногда прекращать работу или производить «фатальные ошибки» при добавлении предметов в корзину.

При нажатии кнопки «Добавить в корзину» экран будет белым - без ошибок. Когда я включил проверку ошибок в файле index.php, и попытался добавить товар в корзину, я получил следующее:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 62914560 bytes) in /home/bubblege/public_html/app/code/core/Mage/Core/Model/Session/Abstract.php on line 234 

Я попытался PHP повысит память 128M, 512M, даже 2048M внутри php.ini, .htaccess, и даже установив его в index.php с

ini_set('memory_limi', '2048M'); 

Upping лимит памяти до 512 или выше, не производит выше Критическая ошибка, но не позволит любой элемент должен быть добавлен в корзину. Она производит следующее сообщение:

"The item cannot be added to the cart." 

Теперь вот футболист: Мы переехали мой клиент к работающему 768MB VPS Гарантированного (ж \ 1.5GB Выброс RAM), и я работал с сервером санитарами, чтобы оптимизировать сервер ,

Однако, поскольку переход к VPS, ошибки продолжаются. Сайт отлично работает, пока вы не попытаетесь добавить товар в корзину.

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

Я сделал ремонт базы данных, оптимизацию, сделал сравнение и исправлю с чистой базой данных с чистой версией Magento.

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

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

+0

Мне не нравится указывать это, потому что вы, вероятно, уже проверили его, но вы также поместили ограничения памяти в файл php5.ini? Вы используете WHM на VPS? Это тоже может отменить. – Nic

+0

Я бегу WHM, но я, как уже упоминалось, специально обновил все настройки для php, apache и mysql для запуска на пике. Да, также задан php5.ini. – f8xmulder

ответ

0

Вы пробовали использовать тот же код и базу данных на вашем локальном компьютере? Это хорошее начало. Если проблема не сохраняется, в игре возникает проблема с окружающей средой. Если проблема не устранена, попробуйте запустить ту же базу данных против новой копии Magento (код прямо из репо, в основном). Если проблема утихла, у вас, вероятно, проблема с кодом. Если нет, возможно, будет виновата база данных.

Затем добавьте новый тип продукта и новый продукт. Попытайтесь добавить их в корзину. Использовать нового клиента и т. Д.

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

Дайте нам знать, как это происходит. :)

+0

Спасибо за ввод. Я провел множество различных тестов, в том числе те, которые вы упомянули. Я провел тестирование A/B с новыми db, старыми db, новыми prods, новыми клиентами. Проблема, похоже, находится в базе данных. Я не пробовал codestepping - есть ли у вас какие-либо предложения о том, как это сделать? У меня есть Firebug, и он не раскрывает ничего неприятного. Есть ли что-нибудь крепкое, которое может пройти через Magento? – f8xmulder

+0

xdebug был бы лучшим вариантом, но при этом не начиналось добавлять в код операторы отладки. изолируйте, какая строка кода устанавливает «не может добавить сообщение в корзину», и используйте debug_print_backtrace(), чтобы выяснить немного больше о том, что происходит в результате взрыва. что может привести вас в нужное место. –

+0

Я получаю xdebug, когда мы говорим. Я дам это и посмотрю, что он найдет. Спасибо за идею. – f8xmulder

0

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