Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Fatal error: Allowed memory size of

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Не могу найти ошибку
likvidator
Отправлено: 15 Мая, 2014 - 16:12:00
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


Доброго времени суток. Есть класс auth.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class auth {
  4. public function Doauth($login,$password) {
  5. $conn=data_base::getInstance();
  6. return $this->log_send($login,hash('sha512',$password.$login),session_id(),$conn);}
  7.  
  8. private function log_send($login, $password,$ssid,$conn){
  9.                                 $user_data=user::user_init($password,'password');
  10.                                 if(is_array($user_data)){
  11.                                 $_SESSION['user']['type']=$user_data['type'];
  12.                                 if($ssid != $user_data['ssid'] AND $user_data['ssid'] != 'none'){
  13.                 session_write_close();
  14.                 session_id($user_data['ssid']);
  15.                 session_start();
  16.                 session_destroy();
  17.                 session_id($ssid);
  18.                 session_start();
  19.                 $stmt =$conn->prepare("UPDATE users SET ssid=? WHERE login=?");
  20.                 $stmt->bind_param('ss',$ssid,$login);
  21.                 $stmt->execute();}
  22.                                 return $user_data;
  23.                                 }else{
  24.                                 return 'Пара логин/пароль не совпадают!<br><br>';}
  25.         }  
  26. }
  27. ?>
  28.  

И класс user.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class user
  4.  {
  5.  static private $data = null;
  6.  static function user_init($login,$sel='login'){
  7.  if(self::$data === null){
  8.  $sel=($sel=='login') ? 'login' : 'password';
  9.                 $stmt=data_base::getInstance()->prepare("SELECT id,login,fio,ssid,date,type FROM users WHERE $sel=? LIMIT 1");
  10.                 $stmt->bind_param('s',$login);
  11.                 $stmt->execute();
  12.                 $stmt->bind_result($_data['id'],$_data['login'],$_data['fio'],$_data['ssid'],$_data['date'],$_data['type']);
  13.                 $stmt->fetch();
  14.  self::$data =(empty($_data['ssid'])) ? 'false' : $_data;
  15. }
  16.  return self::$data;
  17.  
  18.  }
  19.  private function __construct(){}
  20.  private function __clone(){}
  21.  }
  22. ?>
  23.  

Не могу понять почему ое так много съедает оперативы
(Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) )
Хотя на локалке под опенсервером все нормально(4гб в принципе нету на компе).
 
 Top
Zuldek
Отправлено: 15 Мая, 2014 - 16:19:51
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Код скрипта в котором возникает ошибка целиком и № строки где она возникает.
Fatal error возвращает строку ошибки.
Проверять на светлой стороной силы владение не надо нас.

(Отредактировано автором: 15 Мая, 2014 - 16:20:38)

 
 Top
likvidator
Отправлено: 15 Мая, 2014 - 16:22:20
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes) in user.php on line 13
 
 Top
OrmaJever Модератор
Отправлено: 15 Мая, 2014 - 16:30:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




ого, при limit 1 из базы выбирается 4гб Не понял а что в таблице хранится?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Zuldek
Отправлено: 15 Мая, 2014 - 16:32:35
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




OrmaJever пишет:
ого, при limit 1 из базы выбирается 4гб Не понял а что в таблице хранится?

При вызове но ни разу не из-за вызова конкретно этого метода.
Память другим засирается.
Код вызова класса где в тот момент когда ошибка возникает?

(Отредактировано автором: 15 Мая, 2014 - 16:36:04)

 
 Top
likvidator
Отправлено: 15 Мая, 2014 - 16:34:11
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


OrmaJever пишет:
ого, при limit 1 из базы выбирается 4гб а что в таблице хранится?

да в том-то и дело,что ничего толком там и нет. Просто инфа по юзерам.

(Добавление)
Zuldek пишет:
Код вызова класса где?

AUTH.PHP
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include_once '../class/auth.php';
  3. $auth= new auth;
  4. $data=$auth->Doauth($_POST['login'],$_POST['pass']);
  5. if(!is_array($data)){
  6. echo $data;
  7. ?>

CODE (html):
скопировать код в буфер обмена
  1. <div id="result_reg"><form id='form_reg' action="" onsubmit="send_form('reg');return false;">
  2. Логин: <input class="err" name="login" type="text" size="15" value="<?=$_POST['login']?>"><br><br>
  3. Пароль: <input class="err" name="pass" type="password" size="15"><br><br>
  4. <input id="reg_btn" type="submit" value="отправить">
  5. </form></div>

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. }else{
  4. include '../adm/main.htm';}
  5. ?>

(Отредактировано автором: 15 Мая, 2014 - 16:36:51)

 
 Top
Zuldek
Отправлено: 15 Мая, 2014 - 16:39:21
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Отчет xdebug при запросе при котором fatal возникает как выглядит?
 
 Top
likvidator
Отправлено: 15 Мая, 2014 - 16:43:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


Zuldek пишет:
Отчет xdebug при запросе при котором fatal возникает как выглядит?

Понятия не имею... На локалке такой проблемы нет,а у хостера вродь не установлен
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB