Как это в моей ошибке регистрирует каждый сейчас, а затем и хотят, чтобы выяснить вопрос:SQLSTATE [HY000] [2002] Тайм-аут соединения
[04-Oct-2014 13:25:42 America/Chicago] Failed to connect to database: SQLSTATE[HY000] [2002] Connection timed out [04-Oct-2014 13:25:42 America/Chicago] PHP Fatal error: Call to a member function prepare() on a non-object in /home/spconlin/public_html/spc_app/app/add_log.php on line 28
Connect скрипт:
<?php
if(!defined('INCLUDE_CHECK')) die('You are not allowed to execute this file directly');
// db config
$db_host = '127.0.0.1';
$db_database = '*****';
$db_user = '*****';
$db_pass = '*****';
//db connection
try {
$db = new PDO("mysql:host=$db_host;dbname=$db_database;charset=utf8", $db_user, $db_pass,
array(
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //PDO::ERRMODE_SILENT is default setting
PDO::ATTR_PERSISTENT => false
)
);
}
catch(PDOException $e) {
error_log("Failed to connect to database: ".$e->getMessage());
}
?>
Что я сделал:
- переключатель с 'lo calhost»на 127.0.0.1 в связи
- выключателя постоянных соединений с ложной
Перед выполнением вышеуказанных изменений в моей связи я получал SQLSTATE[HY000] [2002] Resource temporarily unavailable
, а не connection timed out
, как показано выше.
Некоторая справочная информация - этот скрипт add_log.php, в частности, добавляет информацию в базу данных до нескольких раз в секунду, когда она фактически используется. Хотя почти 99% времени этот конкретный скрипт упоминается в ошибке, иногда другие. Я понимаю, что сценарий, на который указывает, действительно ничего не значит, потому что это не то место, где происходит ошибка (это происходит в соединении, а не сценарий add_log.php), но это странно, что почти всегда этот конкретный файл ссылается, что приводит меня верить тому, что он называется так часто подряд, является частью проблемы.
БД является innodb.
На самом деле это проблема с моим сервером и db или подключенным к нему человеком/компьютером? Возможно ли, что «у них плохая связь с« мной », и это вызывает ошибку?
EDIT:
Может быть, таким образом, который я, требующий моего соединять скрипт на страницах он нужен? Так как файл «попал» довольно часто, он также будет требовать от моего скрипта подключений так же, как в приведенной ниже строке. Обратите внимание, что я использую $_SERVER['DOCUMENT_ROOT']
(может ли это повлиять?).
require $_SERVER['DOCUMENT_ROOT'].'/custom/functions/connect.php';
Можете ли вы войти в свой db с клиентом? без php? Нормально это проблема ресурса mysql –
какая строка кода находится в строке add_log.php 28? Он, похоже, не является частью кода, который вы включили. – mschuett
Это не имеет значения, как указано в op. Ошибка происходит в соединении, тогда она запускается при следующем использовании $ db.В скриптах нет «ошибок» - они работают нормально - я не могу воспроизвести эту ошибку самостоятельно, и это не происходит все время. – user756659