Перейти к содержанию
VasyaAg

Скрыть ошибки mySql

Рекомендуемые сообщения

Здравствуйте. Периодически на хостинге возникают проблемы (все равно уйду на другой скоро, надоели.) из-за чего отваливается база данных и сайт даже по ФТП недоступен.

Однако, при попытке зайти на сайт, вываливаются пара соответствующих ситуации ошибок примерно со следующими заголовками:

Warning: mysql_connect(): Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in......

Warning: mysql_query() expects parameter 2 to be resource, boolean given in......

Error No: 
SELECT * FROM store WHERE REPLACE(`url`, 'www.', '') = '' in .......


Как их можно скрыть? (сервер на apache) Или заменить на какой-либо свой текст или ссылку на другую страницу?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в настройках магазина в админ части, есть закладка сервер там есть

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Сама эта настройка "Показывать ошибки" (`setting` VALUES (13421, 0, 'config', 'config_error_display', '0', 0);) находится в базе данных, каким образом сайт должен её получить, когда база недоступна?

Нужно решение на уровне хостинга, вроде какой-то настройки файлов php.ini или .htaccess.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пробуйте так:

 

добавьте в .htaccess три строки:

php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off

 

А в php.ini две:

display_errors = Off;
error_reporting(0);

 

только это не панацея - ищите нормального хостера

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/system/library/db/mysql.php

 

в нем все подключения, попробуйте тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В оба index.php перед

// Configuration
if (file_exists('config.php')) {
	require_once('config.php');
}  

вставьте:

function mysql_error_handler($errno, $errstr, $errfile, $errline) {
    if(strpos($errstr, 'Lost connection to MySQL server')) {
        die(iconv( "utf-8", "windows-1251", 'Идут технические работы, пожалуйста, зайдите позже...'));
    }
	return true;
}
// Error MySQL Handler
set_error_handler('mysql_error_handler');

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

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