PDA

View Full Version : سوال: مشكل با اتصال به sqlserver در سروري ديگر



MohammadReza.OmidAllah
یک شنبه 19 آذر 1391, 10:21 صبح
با سلام

يه من روي لوكال و شبكه داخلي با php به sql سرور وصل شدم و يه برنامه اي نوشتم حالا ميخوام اين برنامه رو روي يه سرور لينوكس يا ويندوز ببرم و با IPvalid به همين پايگاه داده خودم وصل بشم ( SQL Server 2008 ) ولي خطاي
Fatal error: Maximum execution time of 60 seconds exceeded ميده ميدونم اين خطا ميگه بيشتر 60 ثانيه ...

من php.ini رو هم ويرايش كردم ولي باز همين مشكل بود سرعت نتمم بد نيس 4mg هست

به پايگاه داده با كتابخانه pdo وصل ميشم اينم كدمه


<?php
function persian_sql_to_php($str){
if(mb_detect_encoding($str) == 'UTF-8' AND mb_check_encoding($str, 'UTF-8')){
$str = utf8_decode($str);
}
$str = iconv('Windows-1256', 'UTF-8', $str);
return $str;
}

function persian_php_to_sql($str){
$str = iconv('UTF-8', 'Windows-1256', $str);
return $str;
}
try {
$hostname = "172.18.17.22"; //MsSql host
$dbname = "r91"; //MsSql db name
$username = "sa"; //MsSql username like 'sa'
$pw = "123"; //Mssql password for the user
$dbh = new PDO ("mssql:host=$hostname;dbname=$dbname","$username","$pw");


} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
?>


اون IP 172.18.17.22 ي داخليمه كه باهاش به صورت لوكال و شبكه داخلي كار ميكنم بجاي اون وقتي IPvalidamرو به روش هاي زير ميزنم اون خطا درست ميشه

IPVALID
IPVALID:1443
IPVALID/SQLEXPERES

sql server م رو هم اينجوري كانفيگ كردم :

توي mssql configuration manager در sql server network config همه پروتکل ها جز VIA فعال كردم و tcp/ip یک ip معادل 1443 ست كردم

راستي مودمم مستقيم به اين سيستم وصل نيست و سويچ شده بين 3-4 تا كامپيوتر

شرمنده سرتون رو درد اوردم ولي لطفا اگه بلديد راهنمايي كنيد بد كارم گيره

pani.khoram
یک شنبه 19 آذر 1391, 12:12 عصر
سلام ، telnet کن ببین اصلا پورت ای پی ولید رو می بینی !
احتمالا نباید ببینی ، چون شما ای پی ولید رو که می زنی باید Route بشی به ان سیستم که فکر نکنم سوئچ که داری باهاش کار می کنی توانایی روت رو داشته باشه . پس اول یک بار ای پی ولید رو از حالت اشتراکی در بیار بگذار رو خود سرور دیتابیس ، بعد از تلنت استفاده کن برای پرت . اگه این مشکلات رو بتونی حل کنی احتمال 99 درصد مشکلت حل می شه .
موفق باشی

MohammadReza.OmidAllah
یک شنبه 19 آذر 1391, 19:33 عصر
ممنون مشکلم حل شد این روشی که من استفاده کردم رو میگم تا دیگه اگه دوستان مشکل دار شدن بتونن برطرف کنن .

پورت 1433(پورت sqlserver) رو توی روتر به صورت زیر روی یکی از کامپیوتر های شبکه داخلی ست کنید . 96349

حالا با یه سیستم دیگه ( نه اون سیستمایی که IPishon valide ) با یه اینترنت دیگه راحت متصل بشید با همون کد بالایی که نوشته بودم

یا علی