รับทําเว็บไซต์ รับทําseo
 
รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

Linux Server (CentOS) : ติดตั้งโมดูล PHP เพิ่มเติม

      จากการ ติดตั้งโปรแกรมภาษาเว็บ PHP บน Apache เว็บเซิร์ฟเวอร์ Apache และ PHP เครื่องนี้ สามารถเขียนเว็บเพจโดยใช้ภาษา PHP ได้แล้ว  แต่สามารถเรียกใช้ฟังก์ชั่นแค่พื้นฐานเท่านั้น  ถ้าต้องการใช้ฟังก์ชั่นอื่นๆ ด้วย เช่น เชื่อมต่อเข้ากับ MySQL เราจำเป็นต้องติดตั้งโมดูล PHP เพิ่มเติม

     

    ในบทความนี้จะอธิบายวิธีการตรวจสอบและติดตั้งโมดูลเพิ่มเติมจากไฟล์ rpm ที่อยู่ในแผ่นดีวีดี CentOS 6.2  โดยจะเป็นการติดตั้งโมดูล MySQL เพื่อให้สามารถเขียน PHP เชื่อมเข้ากับฐานข้อมูล MySQL ได้

      

    ตัวอย่าง error เมื่อเรียกใช้ฟังก์ชั่นของโมดูลที่ไม่มีหรือยังไม่ได้ติดตั้ง

    [root@cent6 ~]# cat test-mysql.php
    <?php
    mysql_connect('localhost', 'mysql_user', 'mysql_password');
    ?>

    ทดลองรันไฟล์นี้ด้วย php

    [root@cent6 ~]# php test-mysql.php
    PHP Fatal error:  Call to undefined function mysql_connect() in /var/www/html/test-mysql.php on line 2
    
    
    

    วิธีการตรวจสอบว่า การเขียนโปรแกรมภาษา PHP บนเว็บเซิร์ฟเวอร์นี้ สามารถเรียกใช้โมดูล PHP อะไรได้บ้าง ทำได้โดยใช้ฟังก์ชั่น phpinfo() แล้วเปิดผ่านหน้าเว็บเพจ หรือรันคำสั่ง php ตามด้วยออปชั่น “-m”

    [root@cent6 html]# php -m
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    ereg
    exif
    fileinfo
    filter
    ftp
    gettext
    gmp
    hash
    iconv
    json
    libxml
    openssl
    pcntl
    pcre
    Phar
    readline
    Reflection
    session
    shmop
    SimpleXML
    sockets
    SPL
    standard
    tokenizer
    xml
    zip
    zlib
    [Zend Modules]

     

    หากต้องการเรียกใช้โมดูลมากกว่านี้ จำเป็นต้องติดตั้งเพิ่มเติม  วิธีหนึ่งคือติดตั้งจากไฟล์ rpm ในแผ่นดีวีดี CentOS 6.2

    ไฟล์ rpm ใน CentOS 6.2 ที่เกี่ยวข้องกับ PHP ไม่ว่าจะเป็นส่วนโปรแกรมหลัก หรือโมดูลเพิ่มเติม จะขึ้นต้นชื่อไฟล์ด้วย php

    [root@cent6 ~]# mount /dev/cdrom /mnt
     mount: block device /dev/sr0 is write-protected, mounting read-only
    [root@cent6 ~]# cd /mnt/Packages/
    [root@cent6 Packages]# ls -l php-*
    -rw-r--r--. 2 500 500 1176604 Nov 15 18:02 php-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500 2276776 Nov 15 18:02 php-cli-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500  534024 Nov 15 18:02 php-common-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500  105780 Nov 15 18:02 php-gd-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500   36360 Nov 15 18:02 php-ldap-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500   80300 Nov 15 18:02 php-mysql-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500   49116 Nov 15 18:02 php-odbc-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500   74148 Nov 15 18:02 php-pdo-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500  402492 Dec  9 03:54 php-pear-1.9.4-4.el6.noarch.rpm
    -rw-r--r--. 2 500 500   95556 Jul  3  2011 php-pecl-apc-3.1.3p1-1.2.el6.1.x86_64.rpm
    -rw-r--r--. 2 500 500   61400 Sep 26  2011 php-pecl-memcache-3.0.5-3.el6.x86_64.rpm
    -rw-r--r--. 2 500 500   69044 Nov 15 18:02 php-pgsql-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500  140600 Nov 15 18:02 php-soap-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500  102132 Nov 15 18:02 php-xml-5.3.3-3.el6_1.3.x86_64.rpm
    -rw-r--r--. 2 500 500   50964 Nov 15 18:02 php-xmlrpc-5.3.3-3.el6_1.3.x86_64.rpm
    
    

    ใช้คำสั่ง rpm เพื่อติดตั้ง module เพิ่มเติม สำหรับการติดตั้ง MySQL module

    [root@cent6 Packages]# rpm -i php-mysql-5.3.3-3.el6_1.3.x86_64.rpm
    error: Failed dependencies:
     php-pdo is needed by php-mysql-5.3.3-3.el6_1.3.x86_64

    ต้องติดตั้ง php-pdo (PDO module) ก่อน

    [root@cent6 Packages]# rpm -i php-pdo-5.3.3-3.el6_1.3.x86_64.rpm
    [root@cent6 Packages]# rpm -i php-mysql-5.3.3-3.el6_1.3.x86_64.rpm

    ใช้คำสั่ง php ออปชั่น -m เพื่อตรวจสอบ module ที่ติดตั้งเพิ่มเติม

    [root@cent6 Packages]# php -m
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    ereg
    exif
    fileinfo
    filter
    ftp
    gettext
    gmp
    hash
    iconv
    json
    libxml
    mysql
    mysqli
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    pdo_sqlite
    Phar
    readline
    Reflection
    session
    shmop
    SimpleXML
    sockets
    SPL
    sqlite3
    standard
    tokenizer
    xml
    zip
    zlib
    Zend Modules]
    
    

    คำอธิบาย

     - PDO, pdo_sqlite, sqlite3 ได้จากการติดตั้งไฟล์ php-pdo

     - mysql, mysqli, pdo_mysql ได้จากการติดตั้งไฟล์ php-mysql

     

    หลังจากการติดตั้ง PHP module เพิ่มเติม การรัน PHP ที่เป็น command line สามารถเรียกใช้โมดูลใหม่นี้ได้เลย แต่ถ้าต้องการเรียกผ่านเว็บเซิร์ฟเวอร์ ต้องรีสตาร์ตเซอร์วิส httpd ก่อน

    ใช้คำสั่ง service เพื่อรีสตาร์ตเซอร์วิส httpd

    [root@cent6 Packages]# service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]

    ตัวอย่างการใช้ฟังก์ชั่น phpinfo() แสดงผลผ่านหน้าเว็บเพจ เพื่อดูข้อมูลรายละเอียดโมดูล MySQL ที่ติดตั้งใหม่

    [root@cent6 ~]# cat /var/www/html/info.php
     <?php
     phpinfo();
     ?>

    ผลลัพธ์ที่ได้จากการเรียกผ่านหน้าเว็บ

     

     

บทความที่น่าสนใจ

บทความ ล่าสุด

บทความ ความรู้ด้านไอที, คอมพิวเตอร์ Techonlogy, Gadget, ความรู้เกี่ยวกับคอมพิวเตอร์ กับทาง SoftMelt.com