Jump to content

Recommended Posts

Posted (edited)

Добрый день!

Помогите, пожалуйста, разобраться в проблеме. С июля месяца в таблице oc_setting слетает тип поля value. По умолчанию стоит mediumtext, но по не понятной мне закономерности и периодичности, тип поля меняется на text. В связи с этим обрезаются настройки, которые превышают 65тыс символов и модули перестают работать. Если настройки сохранить заново, то тип поля снова становиться mediumtext.

Поддержка хостинга сказала

Спойлер
Цитата

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

 

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

Спойлер

542635835_.thumb.jpg.3c64953b55a0c54bb938845f3a2fa3c0.jpg1328284561_.thumb.jpg.565e9f4a415f280ed2656cea8770c08b.jpg

 

Edited by Twix87

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
12 минут назад, SooR сказал:

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

ЗАЧЕМ!!!!!

Share this post


Link to post
Share on other sites

Включить логироование запросов
на предмет alter table

Share this post


Link to post
Share on other sites
1 минуту назад, chukcha сказал:

ЗАЧЕМ!!!!!

Как минимум для того, чтобы убедиться в том, что его настройки сохранятся правильно, а то вдруг там какой-то char(32) стоит

Share this post


Link to post
Share on other sites
14 минут назад, SooR сказал:

а то вдруг там какой-то char(32) стоит

в settings?

Это какой-то параноик...

 

Share this post


Link to post
Share on other sites
40 минут назад, chukcha сказал:

Включить логироование запросов
на предмет alter table

Подскажите, как включить такое логирование?

Share this post


Link to post
Share on other sites

ЕСТЬ такой метод

db->query($sql)

if pregmatch('#alter\s+table#i',sql) - логировать

  • +1 1

Share this post


Link to post
Share on other sites
9 часов назад, chukcha сказал:

ЕСТЬ такой метод

db->query($sql)

if pregmatch('#alter\s+table#i',sql) - логировать

Попытался это сделать на примере модификатора медленных запросов, но не получилось

Спойлер

<?xml version="1.0" encoding="utf-8"?>
<modification>
	<name>SQL Log</name>
    <version>0.1</version>
    <code>SQL Log</code>
    <author>Test</author>
	
	<file path="system/library/db.php">
		<operation>
			<search><![CDATA[
			return $this->db->query($sql);
			]]></search>
			<add position="replace"><![CDATA[			
        $file = debug_backtrace();
        $name = (!isset($file[0]['file'])) ? 'N/A' : $file[0]['file'];
        $start = (time() + microtime());
        $query_out = $this->db->query($sql);
        $end = (time() + microtime());
        if pregmatch('#alter\s+table#i',sql) {
        file_put_contents(DIR_LOGS.'sql_bug.log', ("\nСтраница:".$_SERVER['REQUEST_URI']."\nИсточник:" . $name . "\nВремя выполнения: " .  "мс \n\n" . $sql . "\n\n----------------------\n"), FILE_APPEND); }
        return $query_out;
			]]></add>
		</operation>
	</file>
</modification>

 

 

Share this post


Link to post
Share on other sites
3 минуты назад, Twix87 сказал:

Попытался это сделать на примере модификатора медленных запросов, но не получилось

 

if pregmatch('#alter\s+table#i',sql) {

замените на

 

if (preg_match('#alter\s+table#i',$sql)) {

 

Share this post


Link to post
Share on other sites

@SooR все равно не работает. Без этой части кода работает, но пишет в лог все запросы подряд. А с этим условием сайт падает.

Share this post


Link to post
Share on other sites

Вы модификатор медленных запросов отключите, а этот включите.

Да и с какими ошибками падает?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
22 минуты назад, SooR сказал:

Вы модификатор медленных запросов отключите, а этот включите.

Да и с какими ошибками падает?

Он не установлен.

Ошибки типа Undefined index в различных tpl файлах.

15 минут назад, Vetroff сказал:

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

Привет. Не могу точно вспомнить. Скорее всего обновлял какие-то модули.

 

Share this post


Link to post
Share on other sites
43 минуты назад, Twix87 сказал:

Попытался это сделать на примере модификатора медленных запросов, но не получилось

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

Наймите "решателя"

Share this post


Link to post
Share on other sites
4 минуты назад, Twix87 сказал:

Ошибки типа Undefined index в различных tpl файлах.

А причем здесь ошибки лога?

Это совсем другая задача и не сиюминутная

 

Share this post


Link to post
Share on other sites
14 минут назад, chukcha сказал:

Наймите "решателя"

За такой, модификатор Вы сколько возьмете?

Share this post


Link to post
Share on other sites
7 минут назад, Twix87 сказал:

 Вы сколько возьмете?

Ага.. ща..  на весь форум

Говоря о решателе - я говорил о решении проблемы, а не о модификаторе

Share this post


Link to post
Share on other sites
30 минут назад, chukcha сказал:

Ага.. ща..  на весь форум

Говоря о решателе - я говорил о решении проблемы, а не о модификаторе

Хорошо, напишу в ЛС

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.