การเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์ Google Data PHP

คําเตือน: หน้านี้เกี่ยวกับ API แบบเก่าของ Google ซึ่งก็คือ Google Data API โดยเกี่ยวข้องกับ API ที่แสดงอยู่ในไดเรกทอรี Google Data API เท่านั้น โดยหลาย API ถูกแทนที่ด้วย API ที่ใหม่กว่า สําหรับข้อมูลเกี่ยวกับ API ใหม่โดยเฉพาะ โปรดดูเอกสารประกอบของ API ใหม่ ดูข้อมูลเกี่ยวกับการให้สิทธิ์คําขอด้วย API ใหม่ได้ที่การตรวจสอบสิทธิ์และการให้สิทธิ์บัญชี Google

Jochen Hartmann จากทีม Google Data API
อัปเดตเมื่อเดือนตุลาคม 2008 (เดิมเขียนโดย Daniel Holevoet)

บทนำ

ไลบรารีของไคลเอ็นต์ Google Data PHP คือคอลเล็กชันคลาสที่ทรงพลังซึ่งช่วยให้คุณโต้ตอบกับ Google Data API ได้ ซึ่งต่างจากไลบรารีของไคลเอ็นต์อื่นๆ ตรงที่จะรวมอยู่ในแพ็กเกจของ Zend Framework ที่ได้รับความนิยม และยังดาวน์โหลดแยกต่างหากได้ด้วย เช่นเดียวกับไลบรารีของไคลเอ็นต์อื่นๆ ของเรา อีกทั้งโอเพนซอร์สยังมีการออกแบบให้ใช้งานง่ายและมีประสิทธิภาพ ซึ่งจะช่วยให้คุณเริ่มต้นโปรเจ็กต์ได้อย่างรวดเร็ว

การติดตั้งล่วงหน้า

PHP อาจติดตั้งในเครื่องพัฒนาซอฟต์แวร์หรือเว็บเซิร์ฟเวอร์ของคุณอยู่แล้ว ดังนั้นขั้นตอนแรกคือการยืนยันข้อเท็จจริงดังกล่าว และเพื่อตรวจสอบว่า PHP นั้นมีเวอร์ชันล่าสุดเพียงพอที่จะใช้กับไลบรารีของไคลเอ็นต์แล้ว วิธีตรวจสอบที่ง่ายที่สุดคือการวางไฟล์ใหม่ในไดเรกทอรีที่เข้าถึงเว็บบนเซิร์ฟเวอร์ได้ พิมพ์ข้อมูลต่อไปนี้ลงในไฟล์

<?php phpinfo(); ?>

จากนั้นตรวจสอบว่าเว็บดังกล่าวเข้าถึงได้จากเว็บโดยการตั้งค่าสิทธิ์ที่เหมาะสม แล้วไปยังตําแหน่งนั้นจากภายในเบราว์เซอร์ หากติดตั้ง PHP และเซิร์ฟเวอร์ของคุณแสดงผลหน้า PHP ได้ คุณควรเห็นสิ่งที่คล้ายกับภาพหน้าจอด้านล่าง

ภาพหน้าจอหน้าข้อมูล PHP

