Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Интернет-магазин закрыт на тех обс, заходите позже! Проблема с MySQL

Со вчерашнего дня при добавления или изменения товара начал выдавать ошибку. файл \admin\mysql_db_error.log

06/12/2008 21:12:57 | 1264 - Out of range value adjusted for column 'manufacturers_id' at row 1 | update os_products set products_quantity = '10', products_to_xml = '1', products_model = '', products_ean = '', products_price = '531', products_sort = '0', products_shippingtime = '1', products_discount_allowed = '100.0000', products_date_available = null, products_weight = '0.00', products_status = '1', products_startpage = '0', products_startpage_sort = '0', products_tax_class_id = '0', product_template = 'default', options_template = 'default', manufacturers_id = '', products_fsk18 = '0', products_vpe_value = '0.0000', products_vpe_status = '', products_vpe = '', yml_bid = '0', yml_cbid = '0', products_page_url = '', group_permission_0 = '0', group_permission_1 = '0', group_permission_2 = '0', group_permission_3 = '0', products_image = '100_0.jpg', products_last_modified = now() where products_id = '100' | /admin/categories.php?cPath=&pID=100&action=update_product

Где нужно подправить?
Использую на тестовой вин Apache/2.2.6,PHP/5.2.4,MySQL/5.0.27 после апдета PHP/5.2.7 начал выдавать ошибку. хотя это не связано, откат не помог.


У меня у хостера:
Apache/2.2.9 (FreeBSD) PHP/5.2.6 MySQL 5.0.67

На локальном:
Apache/2.2.4 (Win32) PHP/5.2.4 MySQL 5.0.45

Запрос, на котором у Вас вылетает ошибка, выполняется и у хостера и на локальном

Дело скорее всего не в версиях PHP+MYSQL а в их настройке.

Если не сложно - выделите доступ к админке+ftp (в личку) ... может найду в чем дело.


Это локальный, тестовый вариант, в интернет я его не свечу.
Установлена версия 2.1.2 без каких либо изменений. Здесь проблема не в скрипте.

Новая установка заканчивается той же ошибкой на шаге создания администратора.
Проблема в MYSQL. В ранее приведенном логе видно  manufacturers_id = ''
при создании таблицы - manufacturers_id int(11) default NULL
значить должно быть manufacturers_id = NULL или manufacturers_id = 0
Где то в настройках MYSQL что-то изменилось, хотелось понять что.


Новая установка заканчивается той же ошибкой на шаге создания администратора.
Проблема в MYSQL. В ранее приведенном логе видно  manufacturers_id = ''
при создании таблицы - manufacturers_id int(11) default NULL
значить должно быть manufacturers_id = NULL или manufacturers_id = 0
Где то в настройках MYSQL что-то изменилось, хотелось понять что.


На щаге создания администратора не используются ни manufacturers_id.
Не могу решить проблему, если её не вижу:)

Решение:
*) Установить новый Denwer и на него установить ShopOS 2.1.2.
*) Скачать готовую сборку Denwer+ShopOS http://www.shopos.ru/files/shopos-portable.rar .


На шаге создания администратора делается запись в базу данных (но не в переменную manufacturers_id).
Проблема заключается в попытке записи символьной строки '' в интегральную переменную manufacturers_id.
Лечение: в настройках MYSQL отключить STRICT_TRANS_TABLES .
в my.ini строку:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_E NGINE_SUBSTITUTION"
заменяем на
sql-mode="NO_AUTO_CREATE_USER,NO_E NGINE_SUBSTITUTION"

Как показало гугление "STRICT_TRANS_TABLES", такие ошибки встречаются во многих, и лечат их так же.
Спасибо за содействие, а для FAQ можно сделать заметочку.
И спасибо за магазин. :)


Спасибо за решение данной проблемы, буду знать.:)


"Интернет-магазин закрыт на тех обс, заходите позже! Проблема с MySQL" - такую ошибку очень часто выдает версия скрипта ShopOS 2.3.0 и после это у меня на VDS MySQL полностью падает !!! Хостер категорически отвергает какую-либо проблему на стороне хоста. Да и падение MySQL на моем VDS я заметил только после установки данного скрипта, в ходе тестирования скрипта...


А какие ошибку записываются в mysql_db_error.log?

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

Попробуйте включить кеширование sql запросов. Это уменьшит нагрузку.


Интернет-магазин закрыт на техническое обслуживание, заходите позже!
Проблема с MySQL. Как узнать причину ошибки.

