Sivu 1/1

mitä tarkoittaa tämä debug mode?

Lähetetty: 16 Marras 2006, 13:24
Kirjoittaja irma
Hei,

osaako joku tulkita tämä debug moden joka tulee vastaan foorumille kirjautumisen jälkeen kun yritän avata lukematta olevia viestejä?


Could not obtain post/user information.

DEBUG MODE

SQL Error : 1016 Can't open file: 'phpbb_posts_text.MYI' (errno: 145)

SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM phpbb_posts p, phpbb_users u, phpbb_posts_text pt WHERE p.topic_id = 20 AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time ASC LIMIT 60, 15

Line : 403
File : viewtopic.php

Lähetetty: 16 Marras 2006, 13:38
Kirjoittaja Lurttinen
Sulla on toi phpbb_posts_text taulu korruptoitunut.
Aja sille REPAIR komentoa, tai tämä skripti selaimen avulla.
Tee siitä vaikka korjaa.php tiedosto ja siirrä se foorumin juurihakemistoon.
Voit mahdollsiesti joutua ajamaan sen useammin, kuin kerran.

Koodi: Valitse kaikki

<?php 
// Check and repair all tables in a PHPBB structure 

// verify that we're supposed to run 
// change 'PX42m3' to something unique for your site, so it will only 
// execute if you call it as 'http://mysite.com/fixtables.php?PX42m3=1' 
if (!isset($_GET['PX42m3'])) 
{ 
   header("Location: http://127.0.0.1/"); 
   die(); 
} 

define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'config.php'); 

// connect to the database server 
$db = mysql_connect($dbhost,$dbuser,$dbpasswd); 
if (!$db) die("Unable to connect to database!\n"); 

// select the PHPBB database 
mysql_select_db($dbname,$db); 

// get a list of tables for this PHPBB 
$tablequery = "show tables like '".$table_prefix."%'"; 
$tablelist = mysql_query($tablequery,$db); 


// cycle through them for repair 
while ($tar = mysql_fetch_array($tablelist)) 
{ 
   $tablename = $tar[0]; 
   // output some verbosity for comfort 
   echo "Now checking and repairing table $tablename ... "; 
   $repres = mysql_query("REPAIR TABLE $tablename"); 
   $result = mysql_fetch_array($repres); 
   echo $result['Msg_text'] . "<br>\n"; 
} 

?>

Lähetetty: 16 Marras 2006, 13:58
Kirjoittaja irma
Nyt kävi niin onnellisesti, että palveluntarjoaja teki tässä välissä tämän tai muun korjaavan toimenpiteen. Homma skulaa nyt eikä mun tarvitse ajaa tätä skriptiä... säilytän sen kuitenkin vastaisen varalle. Tattista taas. :D :mrgreen:

kuin

Lähetetty: 18 Marras 2006, 20:39
Kirjoittaja strato
Mistä tuo REPAIR löytyy?

Lähetetty: 18 Marras 2006, 20:46
Kirjoittaja Lurttinen
REPAIR on komento, joten sellaisen voi löytää vaikka phpmyadminista tai vaikka palveluntarjoajan omasta hallintapaneelista.

Repair = korjaa, jne...

mitenkäs

Lähetetty: 18 Marras 2006, 20:49
Kirjoittaja strato
Tohon phpmyadminiin pääsikään? Kun on taas tovi menny kun oon tarttenu :(

Lähetetty: 18 Marras 2006, 20:52
Kirjoittaja Lurttinen
Se riippuu sun palveluntarjoajasta mihin on laittanut sen, tai sitten jos olet asentanut sen itse.

apache

Lähetetty: 18 Marras 2006, 20:57
Kirjoittaja strato
oma serveri käytössä siis apache.

Koitin ajaa selaimella tuon "korjaa" filun niin tulee selaimeen vaan tämmöinen: \n"; } ?>

niin

Lähetetty: 18 Marras 2006, 22:06
Kirjoittaja strato
Miten siis pääsen käsiksi siihen missä luodaan ja poistetaan tietokantoja selaimen kautta???? En kyl tajuu missä/miten tuota REPAIR komentoa käytetään :(

Lähetetty: 18 Marras 2006, 22:12
Kirjoittaja Lurttinen
Ok, eli sulla ei ole siis mitään asennettuan vielä.

Sun täytyy käydä lataamassa sitten tuo phpmyadmin sen valmistajan sivuilta ja asentaa se.
Sitten onnistuu käskyjen suorittaminen.
Käytännössä valitset eka siitä sen tietokannan ja se listaa sulle ne taulut siihen viereen.

Sen jälkeen valitset niistä haluamasi ja alareunasta vetovalikosta REPAIR.