ภาพหน้าจอแสดงหน้าข้อมูล PHP หน้านี้จะแสดงเวอร์ชัน PHP ที่ติดตั้งแล้ว (ในกรณีนี้คือ 5.2.6) พร้อมกับส่วนขยายที่เปิดใช้ (ในส่วน "กําหนดค่าคําสั่ง") และตําแหน่งของไฟล์การกําหนดค่าภายในของ PHP (ในส่วน "ไฟล์การกําหนดค่าการกําหนดค่า"") หากหน้าเว็บไม่แสดงหรือหากเวอร์ชัน PHP ของคุณเก่ากว่า 5.1.4 คุณจะต้องติดตั้งหรืออัปเกรดเวอร์ชัน PHP ของคุณ มิเช่นนั้น คุณก็ข้ามส่วนถัดไปและไปยังการติดตั้งไลบรารีของไคลเอ็นต์ PHP ต่อไปได้

หมายเหตุ: หากคุณมีสิทธิ์เข้าถึงบรรทัดคําสั่งและวางแผนที่จะใช้ PHP เพื่อเรียกใช้สคริปต์บรรทัดคําสั่ง โปรดดูส่วนบรรทัดคําสั่งบรรทัดคําสั่งของบทความนี้

การติดตั้ง PHP

การติดตั้งจะแตกต่างกันไปเล็กน้อยในแต่ละแพลตฟอร์ม ดังนั้นคุณจึงควรทําตามวิธีการสําหรับแพลตฟอร์มนั้นๆ ในระหว่างการติดตั้ง ก่อนที่จะเจาะลึกประเด็นนี้ คุณควรทราบว่าแพ็กเกจที่ติดตั้งล่วงหน้าซึ่งมีเว็บเซิร์ฟเวอร์ Apache และฐานข้อมูล MySQL รวมถึง PHP ได้รับความนิยมสูงเช่นกัน สําหรับ Windows, Mac OS X และ Linux มีโปรเจ็กต์ XAMPP ผู้ใช้ Mac OS X ยังเลือกใช้โปรเจ็กต์ MAMP ได้อีกด้วย แพ็กเกจทั้งสองรองรับ OpenSSL ใน PHP (ซึ่งจําเป็นสําหรับการโต้ตอบกับฟีดที่ตรวจสอบสิทธิ์แล้ว)

หากคุณติดตั้ง PHP โดยทําตามขั้นตอนด้านล่าง โปรดตรวจสอบว่าคุณได้ติดตั้งและเปิดใช้การรองรับ OpenSSL ด้วย ดูรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ส่วน OpenSSL ของเว็บไซต์ PHP ส่วนต่อไปนี้จะมุ่งเน้นวิธีการติดตั้ง PHP ด้วยตนเอง

บน Windows

วิธีที่ง่ายที่สุดในการติดตั้งหรืออัปเกรด PHP บน Windows คือโปรแกรมติดตั้ง PHP ที่มีให้บริการในหน้าการดาวน์โหลดของ PHP

  1. เลือกตัวเลือกโปรแกรมติดตั้ง PHP (ในส่วนไบนารีของ Windows) ที่ตรงกับ PHP เวอร์ชันใหม่ล่าสุด และอนุญาตให้ดาวน์โหลดได้
  2. เปิดโปรแกรมติดตั้งและทําตามวิธีการของวิซาร์ดการติดตั้ง
  3. เมื่อวิซาร์ดระบุข้อความแจ้ง ให้เลือกเว็บเซิร์ฟเวอร์ที่ติดตั้งไว้ในระบบของคุณ เพื่อกําหนดค่าเซิร์ฟเวอร์ให้ทํางานกับ PHP ได้
  4. ตรวจสอบการติดตั้งโดยทําตามขั้นตอนในส่วนด้านบน

ใน Mac OS X

PHP รวมอยู่ใน OS X แล้ว แต่ก่อนที่จะใช้งาน คุณควรอัปเกรดเป็น PHP เวอร์ชันล่าสุด หากต้องการอัปเกรด คุณสามารถติดตั้งแพ็กเกจไบนารีฟรีแบบใดแบบหนึ่ง หรือคอมไพล์ด้วยตนเองก็ได้ โปรดดูรายละเอียดที่หน้าเอกสารประกอบ PHP เกี่ยวกับการติดตั้งใน Mac OS X

หลังจากติดตั้งหรือตั้งค่า OS X แล้ว ให้ตรวจสอบการติดตั้งโดยทําตามขั้นตอนที่ระบุไว้ในส่วนการติดตั้งล่วงหน้าของเอกสารนี้

ใน Linux ให้ทำดังนี้

อาจมีตัวเลือกการตั้งค่าในตัวหรือใช้งานง่ายสําหรับการติดตั้ง PHP ทั้งนี้ขึ้นอยู่กับการเผยแพร่ Linux ตัวอย่างเช่น ใน Ubuntu คุณสามารถใช้ตัวจัดการแพ็กเกจหรือพิมพ์ข้อความต่อไปนี้ลงในเทอร์มินัลก็ได้

sudo apt-get install php5

หากไม่มีการติดตั้งแบบแพ็กเกจที่มาพร้อมกับการเผยแพร่ Linux คุณต้องติดตั้งจากซอร์สโค้ด ดูวิธีการโดยละเอียดสําหรับการรวบรวม PHP สําหรับ Apache 1.3 และการรวบรวม PHP สําหรับ Apache 2 PHP.net ยังมีวิธีการสําหรับเซิร์ฟเวอร์อื่นๆ

การติดตั้งไลบรารีของไคลเอ็นต์ PHP Data ของ Google

เมื่อติดตั้ง PHP เวอร์ชันทํางานแล้ว ก็ถึงเวลาติดตั้งไลบรารีของไคลเอ็นต์ ไลบรารีของไคลเอ็นต์เป็นส่วนหนึ่งของ Zend Framework แบบโอเพนซอร์ส แต่ดาวน์โหลดเป็นเวอร์ชันสแตนด์อโลนได้ หากติดตั้ง Zend Framework เวอร์ชัน (เวอร์ชัน 1.6 ขึ้นไป) ไว้แล้ว คุณจะข้ามการติดตั้งได้เนื่องจากมีไลบรารีของไคลเอ็นต์ข้อมูล Google รวมอยู่ด้วย อย่างไรก็ตาม การตรวจสอบว่าคุณใช้เฟรมเวิร์กเวอร์ชันล่าสุดจะรับประกันว่าคุณจะได้รับฟีเจอร์และการแก้ไขข้อบกพร่องใหม่ล่าสุดที่พร้อมใช้งาน จึงมักจะแนะนําให้ใช้

การดาวน์โหลดเฟรมเวิร์กที่สมบูรณ์จะช่วยให้คุณเข้าถึงไลบรารีของไคลเอ็นต์ข้อมูล Google ได้ และไม่รวมถึงเฟรมเวิร์กที่เหลือด้วย ไลบรารีของไคลเอ็นต์ใช้คลาสอื่นๆ บางรายการซึ่งเป็นส่วนหนึ่งของเฟรมเวิร์ก Zend ที่สมบูรณ์ แต่ไม่จําเป็นต้องดาวน์โหลดเฟรมเวิร์กทั้งหมดเนื่องจากเรารวมไลบรารีเหล่านั้นลงในการดาวน์โหลดแบบสแตนด์อโลนแล้ว

  1. ดาวน์โหลดไฟล์ไลบรารีของไคลเอ็นต์ Google ข้อมูล (ค้นหา "Google Data API") ในหน้านั้น)
  2. บีบอัดไฟล์ที่ดาวน์โหลด ควรสร้างไดเรกทอรีย่อย 4 รายการ ได้แก่
    • demos — แอปพลิเคชันตัวอย่าง
    • documentation — เอกสารประกอบสําหรับไฟล์ไลบรารีของไคลเอ็นต์
    • library — ไฟล์ต้นฉบับไลบรารีของไคลเอ็นต์จริง
    • tests — ไฟล์ทดสอบหน่วยสําหรับการทดสอบอัตโนมัติ
  3. เพิ่มตําแหน่งของโฟลเดอร์ library ลงในเส้นทาง PHP (ดูส่วนถัดไป)

ตรวจสอบเพื่อให้แน่ใจว่าคุณสามารถเข้าถึงไฟล์ไลบรารีของไคลเอ็นต์ได้

ขั้นตอนสุดท้ายคือการอ้างอิงและรวมไฟล์ไลบรารีของไคลเอ็นต์ PHP จากไดเรกทอรีที่กําลังสร้างโปรเจ็กต์ได้ ซึ่งทําได้โดยการตั้งค่าตัวแปร include_path ในไฟล์การกําหนดค่า PHP (php.ini) ตัวแปร include_path มีตําแหน่งไดเรกทอรีจํานวนมากที่ PHP พิจารณาเมื่อคุณออกคําสั่ง require หรือ include ที่จะดึงคลาส ไลบรารี หรือไฟล์ภายนอกลงในสคริปต์ปัจจุบัน ซึ่งคล้ายกับคําสั่ง import ใน Java คุณต้องเพิ่มตําแหน่งของไฟล์ไลบรารีของไคลเอ็นต์ต่อท้ายค่าที่กําหนดใน include_path แล้ว ขั้นตอนนี้สามารถทําได้ 2 วิธี (อธิบายทั้ง 2 วิธีโดยละเอียดด้านล่าง)

  • กําหนดคําสั่ง include_path ในไฟล์การกําหนดค่า php.ini จากบรรทัดคําสั่งอย่างถาวร ต้องมีสิทธิ์เข้าถึง Shell และเขียนข้อมูล
  • ตั้งค่าตัวแปรเส้นทาง include_path ในระดับ "ต่อไดเรกทอรี" โดยใช้เว็บเซิร์ฟเวอร์ Apache และความสามารถในการสร้างไฟล์ .htaccess
  • ใช้ฟังก์ชัน set_include_path() เพื่อตั้งค่าเส้นทางที่รวมอยู่ในสคริปต์แบบไดนามิก ซึ่งคุณตั้งค่าแบบไดนามิกในไฟล์ .php แต่ละไฟล์ได้

หากคุณมีสิทธิ์การเขียนและเขียนไฟล์ไปยังไฟล์ php.ini (หรือหากคุณเขียนโค้ดในเครื่องของคุณ) ให้ทําตามวิธีการในภาคผนวก A หากคุณใช้เว็บเซิร์ฟเวอร์ Apache และสามารถสร้างไฟล์ .htaccess ได้ คุณจะสามารถตั้งค่าตัวแปร include_path ในระดับ "ต่อไดเรกทอรี" ซึ่งหมายความว่าไฟล์ทั้งหมดในไดเรกทอรีที่คุณกําลังใช้งานอยู่สามารถอ้างอิงไดเรกทอรีไลบรารีของไคลเอ็นต์ได้โดยอัตโนมัติ

คุณจะระบุตัวเลือกการกําหนดค่า PHP ได้ตามที่แสดงในข้อมูลโค้ดด้านล่าง

# This works for PHP5 in both Apache versions 1 and 2
<IfModule mod_php5.c>
  php_value include_path        ".:/usr/local/lib/php:/path/to/ZendGdata/library"
</IfModule>

หมายเหตุ: โปรดดูการเปลี่ยนคู่มือการกําหนดค่าเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนการตั้งค่า

หากไม่มีสิทธิ์เข้าถึง Shell กับเซิร์ฟเวอร์ของคุณ และจะแก้ไขหรือสร้างไฟล์ .htaccess ที่ใช้ฟังก์ชัน set_include_path ได้ทุกเมื่อ โปรดทราบว่าคุณอาจมีการกําหนดค่าบางอย่างสําหรับ include_path อยู่แล้ว ดังนั้นเราขอแนะนําให้ทําตามโมเดลด้านล่างเพื่อเพิ่มค่าใหม่แทนการเขียนทับเส้นทางทั้งหมด

$clientLibraryPath = '/path/to/ZendGdata/library';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);

หมายเหตุ: โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชัน set_include_path ในหน้าคู่มือ PHP

การเรียกใช้เครื่องมือตรวจสอบการติดตั้ง PHP

หากต้องการตรวจสอบว่าได้ตั้งค่าเส้นทางการรวมอย่างถูกต้อง คุณสามารถเรียกใช้สคริปต์เครื่องมือตรวจสอบการติดตั้งของ PHP เพียงคัดลอกและวางเนื้อหาของไฟล์นั้นลงในไฟล์ใหม่ในไดเรกทอรีที่เข้าถึงได้บนเว็บบนเซิร์ฟเวอร์ แล้วไปที่ไฟล์จากเบราว์เซอร์ของคุณ หากคุณเห็นผลลัพธ์ที่คล้ายกับด้านล่างนี้ แสดงว่าทุกอย่างได้รับการกําหนดค่าอย่างถูกต้องและคุณพร้อมที่จะใช้ไลบรารีของไคลเอ็นต์ PHP แล้ว

