Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Maximum execution time of 30 seconds exceeded - o co chodzi
Forum PHP.pl > Forum > PHP
assasin
http://94.23.43.166/bans.php
Kod
[b]Fatal error[/b]:  Maximum execution time of 30 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line [b]48[/b]

Wszystko dobrze chodziło, gdy przeniosłem ten skrypt na serwer dedykowany przestało, wywala mi powyższy błąd.. stronka się bardzo długo ładuje, i nie wyświetla całej zawartości bazy.

Kod /modules/bans.php
Kod
<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$data = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr");  



$data = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100");  
$ban_data = mysql_fetch_array($data);
do
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Íŕâńĺăäŕ' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  
while ($ban_data = mysql_fetch_array($data));  
?>  



<?  
require_once "conf/config.php";  
$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned");  
$ip_data = mysql_fetch_array($ip);
do
{
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
while ($ip_data = mysql_fetch_array($ip));
?>
</table>
</body>
</center>


</td>

</table>
Lejto
ustawienia php
maksymalny czas ładowania skryptu to 30 sekund
zrób coś z tym skryptem bo nie może się tak długo ładować
assasin
No tak ale co?
Lejto
nie wyświetlaj od razu 100 rekordów na raz
masz indeksy porobione?
jaki masz typ tabeli?
assasin
Główny index
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Guild List - Legend</title>
<link rel="stylesheet" media="screen" type="text/css" href="styles/styles.css" />
<script type="text/javascript" src="scripts/scripts.js">
</script>
</head>
<body bgcolor="white">
</table>
<tr>
<td><?php include("modules/guild.php") ?> </td>
</tr>
</table>

</tr>
</table>
</html>

Jest jeszcze plik konfiguracyjny nic ciekawego w nim nie ma;/
Lejto
chodziło mi o indeksy w tabeli winksmiley.jpg
ogranicz limit w zapytaniu i w phpmyadmine użyj opcji optymalizacji tabel
assasin
Hah ty nie piszesz do super pro programisty php tylko do super pro amatora php.
Tak wygląda baza:
Kod
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for account_banned
-- ----------------------------
CREATE TABLE `account_banned` (
  `id` int(11) NOT NULL default '0' COMMENT 'Account id',
  `bandate` bigint(40) NOT NULL default '0',
  `unbandate` bigint(40) NOT NULL default '0',
  `bannedby` varchar(50) NOT NULL,
  `banreason` varchar(255) NOT NULL,
  `active` tinyint(4) NOT NULL default '1',
  PRIMARY KEY  (`id`,`bandate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Ban List';

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `account_banned` VALUES ('3961', '1238835095', '123892149', 'Agrael', 'Reklama', '0');
INSERT INTO `account_banned` VALUES ('3961', '1238835275', '127037127', 'Agrael', 'Reklama Ixiona', '0');
INSERT INTO `account_banned` VALUES ('4934', '1239131500', '1270667500', 'Agrael', 'Reklama Combat', '1');
INSERT INTO `account_banned` VALUES ('4934', '1239131515', '12391315158888', 'Faldir', 'Reklama Ixion', '1');
INSERT INTO `account_banned` VALUES ('4242', '1239191195', '1239191195', 'Griwen', 'Wyludzanie Golda od gm-a', '1');
INSERT INTO `account_banned` VALUES ('4242', '1239191223', '1239191223', 'Griwen', 'Wyludzanie Golda od gm-a', '1');
INSERT INTO `account_banned` VALUES ('4388', '1239218058', '1239218058', 'Lukas', 'Reklama Combat', '1');
INSERT INTO `account_banned` VALUES ('1167', '1239538124', '2944570768', 'Griwen', 'Reklama exclamation.gif!', '1');
INSERT INTO `account_banned` VALUES ('5141', '1239634050', '1240238850', 'Ofiell', 'FH i SH ', '0');
INSERT INTO `account_banned` VALUES ('1438', '1239635122', '1239635422', 'Griwen', 'Zebra od GMa exclamation.gif!', '0');
INSERT INTO `account_banned` VALUES ('21', '1239640405', '1239726805', 'Holte', 'Wulgaryzmy', '0');
INSERT INTO `account_banned` VALUES ('5416', '1239708908', '1951196012', 'Griwen', 'Zal mi cie', '1');
INSERT INTO `account_banned` VALUES ('5416', '1239709068', '2236904784', 'Griwen', 'Zal mi cie idz grac w Tibie || Griwen', '1');
INSERT INTO `account_banned` VALUES ('4502', '1239710067', '1239710127', 'Griwen', 'Test Griwenek :P', '0');
INSERT INTO `account_banned` VALUES ('4502', '1239710111', '1239710171', 'Griwen', 'Testus Griwenek :P', '0');
INSERT INTO `account_banned` VALUES ('4502', '1239710304', '1239710364', 'Agrael', 'test',
'0');


Kod
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for ip_banned
-- ----------------------------
CREATE TABLE `ip_banned` (
  `ip` varchar(32) NOT NULL default '127.0.0.1',
  `bandate` bigint(40) NOT NULL,
  `unbandate` bigint(40) NOT NULL,
  `bannedby` varchar(50) NOT NULL default '[Console]',
  `banreason` varchar(255) NOT NULL default 'no reason',
  PRIMARY KEY  (`ip`,`bandate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Banned IPs';

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `ip_banned` VALUES ('79.184.96.152', '1238703994', '9223372036854775807', 'Faldir', 'Reklama ShadowGate');
okitoki
jak ci admin nie zabronił to to zmodyfikuj na początku skryptu daj np. set_time_limit(120); masz wtedy 1,5 min smile.gif
assasin
W którym miejscu?
okitoki
gdzie ci pasuje
assasin
Hmm mi się wczytuje stronka teraz 1,5 minuty..
Wyskakuje:
Kod
[b]Fatal error[/b]:  Maximum execution time of 120 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line [b]48[/b]

do tego się jeszcze nie wczytało się wszystko z bazy.
Jest jakiś inny sposób??
Lejto
nie możesz mieć tak żeby strona ładowała ci się tyle
zrób to co napisałem wcześniej
assasin
Kod
ogranicz limit w zapytaniu i w phpmyadmine użyj opcji optymalizacji tabel

Możesz mnie naprowadzić? nie wiem gdzie mam szukać.
okitoki
dodaj miszczu do swojego skryptu php funkcje
  1. <?php
  2. ?>
assasin
To co wcześniej stronka wczytuje się bardzoooo długo, i jest znów ten błąd:
Kod
Fatal error:  Maximum execution time of 120 seconds exceeded in /var/www/modules/bans.php[/b] on line [b]48

http://94.23.43.166/bans.php
Dodam jeszcze żę skrypt łączy się z bazą na localhoscie.
michalg
Co dokładnie jest w 48 linii pliku bans.php?

Pozatym, nie powinien to być problem powolnego wykonywania zapytania, bo w time_limit nie wliczają się zapytania do bazy (i inne operacje, chyba że na windowsie).
okitoki
daj ten skrypt na forum, przeanalizujemy go
assasin
Główny index (wyświetla skrypt)
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ban list - Legend</title>
<link rel="stylesheet" media="screen" type="text/css" href="styles/styles.css" />
<script type="text/javascript" src="scripts/scripts.js">
</script>
</head>
<body body background="images/tlo.jpg" bgproperties="fixed" bgposition="center"
>
<td><?php include("modules/bans.php") ?> </td>
</tr>
</table>

</tr>

</html>

Skrypt:
Kod
<?php
set_time_limit(120);
?>

<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$data = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr");  



$data = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100");  
$ban_data = mysql_fetch_array($data);
do
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Perm' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  
while ($ban_data = mysql_fetch_array($data));  
?>  



<?  
require_once "conf/config.php";  
$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned");  
$ip_data = mysql_fetch_array($ip);
do
{
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
while ($ip_data = mysql_fetch_array($ip));
?>
</table>
</body>
</center>


</td>
</table>
okitoki
skąd ciągniesz te dane mysql i ile jest rekordów
chodzi o to pytanie
SELECT ip, bandate, unbandate, banreason FROM ip_banned
SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE
account_banned.id = account.id AND active = 1 ORDER BY bandat

ten mysql cie tak obciąża, albo to są potężne bazy, albo serwer mysql lub łącze jest mocno obciążony
megawebmaster
A ja bym powiedział, że w skrypcie musi być gdzieś nieskończona pętla tongue.gif Czyli coś jest źle skonstruowane. Przecież potężne skrypty oparte na frameworkach nie wykonują się tyle czasu (najwyżej do sekundy widziałem)!
okitoki
Cytat(megawebmaster @ 8.05.2009, 10:25:50 ) *
A ja bym powiedział, że w skrypcie musi być gdzieś nieskończona pętla tongue.gif Czyli coś jest źle skonstruowane. Przecież potężne skrypty oparte na frameworkach nie wykonują się tyle czasu (najwyżej do sekundy widziałem)!


raczej nie tu, bo się część tabeli robi, 120s przerywa ją po kilku rekordach. kiedyś dostałem do poprawy statystyki i tam 1 zapytanie wykonywało się 6min, bo w bazie nie było indexów, ja je dodałem to czas odpowiedzi skrócił się do 10s, ostatecznie skróciłem je poniżej 1 sek.

podejrzewam że serwer mysql jest oddzielną maszyną gdzieś w świecie,
jakie ma łącze to nie wiadomo,
jak jest obciążone, nie wiadomo,
jaka jest wielka baza na której operuje nie wiadomo
czy są indexy tez nie wiadomo
assasin
Baza i skrypt są na jednym serwerze wiem bo sam instalowałem, system ubuntu server 8.10.
Skrypt z bazą łączy się za pomocą localhostem.
W account_banned i ip_banned jest mało rekordów około 100.
Tutaj zapodaje wam link do skryptu działającego na tej samej zasadzie ale łączącego się z inną bazą i innymi tabelami na tym samym serwerze.
http://94.23.43.166/guild.php
Czas ładowania poniżej 1s
okitoki
jesteś wstanie dać do tego dostęp przez np ssh
assasin
Nie;/
okitoki
a jakis inny dostep by operowac na źródle.
assasin
Ale chodzi ci o tabele?? mogę kopie wrzucić tutaj.
Bart77
Cytat(okitoki @ 7.05.2009, 09:52:42 ) *
set_time_limit(120); masz wtedy 1,5 min smile.gif


Chyba 2 min ? winksmiley.jpg

A do autora wątku: zrób w zapytaniu LIMIT 1 i sprawdź wtedy. Skrypt jest poprawny, to musi być wina połączenia - tylko nie wiadomo, co zamula.

I jeszcze jedno: zakomentuj drugą część skryptu (tą, gdzie jest SELECT ip, bandate, unbandate, banreason FROM ip_banned) i sprawdź wtedy.
okitoki
ups smile.gif, tak to jest jak się liczyć nie potrafi, rutyna mnie zgłubi ...........
assasin
http://94.23.43.166/bans.php
Kod
[b]Fatal error[/b]:  Maximum execution time of 1 second exceeded in [b]/var/www/modules/bans.php[/b] on line [b]52[/b]


Nie wyświetla wszystkiego z ip_banned
okitoki
a zmień nazwę połączenia z $data na coś innego np $sql

bo masz

$data = mysql_connect
........
$data = mysql_query
........
Bart77
Fakt! To może być to smile.gif

A LIMIT 1 to miało w zapytaniu być, a nie w set_time_limit :]
assasin
Dalej to samo;/
Bart77
A jak teraz wygląda kod?
okitoki
bart77 miał na mysli bys dał limit w zapytaniu sql-a na 1 rekord i cos zaremował komentarzem by to wyłączyć
assasin
http://94.23.43.166/bans.php

Kod
Warning:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/modules/bans.php on line 34[/b]
        
  [b]Fatal error[/b]:  Maximum execution time of 30 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line 48


Kod
<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$sql = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr");  



$sql = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100");  
$ban_data = mysql_fetch_array($sql);
do
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Perm' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  
while ($ban_data = mysql_fetch_array($data));  
?>  



<?  
require_once "conf/config.php";  
$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned");  
$ip_data = mysql_fetch_array($ip);
do
{
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
while ($ip_data = mysql_fetch_array($ip));
?>
</table>
</body>
</center>


</td>
</table>
Bart77
Wklej kod bo tak go nie ściągniemy smile.gif
okitoki
sprawdź to

Kod
<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$sql = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr",$sql);  



$data = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100", $sql);  
while ($ban_data = mysql_fetch_array($data))  
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Íŕâńĺăäŕ' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  

$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned", $sql);  
while ($ip_data = mysql_fetch_array($ip))
{
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
?>
</table>
</body>
</center>


</td>
assasin
Kod
[b]Fatal error[/b]:  Maximum execution time of 30 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line [b]40[/b]


Hmmm
okitoki
teraz to

Kod
<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$sql = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr",$sql);  


/*
$data = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100", $sql);  
while ($ban_data = mysql_fetch_array($data))  
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Íŕâńĺăäŕ' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  
*/
$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned", $sql);  
while ($ip_data = mysql_fetch_array($ip))
{
print_r($ip_data);
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
?>
</table>
</body>
</center>


</td>
assasin
Kod
Array (     [0] => 79.184.96.152     [ip] => 79.184.96.152     [1] => 1238703994     [bandate] => 1238703994     [2] => 9223372036854775807     [unbandate] => 9223372036854775807     [3] => Reklama ShadowGate     [banreason] => Reklama ShadowGate )
[b]Fatal error[/b]:  Maximum execution time of 30 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line [b]41[/b]
okitoki
masz jakiś błąd w dacie odblokowania dla tego rekordu 9223372036854775807

ta liczba /*92233*/72036854775807 daje nam 2022-09-16 02:14:55 a ty jeszcze tam masz 5 miejsc więcej na początku
assasin
Kod
Array (     [0] => 87.248.80.19     [ip] => 87.248.80.19     [1] => 1239218088     [bandate] => 1239218088     [2] => 1239218088     [unbandate] => 1239218088     [3] => reklama     [banreason] => reklama ) Array (     [0] => 79.191.123.82     [ip] => 79.191.123.82     [1] => 1241264548     [bandate] => 1241264548     [2] => 1241264548     [unbandate] => 1241264548     [3] => .....     [banreason] => ..... ) Array (     [0] => 89.230.9.67     [ip] => 89.230.9.67     [1] => 1241268019     [bandate] => 1241268019     [2] => 1241268019     [unbandate] => 1241268019     [3] => klamca     [banreason] => klamca ) Array (     [0] => 89.229.198.129     [ip] => 89.229.198.129     [1] => 1241455171     [bandate] => 1241455171     [2] => 1241455171     [unbandate] => 1241455171     [3] => reklama     [banreason] => reklama ) Array (     [0] => 79.184.156.193     [ip] => 79.184.156.193     [1] => 1241531660     [bandate] => 1241531660     [2] => 1241531660     [unbandate] => 1241531660     [3] => reklama     [banreason] => reklama ) Array (     [0] => 79.184.156.193     [ip] => 79.184.156.193     [1] => 1241548713     [bandate] => 1241548713     [2] => 1241548713     [unbandate] => 1241548713     [3] => .....     [banreason] => ..... ) Array (     [0] => 94.240.0.247     [ip] => 94.240.0.247     [1] => 1241633697     [bandate] => 1241633697     [2] => 5536597393     [unbandate] => 5536597393     [3] => Obrazanie gma i prosba o S4 || Griwen     [banreason] => Obrazanie gma i prosba o S4 || Griwen ) Array (     [0] => 84.40.210.47     [ip] => 84.40.210.47     [1] => 1241706538     [bandate] => 1241706538     [2] => 1241706538     [unbandate] => 1241706538     [3] => ....     [banreason] => .... ) Array (     [0] => 78.8.102.124     [ip] => 78.8.102.124     [1] => 1241731096     [bandate] => 1241731096     [2] => 1241731096     [unbandate] => 1241731096     [3] => ....     [banreason] => .... ) Array (     [0] => 83.5.173.1     [ip] => 83.5.173.1     [1] => 1241785432     [bandate] => 1241785432     [2] => 1241785432     [unbandate] => 1241785432     [3] => ......     [banreason] => ...... )


Teraz takie coś mam
A to jest cała baza ip_banned
Kod
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for ip_banned
-- ----------------------------
CREATE TABLE `ip_banned` (
  `ip` varchar(32) NOT NULL default '127.0.0.1',
  `bandate` bigint(40) NOT NULL,
  `unbandate` bigint(40) NOT NULL,
  `bannedby` varchar(50) NOT NULL default '[Console]',
  `banreason` varchar(255) NOT NULL default 'no reason',
  PRIMARY KEY  (`ip`,`bandate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Banned IPs';

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `ip_banned` VALUES ('87.248.80.19', '1239218088', '1239218088', 'Lukas', 'reklama');
INSERT INTO `ip_banned` VALUES ('79.191.123.82', '1241264548', '1241264548', 'Lukas', '.....');
INSERT INTO `ip_banned` VALUES ('89.230.9.67', '1241268019', '1241268019', 'Lukas', 'klamca');
INSERT INTO `ip_banned` VALUES ('89.229.198.129', '1241455171', '1241455171', 'Lukas', 'reklama');
INSERT INTO `ip_banned` VALUES ('79.184.156.193', '1241531660', '1241531660', 'Faldirek', 'reklama');
INSERT INTO `ip_banned` VALUES ('79.184.156.193', '1241548713', '1241548713', 'Lukas', '.....');
INSERT INTO `ip_banned` VALUES ('94.240.0.247', '1241633697', '5536597393', 'Griwen', 'Obrazanie gma i prosba o S4 || Griwen');
INSERT INTO `ip_banned` VALUES ('84.40.210.47', '1241706538', '1241706538', 'Lukas', '....');
INSERT INTO `ip_banned` VALUES ('78.8.102.124', '1241731096', '1241731096', 'Lukas', '....');
INSERT INTO `ip_banned` VALUES ('83.5.173.1', '1241785432', '1241785432', 'Lukas', '......');
okitoki
daj to i powinno być ok
Kod
<table align="center" width = 600  height = 300 border = 0>
<td>

<center>
<body>
<table border=1>
<tr>
<td><b>Konto\IP</b></td>
<td><b>Data wystawienia</b></td>
<td><b>Data odblokowania</b></td>
<td><b>Powód</b></td>
</tr>
<?  

require_once "conf/config.php";  

$sql = mysql_connect("$host", "$user", "$password") or die ("Íĺň ńîĺäčíĺíč˙ ń őîńňîě");  
    mysql_select_db("$dbr",$sql);  



$data = mysql_query("SELECT bandate, unbandate, banreason, username FROM account_banned, account WHERE  
account_banned.id = account.id AND active = 1 ORDER BY bandate DESC LIMIT 100", $sql);  
while ($ban_data = mysql_fetch_array($data))  
{
echo '<tr>';
echo '<td>'.$ban_data['username'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ban_data['bandate']).'</td>';
echo '<td>'.($ban_data['bandate'] == $ban_data['unbandate'] ? 'Íŕâńĺăäŕ' : date("Y-m-d H:i:s", $ban_data['unbandate'])).'</td>';
echo '<td>'.$ban_data['banreason'].'</td>';
echo "</tr>\n";
}  

$ip = mysql_query("SELECT ip, bandate, unbandate, banreason FROM ip_banned", $sql);  
while ($ip_data = mysql_fetch_array($ip))
{
echo '<tr>';
echo '<td>'.$ip_data['ip'].'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['bandate']).'</td>';
echo '<td>'.date("Y-m-d H:i:s", $ip_data['unbandate']).'</td>';  
echo '<td>'.$ip_data['banreason'].'</td>';
echo "</tr>\n";  
}  
?>
</table>
</body>
</center>


</td>
assasin
Kod
[b]Fatal error[/b]:  Maximum execution time of 30 seconds exceeded in [b]/var/www/modules/bans.php[/b] on line [b]40[/b]

To samo
okitoki
wybacz to już mój ostatni post na ten temat
znajdź rekord w bazie z takim adresem ip 79.184.96.152 i zmień mu date banowania albo go usuń wogóle, on zbyt odlęgłą date ma i funkcja date sie wiesza przez to, najlepiej wszystkie znajdź co mają większą date niż składającą się z 14 cyfr
assasin
To ma związek z bazą danych nie z kodem skryptu, wgrałem inny skrypt i dalej to samo:
http://94.23.43.166/bany.php
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/bany.php on line 50


Co oznacza ten błąd?
okitoki
zły login lub hasło
Bart77
Zróbmy tak: dam Ci kod paru skryptów, będziesz je po kolei wrzucał na serwer i podawał mi wyniki. Wklejam po kolei, bo kolejne skrypty zależą od wyników poprzednich. Zaczynamy:

  1. <?php
  2.  
  3. echo 'DB test<br /><br />';
  4.  
  5. if ( false === function_exists('mysqli_connect') )
  6. {
  7.    echo 'Brak mysqli';
  8. }
  9. else
  10. {
  11.    echo 'Jest mysqli';
  12. }
  13.  
  14. ?>
okitoki
taki masz login do bazy questionmark.gif www-data
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.