Ver. 2.3.0
Хост: fox.hvosting.kiev.ua (62.149.15.66)    
Хост Базы Данных: localhost (127.0.0.1)
Операционная Система: FreeBSD 6.4-STABLE    
БД: MySQL 5.0.51a-log
Дата на Сервере: 13/02/2009 16:42:22    
Дата БД: 13/02/2009 16:42:22
Время на сервере: 4:42PM up 16 days, 15:54, 8 users, load averages: 17.65, 13.19, 12.20
HTTP Сервер: Apache/1.3.41 (Unix) mod_fastcgi/2.4.6 mod_ssl/2.8.31 OpenSSL/0.9.7e-p1
Версия PHP: 5.2.6 (Zend: 2.2.0)



произошло после попытки экспортировать Excel прайс с 1700 наименованиями


посмотреть mysql_db_error.log в корне магазина.


mysql_db_error.log несоздается хотя в Настройки / Логи включил
в /tmp/ тоже ненашел

как домой прийду смогу дать доступ к фтп


кстати по ссылке http://www.shopos.ru/files/shopos.rar если верить подписям  в файлах и титл в админке лежит версия 2.3.0



кстати по ссылке http://www.shopos.ru/files/shopos.rar если верить подписям  в файлах и титл в админке лежит версия 2.3.0


так патчи 2.3.1 и 2.3.2 просто устраняют ошибки версии 2.3.0. по сути версия не изменилась.


переустановил магазин, при импорте исчезла ошибка

но смущает колличество запросов к бд на главной страничке при примерно 1700 товаров Время генерации: 1.514, запросов: 126


Для уменьшения кол. запросов можно включить кеширование.

Настройка - Основные - Кеш


менял статус клиента с покупателя на админа. снова выскочило:
магазин закрыт на тех обс, заходите позже! Проблема с MySQL

но статус сменилсо


Нужно смотреть что за ошибка.
Скорее всего в папке admin создался файл mysql_db_error.log - скиньте его содержимое.

Если его нет - нужно создать и поставить права дотсупа 777 и повторить действие, которое привело к ошибке.


23/02/2009 08:02:31 | 1054 - Unknown column 'start' in 'field list' | INSERT into os_admin_access (customers_id,start) VALUES ('3','1') | /admin/customers.php?page=1&cID=3&action=statusconfirm
24/02/2009 20:02:20 | 1054 - Unknown column 'start' in 'field list' | INSERT into os_admin_access (customers_id,start) VALUES ('2','1') | /admin/customers.php?page=1&cID=2&action=statusconfirm


у меня та же "Проблема с MySQL", может мой лог поможет


Server shutdown in progress

Lost connection to MySQL server during query


Проблема в слабом хостинге. Нехватка ресурсов для выполнения всех запросов к базе.


Такая же ерунда при входе в админку выдает:это из db_mysql_error
14/03/2009 11:03:14 | 2005 - Unknown MySQL server host 'моя база данных название' (2) | connect | /
14/03/2009 11:03:49 | 2004 - Can't create TCP/IP socket (55) | connect | /login.php?action=process

В чем может быть проблема я так понимаю он базу данных не видет? или в чем беда ? Куда лезть. хостер уверяет что все работает.


ПРичем либо вообще не открывает 500 ошибку в мозиле или открывает но без картинок так чисто текст, то выдает ошибку при входе в админку вот ту которую написал.
Помогите плиз)
Заранее спасибо!


Все проблема решилась странно непонятно что было) всем спасибо)


Скорее всего у хостера были какието проблемы.


Ага так все и было) написал и они честно признались)


Та же проблема, но еще на этапе установки на хостинге
в логах вот что:

mysql_db_error.log
23/03/2009 12:03:52 |  -  | ALTER TABLE os_extra_fields MODIFY fields_input_type int(11) default '0' not null | /~shopkh/shopos/install/3.php
23/03/2009 12:03:24 | 1046 - No database selected | DROP TABLE IF EXISTS os_categories_description | /~shopkh/shopos/install/3.php


shopos/install/error_log
PHP Fatal error:  Call to undefined function  os_session_close() in /home/shopkh/public_html/shopos/includes/core.include_admin.php on line 268


А у меня такая проблема помогите плиз!!

на сайте при переходе на главную страницу выкидывает

Интернет-магазин закрыт на техническое обслуживание, заходите позже!
Проблема с MySQL.

22/07/2009 12:07:07 | 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) | connect | /index.php?cat=6
22/07/2009 12:07:07 | 2002 - Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) | connect | /index.php
тоесть страницу сайта с индексом    .index.php  не открывает .  а если  добавить .index.php.htaccess  то все работает . до этого два дня работало нормально.
зарание спасибо !


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

тоесть страницу сайта с индексом    .index.php  не открывает .  а если  добавить .index.php.htaccess  то все работает


не понятно что вы там добавляете чтобы работало.


или настройки неправильно указаны для подключения

а настройки чего указані не верно?


я так думаю что адрес сервера.


перезалил файлик index.php  проблема исчезла...незнаю с чем связано


спасибо за ответ


перезалил файлик index.php  проблема исчезла...незнаю с чем связано


спасибо за ответ



не могла такая ошибка возникнуть из за поврежденного index.php


Ошибка в mysql_db_error.log

29/07/2009 10:07:24 | 1146 - Table 'моя_табл.os_configuration' doesn't exist | select configuration_key as cfgKey, configuration_value as cfgValue from os_configuration | /AS/install/6.php
29/07/2009 10:07:46 | 1146 - Table 'моя_табл.os_configuration' doesn't exist | select configuration_key as cfgKey, configuration_value as cfgValue from os_configuration | /AS/install/6.php

Ошибка  при создании админа (6 этап при инсталяции).  При этом не создаёт никаких таблиц. Заходил в php my sql - таблиц нет... В чем проблема?  Пожалуйста помогите! k_alexander@bk.ru


Дело в настройках mysql. не импортируется база на 3ем шагу установки.


Добрый день

Перенес магаз на др. хостинг. Магаз поставил с нуля, импортировал базу
Заходит через раз. Магаз работал на простенькой vds, но там были др. проблемы (сеть)

Кто сталкивался? Что скажите.


Warning: mysql_connect() : User hostclic_mobshop already has more than 'max_user_connections' active connections in /home/.../mobshopz.ru/redirector.php on line 23

Warning: mysql_select_db() : Access denied for user 'hostclic'@'localhost' (using password: NO) in /home/.../mobshopz.ru/redirector.php on line 24

Warning: mysql_select_db() : A link to the server could not be established in /home/.../mobshopz.ru/redirector.php on line 24

Warning: Cannot modify header information - headers already sent by (output started at /home/.../mobshopz.ru/redirector.php:23) in /home/.../mobshopz.ru/includes/top.php on line 11


Интернет-магазин закрыт на техническое обслуживание, заходите позже!

Проблема с MySQL. Как узнать причину ошибки.

Вот что ответили в поддержке:


Здравствуйте.


Насколько мы видим, в процессе работы Ваш скрипт создаёт большое количество
подключений к MySQL (10 штук минимум):
+----------+------------------+-----------+-------------------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |
+----------+------------------+-----------+-------------------+---------+------+-------+------------------+

| 11852030 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 9 | |
|
| 11852163 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 5 | |
|
| 11852264 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 5 | |
|
| 11852468 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 1 | |
|
| 11852472 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 1 | |
|
| 11852663 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 1 | |
|
| 11852664 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 1 | |
|
| 11852665 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 1 | |
|
| 11852666 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 0 | |
|
| 11852667 | hostclic_mobshop | localhost | hostclic_mobshopz | Sleep | 0 | |
|
+----------+------------------+-----------+-------------------+---------+------+-------+------------------+


Что и составляет лимит на подключения к MySQL. При этом очень похоже, что это
пустые соединения, не отправляющие никаких запросов к базе. Для объяснения и
решения ситуации Вам стоит обратиться к разработчикам Вашего скрипта.


Столкнулся и я с проблемой SQL

Нажимаю редактировать производителя и выскакивает

Интернет-магазин закрыт на техническое обслуживание, заходите позже!

Проблема с MySQL. Как узнать причину ошибки.


Вот и я про то =/
Или есть не закрывающиеся соединения или открывается соединений дольше чем позволяет сервер БД


Чуваки не парьте мозг  !!! , просто пропешите в /admin/includes/bottom.php админки (не путать с bottom.php на самом магазине!!!)
Функцию os_mysql_close();
И условие на проверку открытого соединения.

И будет вам счастье. Во имя детей, неба и земли и рождества мать его..


да...
полько проблема так и не решена =/


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



Чуваки не парьте мозг  !!! , просто пропешите в /admin/includes/bottom.php админки (не путать с bottom.php на самом магазине!!!)
Функцию os_mysql_close();
И условие на проверку открытого соединения.

И будет вам счастье. Во имя детей, неба и земли и рождества мать его..