ภาพหน้าจอเอาต์พุตเครื่องมือตรวจสอบการติดตั้ง CP

หากพบข้อผิดพลาด (ดังในภาพหน้าจอด้านล่าง) โปรดตรวจสอบว่าคุณทําตามคําแนะนํา คุณอาจไม่มีส่วนขยายหรือเส้นทางอาจยังตั้งค่าไม่ถูกต้อง โปรดทราบว่าคุณอาจต้องรีสตาร์ทเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผล การดําเนินการนี้จะมีผลเมื่อคุณแก้ไขไฟล์ php.ini จริงๆ ภาพหน้าจอด้านล่างแสดงว่า include_path มีการตั้งค่าเป็น /path/to/nowhere:

ภาพหน้าจอเอาต์พุตเครื่องมือตรวจสอบการติดตั้ง CP

หมายเหตุ: โปรดทราบว่าเครื่องมือตรวจสอบการติดตั้ง PHP จะตรวจสอบรายการต่อไปนี้ (1) เป็นส่วนขยาย PHP ที่จําเป็นที่ติดตั้ง (2) include_path ชี้ไปยังไดเรกทอรีของไลบรารีของไคลเอ็นต์ PHP (3) เชื่อมต่อ SSL ได้หรือไม่ และสุดท้ายสามารถเชื่อมต่อกับ YouTube Data API ได้ หากการทดสอบบางรายการล้มเหลว การทดสอบที่เหลือจะไม่ทํางาน

เมื่อติดตั้งไลบรารีของไคลเอ็นต์แล้ว ก็ถึงเวลาลองเรียกใช้ตัวอย่าง

การเรียกใช้ตัวอย่าง

ที่ไดเรกทอรีไดเรกทอรี Zend/Gdata รากจะเป็นโฟลเดอร์สาธิต ซึ่งเป็นตัวอย่างที่จะช่วยคุณเริ่มต้นใช้งาน ตัวอย่างเหล่านี้ออกแบบมาเพื่อเรียกใช้จากบรรทัดคําสั่ง เช่น demos/Zend/Gdata/Blogger.php และ demos/Zend/Gdata/Spreadsheet-ClientLogin.php และคุณสามารถดําเนินการได้โดยใช้ php /path/to/example คุณสามารถเรียกใช้ตัวอย่างที่เหลือได้จากทั้งบรรทัดคําสั่งและเว็บเบราว์เซอร์ หากต้องการดูเบราว์เซอร์ในเบราว์เซอร์ ควรวางรายการเหล่านี้ไว้ในไดเรกทอรีที่คุณจะใช้แสดงหน้าเว็บ ตัวอย่างเหล่านี้ควรให้แนวคิดพื้นฐานเกี่ยวกับวิธีเขียนและเรียกใช้แอปพลิเคชันข้อมูลของ Google แต่เมื่อคุณพร้อมรับข้อมูลเพิ่มเติม ก็ยังมีแหล่งข้อมูลอื่นๆ สําหรับโปรแกรมไอทีที่ไม่สงสัย

หมายเหตุ: หากคุณสนใจดูการสาธิตบนเว็บออนไลน์ โปรดไปที่ googlecodesample.com และมองหาแอปพลิเคชัน PHP

ดูข้อมูลเพิ่มเติม

ที่ที่ดีที่สุดในการค้นหาข้อมูลเกี่ยวกับชั้นเรียนที่เป็นส่วนหนึ่งของไลบรารีของไคลเอ็นต์คือคู่มืออ้างอิง API ในเว็บไซต์ Zend Framework ตรวจสอบว่าได้เลือกแพ็กเกจ Zend_Gdata จากเมนูแบบเลื่อนลง

เมื่อถึงตรงนี้ คุณก็ควรเริ่มเขียนโค้ดได้แล้ว ต่อไปก็เขียนแอปพลิเคชันที่ยอดเยี่ยมลงไป เราหวังว่าจะได้เห็นผลลัพธ์ของคุณ

