今天介紹PHP的Client URL Library,簡稱cURL,我們利用cURL將可以使被動處理的伺服器應用程式具有主動請求的程式。
cURL提供我們和其他伺服器通訊的功能(當作一個Client端),支援的通訊協定有HTTP、HTTPS、FTP、Gopher、Telnet、DICT、file與LDAP通訊協定,詳細的說明請參考PHP網站文件,位於PHP Manual > Function Reference > Other Services之中。
主要是因為小黑學弟最近架設了新的網站,在 php.ini設定檔中開啟cURL功能,明明就是一個很簡單的設定,可是怎麼設定都發生錯誤,錯誤訊息是:
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_curl.dll' - \xa7\xe4\xa4\xa3\xa8\xec\xab\xfc\xa9w\xaa\xba\xbc\xd2\xb2\xd5\xa1C\r\n in Unknown on line 0
[Sat Nov 06 00:00:00 2010] [notice] Apache/2.2.16 (Win32) PHP/5.2.14 configured -- resuming normal operations
[Sat Nov 06 00:00:00 2010] [notice] Server built: Jul 30 2010 16:15:37
[Sat Nov 06 00:00:00 2010] [notice] Parent: Created child process 7520
PHP Warning: PHP Startup: Unable to load dynamic library c:\\php\\'ext\\php_curl.dll' - \xa7\xe4\xa4\xa3\xa8\xec\xab\xfc\xa9w\xaa\xba\xbc\xd2\xb2\xd5\xa1C\r\n in Unknown on line 0
[Sat Nov 06 00:00:01 2010] [notice] Child 7520: Child process is running
[Sat Nov 06 00:00:01 2010] [notice] Child 7520: Acquired the start mutex.
[Sat Nov 06 00:00:01 2010] [notice] Child 7520: Starting 64 worker threads.
[Sat Nov 06 00:00:01 2010] [notice] Child 7520: Starting thread to listen on port 80.
經過十多個小時的努力debug查明原因,「無法載入動態程式庫php_curl.dll」就是因為PHP版本,PHP 5.2.14版本不知道是什麼原因造成php_curl.dll錯誤。經過實地測試 5.2.6至5.2.13版的PHP,這些版本都能夠成功使用cURL功能。
經過這次的經驗,我們必須記住一件事:軟體版本的更新雖然存在著「向下相容」與「修正錯誤」的原則,但是永遠不代表既有功能不會發生問題。當時遇到這個cURL問題一直以為是設定錯誤,直到最後才發現是版本問題...
難道這就是「墨菲定律(Murphy's law):凡是可能出錯的事均會出錯。」
###
搜尋此網誌
2010年11月6日 星期六
訂閱:
張貼留言 (Atom)
熱門文章
-
即時串流通信協定 ( Real Time Streaming Protocol , RTSP) 是應用層的通訊協定,定義在 RFC 2326 規範中,RTSP 是用來控制具有即時與同步特性的資料,如音訊和視訊的媒體,資料來源包含現場即時轉播和儲存的片段剪輯,媒體資料與控制資料是...
-
對於想接觸 電力電子 (Power Electronics) 這個領域的學生來說,會有不知道該如何著手的問題,我也遇過,總希望有人可以跟你講,這篇文章提供給大家參考,電力電子領域當中有幾本極為重要的 經典著作 (Classic) ,很多學校都是用這些書籍當作教科書,問題是如果...
-
形態學影像處理 (Morphological Image Processing),依據 Gonzalez與Woods的書本上說明\:影像處理的形態學是依據 數學形態學 ( Mathematical Morphology , MM)的應用之一,並且是以數學理論為運算的基礎(集合理論...
-
One picture is worth more than ten thousand words. (A picture is worth a thousand words.) 今天介紹 數位影像處理(Digital Image Processing) 的聖經,這本書是在...
-
今天跟大家介紹的不是什麼專業技術,而是健康知識!Why?因為 疱疹(Herpes) 這種疾病可能是工程師會得到的常見疾病,而且沒有藥可以治癒,唯一的解藥是你自己的免疫與抵抗力。病發原因主要是:熬夜、疲勞、壓力大、睡眠不足、抵抗力差時才會發生疱疹。(這不是現在RD的情形嗎...)...
-
談談 元件物件模型 ( Component Object Model, COM) 這個主題吧!前一陣子都在研究 DirectShow,常常看到 COM 這個關鍵字。由於最近才變成 Windows 程式開發人員所以不熟悉 COM,趁此機會好好研究一番吧! 請注意: COM 是一...
-
起因於"大話設計模式"一書,我將重新學習 Design Pattern (設計模式)這項觀念,對於 資訊工程 類科的學生可能不陌生,但是對於一直都主修 電機工程 (Electrical Engineering, EE) 的我而言是不熟悉的觀念,雖然說現在 E...
-
subprocess 是 Python 程式語言中用來新增子行程的模組,這是在 PEP 324 中所提出的建議,主要是統一 Python 新增子行程的方法,用來取代 os.system, os.spawn*, os.popen*, popen2.*, commands.* ...
-
人月神話之外,另一本軟體開發管理的經典著作! 與大家介紹一下這本「 約耳趣談軟體:來自專案管理的現場實錄 (Joel on Software) 」,當我買了之後閱讀,才發現所有的文章(不知道是不是全部)在網站上都有( Joel on Software Translation ...
-
NSIS (Nullsoft Scriptable Install System) 是一套建置 Windows 安裝程式 (installers) 的開源軟體,用來將程式或文件打包成一個執行檔給客戶安裝使用。NSIS 採用腳本 (Script) 的方式建置 Windows 安裝...
沒有留言:
張貼留言