مشکلی در دیتابیس

shz_furion

کاربر عضو
سلام و عرض ادب به دوستان.مشکلی در دیتابیس پیش اومده که باید سریع تر حل بشه.

منظور دقیق پشتیانی رو نفهمیدم.گفته شما باید کوئری های دیتا بیس رو نرمال کنید و از وقفه هایی که این کوئری ها ایجاد می کنند جلوگیری کنید

این وقفه ها رو چطور درست کنم؟فکر می کنم timeout داره.چون اطلاعات خیلی زیادی رد و بدل میشه و همچین مشکل هایی طبیعی هست.

پشتیبانی گفت این موارد مشکل داشته.لطفا به ارور دیتابیس توجه کنید:

themevie_hossein localhost themevie_like Query 0 Sending data SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = 'facebook-posts.blogfa.com/post/91' AND u

381 themevie_hossein localhost themevie_like_v2 Query 0 Sending data SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = 'http://designer-75.blogfa.com/post/110/K

382 themevie_hossein localhost themevie_like Query 0 Sending data SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = 'romanario.blogfa.com/post-1400.aspx' AND

383 themevie_hossein localhost themevie_like Query 0 Sending data SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = 'pezeshkiyazd91.blogfa.com/post/461' AND

باید چیکار کنم مشکل حل بشه؟ممنون میشم راهنمایی کنید.

 

alifiresoft

کاربر عضو
به نظرم شما برای لایک مطالبتون پلاگین یا افزونه ای نصب کردید که باعث این مشکل شده. اون رو غیر فعال کنید و ببینید درست میشه یا نه؟ البته با این کار ممکنه سایتتون بالا نیاد که برای حل این مشکل باید از داخل فایل های سایتتون اون قسمتی که مربوط به لایک هست رو هم پاک کنید.

 

webm_67

تازه وارد
این مشکل برای بنده هم پیش اومده ...

شما برای حل مشکلتون باید از طریق فایل php.ini و یا دستورات سمت سرور اقدام کنید ...

زمان وقفه درست توی ذهنم نیست اما کمتر از یک دقیقه (یا خود یک دقیقه) هست ...

شما اگه زمان وقفه رو از طریق این فایل بیشتر کنید مشکلتون حل می شه ...

اما توجه داشته باشید که سرعت لود سایتتون خیلی میاد پایین و از حالت استاندارد خارج می شه ...

مشکلی داشتید با پیام خصوصی بگید شاید تونستم بیشتر کمکتون کنم.

 

shz_furion

کاربر عضو
سلام.نه این افزونه نیست.برنامه ای هست که خودم گسترش دادم و به صورت خدماتی وبلاگ ها و وب سایت ها ازش استفاده می کنند.

زمان وقفه باید کم بشه یا زیاد؟؟؟

مشکلی از لحاظ سرعت نیست.سرعت وب سایت به قدری هست که با یه کم کم شدن مشکلی براش پیش نیاد.فقط میخوام کوئری ها نرمال بشه.گفتید با php.ini قابل حله.بیشتر توضیح می دید چطوری انجامش بدم؟؟؟

 

shz_furion

کاربر عضو
مشکل اینجاست که کوئری های غیر نرمال به پایگاه داده فرستاده میشه و باید اون ها رو شناسایی و از ورودشون به دیتابیس جلوگیری کنم.اگه کسی میتونه راهکاری بگه حل کنم.اگه کسی میتونه مشکل رو حل کنه،پ خ بده هزینه داشت پرداخت می کنم.

 

shz_furion

کاربر عضو
ببینید کدها به این صورت جمع آوری میشه.مشکلی هست توی جمع آوری؟؟؟