คุณจะพบคู่มือนักพัฒนาซอฟต์แวร์ PHP สําหรับบริการต่อไปนี้

เนื่องจากไลบรารีของไคลเอ็นต์ PHP เป็นโปรเจ็กต์แบบโอเพนซอร์ส เราจึงเพิ่มการรองรับ API มากขึ้นอย่างต่อเนื่อง แต่ละบริการจะมีกลุ่มการสนับสนุนของตัวเอง โปรดดูรายการคําถามที่พบบ่อยของเราสําหรับรายชื่อกลุ่มการสนับสนุนที่มีอยู่

หากต้องการความช่วยเหลือในการแก้ปัญหาการเรียก API อ่านบทความการแก้ไขข้อบกพร่องของคําขอ API โดยใช้เครื่องมือบันทึกการจราจรของข้อมูลในเครือข่ายและการใช้พร็อกซีเซิร์ฟเวอร์กับ Google Data API นอกจากนี้ ยังมีบทความภายนอกจํานวนหนึ่งเกี่ยวกับการติดตั้ง XAMPP ใน Linux และในการติดตั้ง XAMPP ใน Windows นอกเหนือจากบทความเหล่านี้ทั้งหมด โปรดตรวจสอบโพสต์เกี่ยวกับไลบรารีของไคลเอ็นต์ PHP ในบล็อกเคล็ดลับ Google Data API

ภาคผนวก A: การแก้ไขเส้นทาง PHP ในไฟล์การกําหนดค่า php.ini

เส้นทาง PHP คือตัวแปรที่มีรายการสถานที่ตั้งที่ PHP ค้นหาเมื่อมองหาไลบรารีเพิ่มเติมระหว่างการโหลด เพื่อให้ PHP โหลดและเข้าถึงไฟล์ไลบรารีของไคลเอ็นต์ Google Data PHP ในเครื่องหรือเซิร์ฟเวอร์ได้ จะต้องใส่ไฟล์ไว้ในตําแหน่งที่ PHP รู้จัก หรืออาจต้องเพิ่มตําแหน่งของไฟล์ต่อท้ายเส้นทาง PHP ของคุณ โปรดทราบว่าโดยทั่วไปการเปลี่ยนแปลงไฟล์ php.ini จําเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ คุณยืนยันค่าปัจจุบันของตัวแปร include_path ได้ทุกเมื่อโดยไปที่หน้าข้อมูล PHP ที่กล่าวถึงก่อนหน้านี้ มองหาเซลล์ไฟล์การกําหนดค่าที่โหลดในตารางแรก และค้นหาเส้นทางในคอลัมน์ทางขวา

หมายเหตุ: หากพบว่าใช้ PHP จากบรรทัดคําสั่ง คุณอาจต้องแก้ไขตัวแปรเส้นทางเพิ่มเติม โปรดอ่านภาคผนวก B: การใช้ PHP จากบรรทัดคําสั่ง

เมื่อพบไฟล์ php.ini แล้ว ให้ทําตามขั้นตอนต่อไปนี้เพื่อต่อท้ายเส้นทาง

  1. เปิดไฟล์ php.ini ในโปรแกรมแก้ไขข้อความที่ต้องการ
  2. ค้นหาบรรทัดที่อ้างอิงเส้นทาง PHP โดยควรขึ้นต้นด้วย include_path
  3. ต่อท้ายเส้นทางที่คุณจัดเก็บเฟรมเวิร์ก Zend ในรายการสถานที่ที่มีอยู่แล้ว ก่อนกําหนดเส้นทางใหม่ด้วยตัวคั่นที่กําหนดไว้สําหรับระบบปฏิบัติการของคุณ (: ในระบบ Unix เช่น ; บน Windows) เส้นทางที่ถูกต้องในระบบที่เหมือน Unix จะมีลักษณะดังนี้
    /path1:/path2:/usr/local/lib/php/library
    ใน Windows จะมีลักษณะดังนี้
    \path1;\path2;\php\library
  4. บันทึกและปิดไฟล์