http://www.php.su/mysql/?functions

Для закрытия соединения предназначена функция mysql_close(int $connection_id).

Вообще, соединение можно и не закрывать - оно будет закрыто автоматически при завершении работы PHP скрипта. 



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


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

а для постоянных соединений используется pconnect. при установке магазина можно указать


Если кому нужно. вот правка

http://code.google.com/p/shopos/source/diff?spec=svn434&r=434&format=side&path=/trunk/2.4.2/upload/includes/bottom.php

Внизу файла includes/bottom.php до ?> добавить

 
if (USE_PCONNECT != 'true')
{
  os_db_close();
}



Если кому нужно. вот правка...

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

Убедительная просьба (1) включить лечение проблемы в новую версию, (2) выпустить ее максимально быстро и (3) внятно, по пунктам, изложить процедуру апгрейда со старых версий на новую.

У меня стоит 2.4.1 именно по причине отсутствия такой инструкции.




Если кому нужно. вот правка...

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

Убедительная просьба (1) включить лечение проблемы в новую версию, (2) выпустить ее максимально быстро и (3) внятно, по пунктам, изложить процедуру апгрейда со старых версий на новую.



а как можно более подробно описать, что нужно открыть какой то файл и добавить какие то строчки?

У меня стоит 2.4.1 именно по причине отсутствия такой инструкции.


Так задавайте вопросы, если что то не понятно.

Как устанавливать обновления:
- Распакуйте архив с обновлением к себе на компьютер.
- Перепишите все файлы из папки upload в Ваш интернет-магазин.

Скачать обновление
Распаковать архив
Содержимое папки upload скопировать в корень вашего магазина с заменой файлов.
(тоесть нужно заменить старые файлы, на новые и все)
Можно немного перефразировать, но суть та же.


Убедительная просьба (1) включить лечение проблемы в новую версию

Ничего для Вас это не даст.
Это даст людям, у которых хостинг специфически настроен. и как уже писал выше, если соединения mysql автоматически не закрываются.

Интернет-магазин закрыт на тех обс, заходите позже!

Не по одной причине может возникать.

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


В общем у этой фигни такой прикол... Лично у меня хостинг мажется так: "Что типа мол у вас скрипт выполняется больше 30 секунд и т.д.". Но на самом деле прикол в том что во время выполнения каких то действий скрипт либо зацикливается гдето, либо что, по сути функционал скрипта меньше чем у битрикса даже, а на моем хостинге битрикс не глючил так, кому вообще нужен интернет магазин который работает только на VDS который за 5 косарей в год??? Надо отключать что то в интернет магазине, например статистику, или какие нибуть запросы и т.д. В общем то что делает такие дикие вычисления...

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

Просто я не вижу смысла в магазине который раз по 15 задень с ошибкой вылитает...



В общем у этой фигни такой прикол... Лично у меня хостинг мажется так: "Что типа мол у вас скрипт выполняется больше 30 секунд и т.д.". Но на самом деле прикол в том что во время выполнения каких то действий скрипт либо зацикливается гдето, либо что, по сути функционал скрипта меньше чем у битрикса даже, а на моем хостинге битрикс не глючил так, кому вообще нужен интернет магазин который работает только на VDS который за 5 косарей в год??? Надо отключать что то в интернет магазине, например статистику, или какие нибуть запросы и т.д. В общем то что делает такие дикие вычисления...

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

Просто я не вижу смысла в магазине который раз по 15 задень с ошибкой вылитает...


с хостингом скорее всего не повезло. ибо не все так и плохо

вот тут http://firstvds.ru/ на самом дохлом вдс нормально работает. а это всего 150 рублей в месяц. сравнимо со стоимостью шаред хостинга.
кому вообще нужен интернет магазин который работает только на VDS который за 5 косарей в год???


не только на Vds. работает медленно на хостерах, у которых низкая скорость mysql сервера. и где куча других лимитов.

ошибки возникают в разных скриптах в разное время и абсолютно не стандартизованы


тут нужно смотреть http://www.shopos.ru/forum/index.php?board=13.0 Возможно то, что у Вас там возникает уже исправлено.

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


демка как то работает и ничего там не зацикливается :)


отключаем лишние блоки через
админка - настройки - шаблоны - настройка блоков
(снизит кол. запросов к базе)
настройка - основные - кэш

Использовать кэш
Использовать кэширование информации.

да
Кэширование запросов к БД

да

Снизит еще сильнее снизит кол. запросов к базе и странички будут браться из кэша.


