การใช้ iis กับ mysql

เกี่ยวกับ ฐานข้อมูล MySql Oracle MSSQL ect..

Moderator: phpbb, mindphp

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

การใช้ iis กับ mysql

โพสต์โดย buatong » 07 ต.ค. 2007, 18:13

ตอนแรกใช้ server1 โดยลง appserv ก็ run php connect mysql ได้ปกติ
พอย้าย code มาไว้ที่ server2 ที่มี iis และ php อยู่ก่อนแล้ว ก็เลยต้องแก้ config ใหม่ ส่วน mysql ก็ลงโดยใช้ appserv ตามปกติ (ลงเฉพาะ mysql) อยากทราบว่า ต้องแก้ config อะไรบ้างค่ะ อย่างไรบ้าง เพราะตอนนี้ run code php ได้ (จากเมื่อก่อนขึ้นหน้า blank) แต่ไม่ connect กับฐานข้อมูลให้ค่ะ และพอลองรันตัว code ด้านล่าง เพื่อ check ดูว่า connect ได้ไหม ก็ขึ้นแต่หน้าว่างค่ะ

<?PHPsession_start();ob_start(); class Data_Mysql{ var $result; var $sql; var $querysql; var $num; var $massage_send; var $massage_error; var $Hostname="localhost";#Hosting of Database System var $Uname="root";#Username Database System var $Pname=""; #Password Database System var $Dname="dbname"; #Database Name System function ConnectionMysql($user,$pass,$idcard,$posit,$depart,$gover){ if($this->Conn_mysql()){ if($this->Conn_database()){ if($this->SQLS_Member($user,$pass,$idcard,$posit,$depart,$gover)){ #if($this->SQLS_Menu($user,$pass)){ $this->massage_send=1; #}else{ #$this->massage_send="<div align='center' style='color:#FF6600'>ไม่พบสิทธิ์ขอท่านจากการเรียกใช้ของระบบ กรุณาติดต่อเจ้าหน้าที่ผู้เกี่ยวข้อง</div>"; #} }else{ $this->massage_send="<div align='center' style='color:#FF6600'>ท่านกรอก Username หรือ Password ไม่ถูกต้อง กรุณาตรวจสอบข้อมูลอีกครั้ง</div>"; } }else{ $this->massage_send="ไม่สามารถใช้ฐานข้อมูล Mysql ได้"; } }else{ $this->massage_send="ไม่สามารถเชื่อมต่อกับระบบฐานข้อมูล Mysql ได้"; } return $this->massage_send; } function Conn_mysql(){ $this->result=mysql_connect($this->Hostname,$this->Uname,$this->Pname); return $this->result; } function Conn_database(){ $this->result=mysql_select_db($this->Dname,$this->Conn_mysql()); return $this->result; } function SQLS_Member($user,$pass,$idcard,$posit,$depart,$gover){ $this->sql=" SELECT"; $this->sql.=" A.intronameID";#0 $this->sql.=" ,A.username";#1 $this->sql.=" ,A.password";#2 $this->sql.=" ,A.orgID";#3 $this->sql.=" ,A.ruleid";#4 $this->sql.=" ,B.NAME_TH";#5 $this->sql.=" ,B.NAME_EN";#6 $this->sql.=" ,C.SERIAL_NO";#7 $this->sql.=" ,C.ORG_CODE";#8 $this->sql.=" ,C.ORG_LEVEL";#9 $this->sql.=" ,C.ORG_NAME";#10 $this->sql.=" ,C.FULL_NAME";#11 $this->sql.=" ,C.ORG_ABBR_NAME";#12 $this->sql.=" ,C.FULL_IN_ABBR_NAME";#13 $this->sql.=" ,C.ROOT_LEVEL1";#14 $this->sql.=" ,C.ROOT_LEVEL2";#15 $this->sql.=" ,C.ROOT_LEVEL3";#16 $this->sql.=" ,C.ROOT_LEVEL4";#17 $this->sql.=" ,C.ROOT_LEVEL5"; #18 $this->sql.=" FROM member A"; $this->sql.=" INNER JOIN introname B"; $this->sql.=" ON intronameID=B.INID"; $this->sql.=" INNER JOIN org_level C"; $this->sql.=" ON A.orgID=C.SERIAL_NO"; $this->sql.=" WHERE A.username='$user' AND A.password='$pass' AND C.STATUS='A' AND A.idcardID='$idcard' AND C.ROOT_LEVEL1='$gover' AND C.ROOT_LEVEL2='$depart' AND C.ORG_CODE='$posit' "; $this->result=mysql_db_query($this->Dname,$this->sql); if($Member_Value=mysql_fetch_array($this->result)) { $_SESSION['session_innameid']=$Member_Value[0]; $_SESSION['session_user']=$Member_Value[1]; $_SESSION['session_pass']=$Member_Value[2]; $_SESSION['session_orgid']=$Member_Value[3]; $_SESSION['session_rule']=$Member_Value[4]; $_SESSION['session_intro_name']=$Member_Value[5]; $_SESSION['session_org_serial']=$Member_Value[6]; $_SESSION['session_org_code']=$Member_Value[7]; $_SESSION['session_org_level']=$Member_Value[8]; $_SESSION['session_org_name']=$Member_Value[10]; $_SESSION['session_org_name_full']=$Member_Value[11]; $_SESSION['session_org_abbr_name']=$Member_Value[12]; $_SESSION['session_org_abbr_name_full']=$Member_Value[13]; $_SESSION['session_root_level_1']=$Member_Value[14]; $_SESSION['session_root_level_2']=$Member_Value[15]; $_SESSION['session_root_level_3']=$Member_Value[16]; $_SESSION['session_root_level_4']=$Member_Value[17]; $_SESSION['session_root_level_5']=$Member_Value[18]; $_SESSION['session_signin']=true; $this->result=true; }else{ session_unregister($_SESSION['session_user']); session_unregister($_SESSION['session_pass']); session_unregister($_SESSION['session_signin']); $this->result=false; } return $this->result; } function SQLS_FormApp($user,$pass){ $this->sql="SELECT B.name,B.module FROM member A INNER JOIN B ON A.id=B.memberid WHERE A.username='$user' AND A.password='$pass'"; $this->result=mysql_db_query($this->Dname,$this->sql); if($FormApp_Value=mysql_fetch_array($this->result)) { $_SESSION['session_formapp']=$FormApp_Value[1]; $this->result=true; }else{ session_unregister($_SESSION['session_formapp']); $this->result=false; } return $this->result; } function SQLS_Menu($rule){ $this->sql="SELECT distinct B.menu_name,B.menu_module,B.menu_file FROM authen A INNER JOIN menu B ON A.menuid=B.menu_id WHERE A.rule_id=$rule"; $this->result = mysql_db_query($this->Dname,$this->sql); return $this->result; } function SQLS_SubMenu($rule){ $this->sql="SELECT B.submenu_name,B.submenu_file FROM authen A INNER JOIN submenu B ON A.submenuid=B.submenuid WHERE A.rule_id=$rule"; $this->result = mysql_db_query($this->Dname,$this->sql); return $this->result; } }# End Class $fc_database=new Data_Mysql();?>

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 07 ต.ค. 2007, 21:44

ลงเพียงอย่าง เดียวโหลด mysql มาลงเองดีกว่าครับ
อย่างแรกให้ เช็ค ว่า รัน php ได้ปกติ หรือเปล่า
ถ้าได้ ลอง เช็ค ว่า เป็น เวอร์ชั่นอะไร ถ้าเวอร์ชั่น หลังจาก 4.3 มันจะไม่มี ส่วนของการติดต่อกับ mysql มาให้ เราต้องลงเพิ่มเอาเอง

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 08 ต.ค. 2007, 22:29

PHP Version 5.1.6 ค่ะ แล้วที่ว่าต้อง download ส่วนที่ให้เพิ่มการติดต่อ mysql ต้องลงเพิ่มเอาเอง นี่คืออะไรค่ะแก้ไข config หรือ add เพิ่มอะไรหรือป่าวค่ะ

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 08 ต.ค. 2007, 22:42

ลองเช็ค ว่า ใน โฟสเดอ extensions มี php_mysql.dll หรือยัง

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 08 ต.ค. 2007, 23:01

หมายถึงต้องไปดาวน์โหลด connecting to MYSQL from PHP เช่น php_5.2.0_mysql_5.0.27-win32 หรือเปล่า os เป็น window server 2003 ค่ะ

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 08 ต.ค. 2007, 23:17

ลองเช็ค ตามที่บอกหรือยังครับ เพราะ อาจจะมีอยู่ แล้ว แต่ ยังไม่ได้ เปิดใช้งานก็ ได้ แต่ถ้าเช็ค แล้วไม่เจอ ก็ ต้องโหลดมาเพิ่ม เองครับ

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 10 ต.ค. 2007, 16:19

PHP มีอยู่แล้วค่ะ เป็น Version 5.1.6 เช็คแล้ว run php ได้ แต่ connect mysql ไม่ได้ ลองทำตาม www.t2.tph.go.th/php.html และ http://www.cmsthailand.com/docs/iis_php ... admin.html ใช่วิธีนี้หรือเปล่า ลองทำแล้วก็ไม่เกิด...เศร้า

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 10 ต.ค. 2007, 16:37

o Browser แสดง แบบ รูปสุดท้าย แสดงว่าเราทำถูกแล้ว คับ

วิธีการ Config ให้ PHP สามารถใช้ MySQL ได้

* ให้เราทำการ แก้ไขแฟ้ม php.ini ตรงบรรทัดที่เขียนว่า
o ;extension=php_mysql.dll ให้เรานำเครื่องหมาย ; ที่อยู่ข้างหน้าบรรทัดออก แล้วบันทึกลงข้อมูล
o ให้เราทำการ Copy แฟ้มข้อมูล ชื่อ php_mysql.dll ที่อยู่ใน Directory ของ \php\ext ไปไว้ที่ \Windows\System32
o ให้เราทำการ Copy แฟ้มข้อมูล ชื่อ libmysql.dll ที่อยู่ใน Directory ของ \php ไปไว้ที่ \Windows\System32

ตามนี้ ช่าย มั๊ยครับ แล้ว restart IIS หรือยังครับ

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 15 ต.ค. 2007, 16:44

ทำทุกขั้นตอนแล้วนะคะ แต่ติดตรง phpmyadmin ที่เรียกแล้ว ไม่สามารถเข้าได้ ก็เลยใช้ mysql-front แทน
มันขี้น
Warning: include(c:\inetpub\wwwroot//ethics/app_include/SEdit/editor/spaw_control.class.php) [function.include]: failed to open stream: No such file or directory in C:\App_old\asp\ethics\index.php on line 23

Warning: include() [function.include]: Failed opening 'c:\inetpub\wwwroot//ethics/app_include/SEdit/editor/spaw_control.class.php' for inclusion (include_path='.;C:\php5\pear') in C:\App_old\asp\ethics\index.php on line 23
ต้องแก้ตรงไหนบ้าง ลอง server อีกเครื่องนึง ก็ได้นะค่ะ ใช้ appserv แต่ server ที่ใช้ iis, PHP Version 5.1.6, mysql 4.1 แก้ config แล้ว แต่ก็ยังไม่ได้คะ ขึ้น error ตามข้างบน ทำตามที่คุณ mind บอกแล้วนะคะ

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 16 ต.ค. 2007, 08:39

มันหาไฟล์ที่ตำแหน่งดังกล่าวไม่เจอครับ
ลองเช็คว่ามีไฟล์ นั้นอยู่ จริงมั๊ย ถ้าเป็น โปรแกรมที่ copy มาเป็นไปได้ว่าได้ไฟล์ มาไม่ครบ

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 16 ต.ค. 2007, 18:42

คุณ mindphp ค่ะ พอดีทำได้แล้วค่ะ error ข้างบน ได้แบบงงๆเหมือนกัน พอดี set เป็น virtual ค่ะ มีปัญหา ก็เลยเอา folder ที่เป็น code ไปใส่ใน wwwroot อีก (ตอนแรกไม่ได้ไว้ใน wwwroot นะคะ ไปใส่ไว้อีก directory นึง ทำเป็น virtual) ทีนี้ ไม่ขึ้น error ค่ะ แต่ไม่ connect database ให้ ทีนี้ ก็เลยสร้าง code ใหม่ ในการ insert ข้อมูล เพื่อลอง test ข้อมูลดู ปรากฏว่า insert ข้อมูลได้ ทั้ง 2 server ขอคำแนะนำ ดังนี้ค่ะ
1. ตอนนี้ใช้ 2 server คือ server 1 ใช้ iis, php 5.1.6 และ mysql 4.1 ส่วน server 2 ใช้ appserv 1.8.0 (ตัวนี้ไม่ค่อยมีปัญหาอะไรนะคะ)
2. สร้าง code select แบบง่ายๆ ขึ้นมา run server 1 ไม่ผ่าน แต่ run server 2 ผ่านค่ะ

<?
$host="localhost"; //ชื่อโฮส
$db_username="root"; //ชื่อผู้ใช้
$db_password=""; //รหัสผ่าน
$dbname="edb"; //ชื่อฐานข้อมูล
$connect = mysql_connect($host,$db_username,$db_password);
if(!$connect){
echo "ไม่สามารถติดต่อฐานข้อมูลได้"; exit();
}

$sql = "select * from org_g";
$dbquery = mysql_db_query($dbname, $sql);
$cols = 5; //กำหนดจำนวนคอลั่ม
$c = $cols;
?>
<table border="1">
<tr>
<?
while($result = mysql_fetch_array($dbquery)) {
$c --;
?>
<td width="150"><?=$result[g_name];?></td> //ส่วนของการแสดงข้อมูล
<?
if($c == 0) {
$c = $cols;
?>
</tr></tr>
<? } } ?>
</tr></table>

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 16 ต.ค. 2007, 20:46

คำว่า ผ่าน ไม่ ผ่าน คืออะไรครับ มี error อะไร ออกมา บ้าง

buatong
phpBBThailand Jr. Member
phpBBThailand Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย buatong » 16 ต.ค. 2007, 22:49

ผ่าน คือ run ได้ ดึงข้อมูลจาก db ได้ค่ะ ส่วน server ที่รันไม่ผ่าน คือ ดึงข้อมูลจาก db ไม่ได้ค่ะ และไม่ขึ้น error อะไรเลยค่ะ เป็นหน้าว่างเลยค่ะ

ภาพประจำตัวสมาชิก
mindphp
phpBBThailand VIP Members
phpBBThailand VIP Members
โพสต์: 2269
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00
ติดต่อ:

โพสต์โดย mindphp » 17 ต.ค. 2007, 17:33

ก่อน อื่น ต้อง เช็ค ว่า webserver ทำงานได้ หรือ ยัง เมื่อทำงานได้ แล้ว ก็ เข็ค ว่ารัน ไฟล์ php ได้หรือยัง โดย เขียน คำสั่ง php ลงไปแล้ว ลองเรียกที่ browser ดู
ถ้าได้ ใช้ เช็ค ว่า php เรา สามารถติดต่อกับ ฐานข้อมูลได้ หรือไม่
โดย เช็คจาก function ที่ php มีให้ก็ได้

$arr = get_defined_functions();
print_r($arr);
ถ้ามี function mysql_xxx ก็แสดงว่าใช้งานได้
ถ้าไม่ได้ ก็ ต้องทำตามที่แนะนำไปข้างบนนะครับ

firelight
phpBBThailand Newbie
phpBBThailand Newbie
โพสต์: 3
ลงทะเบียนเมื่อ: 01 ม.ค. 1970, 07:00

โพสต์โดย firelight » 11 ม.ค. 2008, 20:46

มาตอบเผื่อคนมาอ่านทีหลังนะ คิดว่าเจ้าของกระทู้น่าจะทำได้แล้วล่ะ

การใช้ php กะ iis 6.0+ เนี่ยปัญหาเยอะเลย
ลองตามสเต็ปหลักๆที่จำได้นะ

- ลง iis ก่อน ลงphp (แนะนำ 5.2+นะครับ ปัญหาจะลดลงเยอะเลย)
- ก็อบเว็บไปไว้ใน Interpub (โฟลเดอร์อื่นก็ได้แต่ให้ระวังเรื่อง Authenticate )
- เข้าไปแก้ Execute Permission ใน iis ให้รัน script ด้วย

ตอนลง php แนะนิดนึงถ้าใช้ iis ให้ลงเป็น ตัว cgi จะดีกว่านะครับ


  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 3 และ บุคคลทั่วไป 0 ท่าน