หมายเหตุ: ใน Mac OS X เครื่องมือค้นหาจะไม่อนุญาตให้เข้าถึงไฟล์ที่อยู่ในระบบ เช่น ไดเรกทอรี /etc ดังนั้นการแก้ไขที่ง่ายที่สุดอาจทําได้โดยใช้เครื่องมือแก้ไขบรรทัดคําสั่ง เช่น vi หรือ pico ซึ่งทําได้โดยการใช้คําสั่ง เช่น pico /path/to/php.ini

ภาคผนวก B: การใช้ PHP จากบรรทัดคําสั่ง

สําหรับ PHP เวอร์ชัน 5 มียูทิลิตีบรรทัดคําสั่งที่พร้อมใช้งานใน PHP ซึ่งเรียกว่า CLI สําหรับ "คําสั่งตีความบรรทัดคําสั่ง" การใช้ยูทิลิตีนี้จะอนุญาตให้เรียกใช้สคริปต์ PHP จากบรรทัดคําสั่ง สถานการณ์อาจมีประโยชน์เมื่อเรียกใช้ PHP ในเครื่องของคุณและมองหาวิธีทดสอบสคริปต์บางรายการอย่างรวดเร็ว ในเซิร์ฟเวอร์ของคุณ จะต้องมีสิทธิ์เข้าถึง Shell สิ่งสําคัญที่ควรทราบคือ PHP มักจะใช้ไฟล์ php.ini 2 ไฟล์แยกกัน โดยไฟล์หนึ่งมีตัวเลือกการกําหนดค่าสําหรับ PHP ที่ทํางานบนเซิร์ฟเวอร์ และอีกไฟล์หนึ่งสําหรับการกําหนดค่าที่ PHP ใช้เมื่อเรียกใช้จากบรรทัดคําสั่ง หากคุณสนใจที่จะเรียกใช้แอปพลิเคชันสาธิตบรรทัดคําสั่งจากไลบรารีของไคลเอ็นต์ คุณจะต้องแก้ไขไฟล์ php.ini บรรทัดคําสั่งด้วย

หากต้องการค้นหาคําสั่งต่อไปนี้ ให้พิมพ์คําสั่งต่อไปนี้ในระบบที่คล้ายกับ Unix (Mac OS X, Linux และอื่นๆ)

php -i | grep php.ini

คําสั่งนั้นควรทําให้ข้อมูลต่อไปนี้ปรากฏในเทอร์มินัล

Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

หมายเหตุ: แน่นอนว่าตําแหน่งเส้นทางจริง (/etc/php...) อาจแตกต่างกันไปในระบบของคุณ

ภาคผนวก C: คําแนะนําและโซลูชัน

ส่วนนี้จะแสดงสรุปคร่าวๆ ของปัญหาที่นักพัฒนาซอฟต์แวร์ค้นพบเมื่อทํางานกับ PHP และโซลูชันที่เหมาะสม

ปัญหาเกี่ยวกับส่วนขยาย dom-xml ใน XAMPP

ไลบรารีของไคลเอ็นต์ PHP ใช้คลาส DOMDocument เพื่อเปลี่ยนคําขอ XML และการตอบกลับเป็นออบเจ็กต์ PHP ส่วนขยาย dom-xml อาจทําให้เกิดปัญหาในการจัดการ XML และส่งผลให้เกิดการเปลี่ยนที่ไม่ถูกต้อง นักพัฒนาซอฟต์แวร์บางรายพบว่าเมื่อใช้ XAMPP เครื่องมือสร้าง DOMDocument จะถูกลบล้างด้วยการเรียกฟังก์ชันที่เก่ากว่าตามที่อธิบายไว้ในเว็บไซต์ PHP ในการแก้ปัญหานี้ โปรดตรวจสอบว่าไม่มีการเขียนทับการจัดการ XML ในไฟล์ php.ini อย่าลืมนําการอ้างอิงไปยัง php_domxml.dll ออกจากไฟล์การกําหนดค่า

คําขอหมดเวลาเมื่อใช้ไลบรารีของไคลเอ็นต์

