Jump to content
Sign in to follow this  
VasyaAg

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

Recommended Posts

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

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

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) Или заменить на какой-либо свой текст или ссылку на другую страницу?

Спасибо.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

 

добавьте в .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);

 

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

Share this post


Link to post
Share on other sites

/system/library/db/mysql.php

 

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

Share this post


Link to post
Share on other sites

В оба 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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • 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.