Кэш же включен... Блоки тоже отключены.... А про VDS, все здорово, все бы взял но только смущает ограничение трафика...


Мля чуваки, при включенном кэше, при отключенных блоках, серавно пишет иногда....

Интернет-магазин закрыт на техническое обслуживание, заходите позже!

Проблема с MySQL. Как узнать причину ошибки.


С супортом говорил, говорят что в момент загружености сервка php скрипты выполняются долго....
Да и я пробежался по коду, мне кажется что интернет магазин открывает просто кучу не нужных соединений с базой...

Давайте какнибуть решим вопрос по мощности...

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

Как думаешь кубаторить будет?


Или предлагаю другое решение, в функциях прописать проверку на открытое соединение перед конектом и если все уже открыто, то игнорировать создание нового соединения с БД???

Вроде должно сработать.... Потому что у меня ни один движок, даже Bitrix на SWEB.ru не глючил...

А тут какойто паршивенький инет магазин на смарт шаблонах тормозит....


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

Как думаешь кубаторить будет?


да нету там большого кол соединений.

везде так и сделано

в top.php создается соединение в bottom.php закрывается (теперь уже :))

дополнительны соединения создаются если ЧПУ используется или редиректы.
redirector.php
manager.php
но там оправдано. так как top.php не подключен


Евгений, подскажи, будь добр, У меня щас две версии 2,4,2 и 2,4,1 RC4....

Как я понял в 2,4,2 это уже реализовано, а в 2,4,1 RC4 нет?
Тогда след вопросы, какие файлы мне надо обновить в 2,4,1 RC4, чтоб с кол-ом соединений было все ок? Т.к. я часть движка переписал и если сделаю полное обновление, то придется все назад перелопачивать...

Если и в 2,4,2 такая же бодяга, то где тырить обновление?


Кстати по поводу ЧПУ, может там также сделать, оту у моего клиента умудряется и ЧПУ вылизать иногда с ошибкой...

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


Если кому нужно. вот правка

http://code.google.com/p/shopos/source/diff?spec=svn434&r=434&format=side&path=/trunk/2.4.2/upload/includes/bottom.php

Внизу файла includes/bottom.php до ?> добавить

 
if (USE_PCONNECT != 'true')
{
  os_db_close();
}


вот это сделать и все будет работать.

реализовано в 2.4.3, которой еще не выложено. :)

Кстати по поводу ЧПУ, может там также сделать, оту у моего клиента умудряется и ЧПУ вылизать иногда с ошибкой...


а на какие страницах ?
просто трудно устранить проблему, если так неконкретно написано


Нет эту строку я уже поставил в движок, серавно тормозит ...
Прикол не в этой строке, а в функциях, то есть в движке есть несколько функций
в которых прописано mysql_connect();
Основная идея такая, у всех функций поставить проверку на открытое соединение, если оно есть, не открывать его...

А толку в этом патче который ты привел нет... Т.К. он умудряется в одном скрипте открыть больше 10 соединений...
(Собственно все глюки с хостингом рождаются от этого, т.к. php тратим много ресурсов на работу с базой и из за этого может не укладываться во временной промежуток 30 сек.)
Что в принципе не оправдано... По сути движку нужно только одно соединение...

Если поставим проверку, сразу избавимся от лишних соединений и движок шустренький будет...

Если хочешь я могу сам попариться, вышлеш версию 2,4,3 мне на почту, я переделаю и тебе обратно отошлю...
Там впринцепе работы на пару часов всего.  ;D


А толку в этом патче который ты привел нет... Т.К. он умудряется в одном скрипте открыть больше 10 соединений...
(Собственно все глюки с хостингом рождаются от этого, т.к. php тратим много ресурсов на работу с базой и из за этого может не укладываться во временной промежуток 30 сек.)
Что в принципе не оправдано... По сути движку нужно только одно соединение...


только что проверил. создается одно соединение.

если в коде встречается mysql_connect не раз, еще не значит и вызывается он тоже многократно.

Если хочешь я могу сам попариться, вышлеш версию 2,4,3 мне на почту, я переделаю и тебе обратно отошлю...
Там впринцепе работы на пару часов всего.


какие тут пару часов. 5 минут. еслиб реально из за этого было.

кажется нашел в чем проблема

includes\classes\product.php
function buildDataArray