หากใช้ไลบรารีของไคลเอ็นต์เพื่อส่งคําขอที่ค่อนข้างใหญ่ เช่น อัปโหลดวิดีโอไปยัง YouTube Data API คุณอาจต้องเปลี่ยนพารามิเตอร์ timeout ในคลาส Zend_Http_Client ซึ่งทําได้อย่างง่ายดายโดยการส่งพารามิเตอร์ $config ระหว่างการสร้างอินสแตนซ์ ซึ่งตั้งค่า timeout เป็นค่าอื่นที่ไม่ใช่ค่าเริ่มต้น 10 วินาที ดังนี้

// assuming your Zend_Http_Client already exists as $httpClient
// and that you want to change the timeout from the 10 second default to 30 seconds

$config = array('timeout' => 30);
$httpClient->setConfig($config);

ผู้ให้บริการโฮสติ้งบางรายไม่อนุญาตให้เชื่อมต่อ https จากเซิร์ฟเวอร์

เราพบว่าผู้ให้บริการโฮสติ้งบางรายไม่อนุญาตให้คุณเชื่อมต่อ https จากเซิร์ฟเวอร์เริ่มต้น หากได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับด้านล่าง คุณอาจต้องเชื่อมต่อ https ผ่านพร็อกซีที่ปลอดภัย

Unable to Connect to sslv2://www.google.com:443. Error #110: Connection timed out

ผู้ให้บริการโฮสติ้งควรมีข้อมูลเกี่ยวกับที่อยู่จริงของพร็อกซีเซิร์ฟเวอร์ที่จะใช้ ข้อมูลโค้ดด้านล่างนี้สาธิตวิธีใช้การกําหนดค่าพร็อกซีที่กําหนดเองกับไลบรารีของไคลเอ็นต์ PHP

// Load the proxy adapter class in addition to the other required classes
Zend_Loader::loadClass('Zend_Http_Client_Adapter_Proxy');

// Configure the proxy connection with your hostname and portnumber
$config = array(
    'adapter'    => 'Zend_Http_Client_Adapter_Proxy',
    'proxy_host' => 'your.proxy.server.net',
    'proxy_port' => 3128
);

// A simple https request would be an attempt to authenticate via ClientLogin
$proxiedHttpClient = new Zend_Http_Client('http://www.google.com:443', $config);

$username = 'foo@example.com';
$password = 'barbaz';

// The service name would depend on what API you are interacting with, here
// we are using the Google DocumentsList Data API
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;

// Try to perform the ClientLogin authentication using our proxy client.
// If there is an error, we exit since it doesn't make sense to go on.
try {

  // Note that we are creating another Zend_Http_Client
  // by passing our proxied client into the constructor.

  $httpClient = Zend_Gdata_ClientLogin::getHttpClient(
      $username, $password, $service, $proxiedHttpClient);

} catch (Zend_Gdata_App_HttpException $httpException) {

  // You may want to handle this differently in your application
  exit("An error occurred trying to connect to the proxy server\n" .
      $httpException->getMessage() . "\n");

}

ประวัติการแก้ไข

1 ตุลาคม 2008

อัปเดตโดย Jochen Hartmann การอัปเดตนี้มีการเปลี่ยนแปลงต่อไปนี้

  • กําหนดค่า PHP สําหรับเว็บเซิร์ฟเวอร์ให้ชัดเจนยิ่งขึ้นโดยการย้ายส่วนที่อ้างอิง PHP ของบรรทัดคําสั่งไปยังภาคผนวก
  • เพิ่มหมายเหตุเกี่ยวกับไฟล์การกําหนดค่า php.ini หลายรายการ
  • เพิ่มส่วนเกี่ยวกับวิธีรวม total_path แบบไดนามิก
  • เพิ่มส่วนสคริปต์สคริปต์ตรวจสอบการติดตั้งแล้ว
  • เพิ่มลิงก์ไปยังตัวอย่างออนไลน์
  • เพิ่มลิงก์สําหรับ XAMPP และ MAMP แล้ว
  • เพิ่มภาคผนวก "คําแนะนําและโซลูชัน"