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

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

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

บทนำ

ไลบรารีของไคลเอ็นต์ PHP สำหรับ Google Data เป็นคอลเล็กชันคลาสที่มีประสิทธิภาพซึ่งช่วยให้คุณโต้ตอบกับ 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 บรรทัดคำสั่งของบทความนี้

การติดตั้ง PHP

การติดตั้งจะแตกต่างกันไปเล็กน้อยตามแพลตฟอร์ม ดังนั้นคุณจึงควรทำตามวิธีการสำหรับแพลตฟอร์มของคุณโดยเฉพาะในระหว่างการติดตั้ง ก่อนที่จะเจาะลึก เราขอชี้ให้เห็นว่าแพ็กเกจที่ติดตั้งไว้ล่วงหน้าซึ่งรวมถึงเว็บเซิร์ฟเวอร์ Apache และฐานข้อมูล MySQL พร้อมกับ PHP ได้รับความนิยมเพิ่มขึ้น สำหรับ Windows, Mac OS X และ Linux มีโปรเจ็กต์ XAMPP ผู้ใช้ Mac OS X ยังมีตัวเลือกในการใช้โปรเจ็กต์ MAMP ด้วย ทั้ง 2 แพ็กเกจนี้รองรับ 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 ยังมีวิธีการสำหรับเซิร์ฟเวอร์อื่นๆ ด้วย

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

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

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

  1. ดาวน์โหลดไฟล์ไลบรารีไคลเอ็นต์ข้อมูลของ Google (ค้นหา "Google Data APIs" ในหน้านั้น)
  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 (หรือหากคุณเขียนโค้ดในเครื่อง) ให้ทำตามวิธีการในภาคผนวก ก หากคุณใช้เว็บเซิร์ฟเวอร์ 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>

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

หากไม่มีสิทธิ์เข้าถึงเชลล์ในเซิร์ฟเวอร์และแก้ไขหรือสร้างไฟล์ .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

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

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

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

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

หมายเหตุ: โปรดทราบว่าเครื่องมือตรวจสอบการติดตั้ง 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 Data แต่เมื่อคุณพร้อมที่จะเรียนรู้เพิ่มเติม ก็มีแหล่งข้อมูลอื่นๆ สำหรับโปรแกรมเมอร์ที่อยากรู้

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

ดูข้อมูลเพิ่มเติมได้ที่ใด

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

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

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

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

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

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

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

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

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

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

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

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

ตั้งแต่ PHP เวอร์ชัน 5 เป็นต้นไป PHP มีโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่เรียกว่า CLI สำหรับ "ตัวแปลคำสั่งบรรทัดคำสั่ง" การใช้ยูทิลิตีนี้จะช่วยให้เรียกใช้สคริปต์ PHP จากบรรทัดคำสั่งได้ สถานการณ์ที่อาจเป็นประโยชน์คือหากคุณเรียกใช้ PHP ในเครื่องและกำลังมองหาวิธีทดสอบสคริปต์บางอย่างอย่างรวดเร็ว แน่นอนว่าคุณจะต้องมีสิทธิ์เข้าถึงเชลล์ในเซิร์ฟเวอร์ สิ่งสำคัญที่ควรทราบคือโดยปกติแล้ว 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...) อาจแตกต่างกันในระบบของคุณ

ภาคผนวก ค: เคล็ดลับและวิธีแก้ปัญหา

ส่วนนี้มีโครงร่างโดยย่อของปัญหาบางอย่างที่นักพัฒนาซอฟต์แวร์ค้นพบเมื่อทำงานกับ 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 หลายไฟล์
  • เพิ่มส่วนเกี่ยวกับวิธีตั้งค่า include_path แบบไดนามิก
  • เพิ่มส่วนเกี่ยวกับสคริปต์ตัวตรวจสอบการติดตั้ง
  • เพิ่มลิงก์ไปยังตัวอย่างออนไลน์
  • เพิ่มลิงก์สำหรับ XAMPP และ MAMP
  • เพิ่มภาคผนวก "คำแนะนำและวิธีแก้ปัญหา"