if ($_SESSION != '0') {
if ($_SESSION == '1') {
if ($array == '0') {
$buy_now = $this->getBuyNowButton($array, $array);
$buy_now_new = $this->getBuyNowButtonNew($array, $array);
}
} else {
$buy_now = $this->getBuyNowButton($array, $array);
$buy_now_new = $this->getBuyNowButtonNew($array, $array);
}

заменить на


if ($_SESSION != '0') {
if ($_SESSION == '1') {
if ($array == '0') {
//$buy_now = $this->getBuyNowButton($array, $array);
//$buy_now_new = $this->getBuyNowButtonNew($array, $array);
}
} else {
$buy_now = $this->getBuyNowButton($array, $array);
$buy_now_new = $this->getBuyNowButtonNew($array, $array);
}

время выполнения снижается в 10 раз.

нужно только переписать кусок кода, формирование кнопок купить.

а насчет соединений - не знаю. выдает на всех страницах, что одно.


"формирование кнопок купить" - а где переписывать надо, тоесть что поправить?

Просто я только начал этот движок изучать и еще не допер где и какие функции за что отвечают...
Поэтому разбираюсь долго...
-----
if ($_SESSION != '0')
{
        if ($_SESSION == '1')
                {
            if ($array == '0')
                    {
              //$buy_now = $this->getBuyNowButton($array, $array);
              //$buy_now_new = $this->getBuyNowButtonNew($array, $array);
                    }
                } else
                {
            $buy_now = $this->getBuyNowButton($array, $array);
            $buy_now_new = $this->getBuyNowButtonNew($array, $array);
                }
----
Но помойму эта часть вобще смысла не имеет, я конечно пока не сомтрел откуда она вырвана, но чисто по условиям если посмотреть во всех случаях движок присваивает одно и тоже...
            $buy_now = $this->getBuyNowButton($array, $array);
            $buy_now_new = $this->getBuyNowButtonNew($array, $array);

За исключением того, что мы поправили, а то есть, Если $array == '0' то мы убрали кнопку купить...
Вопрос, а где это кнопка пропадет и что вобще означает $array ???
Что за параметр у товара products_fsk18? он вообще нужен?

Я бы посмотрел функцию getBuyNowButton(); Ты имел в виду её переписать?

Я немного не догнал, как и что переписывать...
Формирование кнопки купить - это прибыль, святая из святых, не хотелось бы ошибиться..  ;D


нужно os_href_link переписывать. (includes\functions\include.php)

вечером поковыряюсь.

очень аккуратно нужно править, потому быстро не получится :)


Спасибо... Я тож посмотрю попозже...


магазин заработал, жертва оказалась кнопка КУПИТЬ


Ну это понятно надо только код порыть, посмотреть как сделать так чтою одна кнопочка столько ресурсов не жрала...


выложите исправленную версию уже



выложите исправленную версию уже


как только, так сразу


Салют чуваки, что там с исправлением?


Что то долговато с исправлением, народ может поторопитесь, это всетаки важная тема, потому что мой магазин вылетает каждые 30 минут из за нагрузки на сервер...

Когда будет патч??? уже почти неделя прошла...


Когда будет патч??? уже почти неделя прошла...


неделя это не срок.

там где я написал - закоментировать код.

и в шаблоне вручную добавить код кнопки



например в  themes\default\module\new_products_default.html
заменить
{$module_data.PRODUCTS_BUTTON_BUY_NOW_NEW}


на
<a href="index.php?action=buy_now&BUYproducts_id={$module_data.PRODUCTS_ID}"><img src="{$tpl_path}buttons/ru/cart_big.gif" width="70" height="54" /></a>


естественно для ajax корзины и seo url код будет другим.


Что то долговато с исправлением, народ может поторопитесь, это всетаки важная тема, потому что мой магазин вылетает каждые 30 минут из за нагрузки на сервер...


хостинг помощнее стоит заказать. или движок другой подобрать.
ибо на данный момент скрипт кушает столько ресурсов, а что будет после правок - будет после правок :).

ну будет на некоторых страницах меньше кушать, но на дешевых шаред хостингах все равно летать не будет.


и к чему это все?

не нравится - не используем.

выбора хватает

Если при оптимизации кнопки "купить" производительность увеличивается в 6 раз, то это означает что нужно просто переписать код кнопки...


не все там так просто. тут зацепляет пол движка. формирование ссылок.

яж писал что не 5 минут тут все поправить. 


да и если где и ляпнул о сроках. еще ничего не значит


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


Настройки - Основные - Картинки - Вычислять размер картинки - Нет

на локальном в рыза быстрее работает


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


злой Евгений все удалил :)

не прошло цензуру


Источник



Copyright ShopOS