کد:
<?php
$plus = $_GET['plus'];
if($plus=='1'){$plus='1';$minus = '';}
elseif($plus=='-1'){$plus='';$minus = '1';}
$url=$_GET['url'];
$url=strtolower($url);
$url=str_replace('www.','',$url);
$url=str_replace('http://','',$url);
$url=str_replace('https://','',$url);
$page = $url;
$ip = $_SERVER['REMOTE_ADDR'];

    //Include your mysql connection file
    include 'mysql_conf.php';

    $ip = mysql_real_escape_string( $ip );
    $page = mysql_real_escape_string( $page );
    $plus = mysql_real_escape_string( $plus );    
    $minus = mysql_real_escape_string( $minus );    
    $uid ='true';

    //Lets see if the user / ip address has already liked the article on this page

    $query = mysql_query("SELECT u_id FROM tbllikes WHERE u_ip = '".$ip."' AND u_page = '".$page."' AND u_uid = '".$uid."' LIMIT 1");
    $count = mysql_num_rows( $query );

    //If the user hasn't then let's go ahead and add the like to the likes table
    //If there is an error lets output an error message, else lets go ahead and output a success message
    if(!$count)
    {
        $query = mysql_query("SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = '".$page."' AND u_uid = '".$uid."' LIMIT 1");
        $row = mysql_fetch_assoc( $query );

        $count = $row['u_count'] + 1;// add one to the database count for this specific article
        if(!empty($plus) && $plus=='1'){$plus='1';$minus='';}
        if(!empty($minus) && $minus=='1'){$plus='';$minus='1';}
        if( mysql_query("INSERT INTO tbllikes VALUES('','".$uid."','".$page."','".$plus."','".$minus."','".$ip."',NULL)") )//add record to table
        {
            $json = array("error"=>false, "message"=>"Successfully liked", "count"=>$count);
        {
            $json = array("error"=>true, "message"=>"Error: Could not process like");
        }
    }else
    {
        //This means we already have a like for this article on this page
        $json = array("error"=>true, "message"=>"Error: IP address already likes ".$uid." content from: ".$page);
    }

    $plus = $_GET['plus'];
if($plus=='1'){$plus='1';$minus = '';}
    $query = mysql_query("SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = '".$page."' AND u_plus = '1' LIMIT 1");
    $row = mysql_fetch_assoc( $query );
    $plus = $row['u_count'];

    $query = mysql_query("SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = '".$page."' AND u_minus = '1' LIMIT 1");
    $row = mysql_fetch_assoc( $query );
    $minus = $row['u_count'];
if(!empty($_GET['plus']) && $_GET['plus']=='1')
{$new_point=$plus;}
elseif(!empty($_GET['plus']) && $_GET['plus']=='-1')
{$new_point=$minus;}
echo 'ok'.'||'.$new_point;    

    }
    else{
    $plus = $_GET['plus'];
if($plus=='1'){$plus='1';$minus = '';}
    $query = mysql_query("SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = '".$page."' AND u_plus = '1' LIMIT 1");
    $row = mysql_fetch_assoc( $query );
    $plus = $row['u_count'];

    $query = mysql_query("SELECT COUNT(u_id) AS u_count FROM tbllikes WHERE u_page = '".$page."' AND u_minus = '1' LIMIT 1");
    $row = mysql_fetch_assoc( $query );
    $minus = $row['u_count'];
if(!empty($_GET['plus']) && $_GET['plus']=='1')
{$new_point=$plus;}
elseif(!empty($_GET['plus']) && $_GET['plus']=='-1')
{$new_point=$minus;}
echo 'Err'.'||'.$new_point;    

    }
mysql_close($db_connection);
?>
 

Mohammad

مدیر انجمن
پرسنل مدیریت
چه سرویسی هست حالا؟

برای سرویس دهی ها پیشنهاد میشه یه سرور مجازی بگیرید...

زمان وقفه باید زیاد بشه...

 

shz_furion

کاربر عضو
سلام.چطور زمان وقفه رو زیاد کنم آقا محمد؟؟؟راهنمایی می کنید؟؟

 

shz_furion

کاربر عضو
مطالب برای حل این مشکل از طریق php و php.ini رو تو این موارد پیدا کردم.مشکل اینجاست دقیق دربارشون چیزی نمی دونم.لطفا کمک کنید که از کدوم این ها میشه مشکل رو حل کرد؟؟

ini_set('max_execution_time', 300);

ini_set('memory_limit', '256M');

php.ini:

max_execution_time = 300

 

Mohammad

مدیر انجمن
پرسنل مدیریت
از مدیر سرور کمک بخواید. شاید این قابلیت رو بستن که کاربر نتونه زیاد و کم کنه

 

shz_furion

کاربر عضو
اگه این امکان وجود داشت،مقدارش رو باید چه قدر تنظیم کنم تا هم فشار به سرور کم بشه و هم سرعت سایت خوب باشه؟؟؟

 

Mohammad

مدیر انجمن
پرسنل مدیریت
بستگی به سیستم شما داره. بهتره از مدیر سرور کمک بگیری...

 
بالا