คำเตือน: หน้านี้เป็นข้อมูลเกี่ยวกับ Google Data API ซึ่งเป็น API รุ่นเก่าของ Google โดยเกี่ยวข้องกับ API ที่แสดงอยู่ในไดเรกทอรี Google Data API เท่านั้น ซึ่ง API หลายรายการถูกแทนที่ด้วย API รุ่นใหม่กว่าแล้ว ดูข้อมูลเกี่ยวกับ API ใหม่ที่เฉพาะเจาะจงได้ในเอกสารประกอบของ API ใหม่ ดูข้อมูลเกี่ยวกับการให้สิทธิ์คำขอด้วย API เวอร์ชันใหม่กว่าได้ที่การตรวจสอบสิทธิ์และการให้สิทธิ์บัญชี Google
วิดีโอ: ดู Trevor Johns อธิบายการติดตั้งไลบรารีของไคลเอ็นต์ สถาปัตยกรรมของไลบรารี และการแนะนำโค้ด
อัปเดตเมื่อเดือนตุลาคม 2008 (เขียนโดย Daniel Holevoet)
- บทนำ
- ก่อนการติดตั้ง
- การติดตั้ง PHP
- การติดตั้งไลบรารีของไคลเอ็นต์ PHP สำหรับ Google Data
- ตรวจสอบว่าคุณเข้าถึงไฟล์ไลบรารีของไคลเอ็นต์ได้
- แหล่งข้อมูลเพิ่มเติม
- ภาคผนวก ก: การแก้ไขเส้นทาง PHP ในไฟล์การกำหนดค่า
php.ini
- ภาคผนวก ข.: การใช้ PHP จากบรรทัดคำสั่ง
- ภาคผนวก C: คำแนะนำและวิธีแก้ปัญหา
- ประวัติการแก้ไข
บทนำ
ไลบรารีของไคลเอ็นต์ PHP สำหรับ Google Data เป็นคอลเล็กชันคลาสที่มีประสิทธิภาพซึ่งช่วยให้คุณโต้ตอบกับ Google Data API ได้ ซึ่งแตกต่างจากไลบรารีของไคลเอ็นต์อื่นๆ โดยจะรวมอยู่ใน Zend Framework ที่ได้รับความนิยม แต่ก็สามารถดาวน์โหลดแยกต่างหากได้เช่นกัน เช่นเดียวกับไลบรารีไคลเอ็นต์อื่นๆ ไลบรารีนี้ยังเป็นโอเพนซอร์สและออกแบบมาให้ใช้งานง่ายและมีประสิทธิภาพ ซึ่งจะช่วยให้คุณเริ่มต้นโปรเจ็กต์ได้อย่างรวดเร็ว
ก่อนการติดตั้ง
คุณอาจติดตั้ง PHP ไว้ในเครื่องที่ใช้พัฒนาหรือเว็บเซิร์ฟเวอร์อยู่แล้ว ดังนั้นขั้นตอนแรกคือการยืนยันข้อเท็จจริงดังกล่าวและตรวจสอบว่า PHP เป็นเวอร์ชันล่าสุดที่สามารถใช้กับไลบรารีของไคลเอ็นต์ได้ วิธีที่ง่ายที่สุดในการตรวจสอบคือการวางไฟล์ใหม่ลงในไดเรกทอรีที่เข้าถึงได้บนเว็บในเซิร์ฟเวอร์ พิมพ์ข้อมูลต่อไปนี้ลงในไฟล์
<?php phpinfo(); ?>
จากนั้นตรวจสอบว่าเข้าถึงได้จากเว็บโดยการตั้งค่าสิทธิ์ที่เหมาะสม แล้วไปที่ตำแหน่งของไฟล์จากภายในเบราว์เซอร์ หากติดตั้ง 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
- เลือกตัวเลือกโปรแกรมติดตั้ง PHP (ในส่วนไบนารีของ Windows) ที่สอดคล้องกับ PHP เวอร์ชันล่าสุด แล้วอนุญาตให้ดาวน์โหลด
- เปิดโปรแกรมติดตั้งและทำตามวิธีการของวิซาร์ดการติดตั้ง
- เมื่อวิซาร์ดแจ้ง ให้เลือกเว็บเซิร์ฟเวอร์ที่ติดตั้งในระบบ เพื่อให้วิซาร์ดกำหนดค่าเซิร์ฟเวอร์ให้ทำงานกับ PHP
- ตรวจสอบการติดตั้งโดยทำตามขั้นตอนที่ระบุไว้ในส่วนด้านบน
ใน 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 ที่สมบูรณ์ แต่คุณไม่จำเป็นต้องดาวน์โหลดทั้งเฟรมเวิร์กเนื่องจากเราได้รวมคลาสเหล่านั้นไว้ในการดาวน์โหลดแบบสแตนด์อโลนแล้ว
- ดาวน์โหลดไฟล์ไลบรารีไคลเอ็นต์ข้อมูลของ Google (ค้นหา "Google Data APIs" ในหน้านั้น)
- คลายการบีบอัดไฟล์ที่ดาวน์โหลด คุณควรสร้างไดเรกทอรีย่อย 4 รายการ ดังนี้
demos
- แอปพลิเคชันตัวอย่างdocumentation
- เอกสารประกอบสำหรับไฟล์ไลบรารีของไคลเอ็นต์library
— ไฟล์แหล่งที่มาของไลบรารีของไคลเอ็นต์จริงtests
— ไฟล์การทดสอบหน่วยสำหรับการทดสอบอัตโนมัติ
- เพิ่มตำแหน่งของโฟลเดอร์
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.ini
จริงๆ เท่านั้น ภาพหน้าจอด้านล่างแสดงว่าตั้งค่า include_path
เป็น /path/to/nowhere

หมายเหตุ: โปรดทราบว่าเครื่องมือตรวจสอบการติดตั้ง 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
แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อต่อท้ายเส้นทาง
- เปิดไฟล์
php.ini
ในโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ - ค้นหาบรรทัดที่อ้างอิงเส้นทาง PHP ซึ่งควรขึ้นต้นด้วย
include_path
- ต่อท้ายเส้นทางที่คุณจัดเก็บ Zend Framework ไปยังรายการตำแหน่งที่มีอยู่แล้ว โดยนำหน้าเส้นทางใหม่ด้วยตัวคั่นที่กำหนดไว้สำหรับระบบปฏิบัติการของคุณ (
:
ในระบบที่คล้าย Unix,;
ใน Windows) เส้นทางที่ถูกต้องในระบบที่คล้าย Unix จะมีลักษณะดังนี้ ใน Windows จะมีลักษณะดังนี้/path1:/path2:/usr/local/lib/php/library
\path1;\path2;\php\library
- บันทึกและปิดไฟล์
หมายเหตุ: ใน 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
- เพิ่มภาคผนวก "คำแนะนำและวิธีแก้ปัญหา"