為了測試一個模擬登陸163郵箱的例子,在這個過程中遇到了一個大問題:未定義的curl_init函數。然后上網各種找,關於解決方法是一大堆,我也一一嘗試,結果還是未能解決我的問題。知道看到一個連接一片博客《PHP菜鳥手記——如何解決無法裝載動態鏈接庫的問題》(http://www.cnblogs.com/perhaps/archive/2010/11/15/1877653.htm)才徹底解決了我的問題。所以我想記錄下。
關於未定義的curl_init函數是由於未能加載php_curl模塊造成的。一般的解決方法是:
(1)找到php安裝目錄下的php.ini配置文件,去掉extension=php_curl前面的;(注釋符號)號,並找到extension_dir去掉前面的注釋符號,把ext(在php安裝目錄下這個文件夾)的路徑賦值給extension_dir。
(2)由於php_curl.dll(在前面的ext文件夾下)的運行依賴與libeay32.dll和ssleay32.dll庫(在php安裝目錄下),所以需要在Apache的配置文件httpd.conf中加載這兩個庫:
LoadFile "D:/PHP/PHP/libeay32.dll" LoadFile "D:/PHP/PHP/ssleay32.dll"
(3)在環境變量中加入php的安裝目錄。
完成以上三步,如果還有問題。那么就是接下來要講的:
在網上大多給出的說法是php_curl庫依賴於libeay32.dll和ssleay32.dll庫,其實你要是使用查看庫依賴的工具的話,會發現它還依賴於zlib.dll庫。所以在你完成以上三步之后問題還是存在的原因就是在這里。接下來就是去下個zlib.dll庫=》http://www.zlib.net/,當然下載之后的名字要改為zlib.dll,然后放到你的php安裝目錄下。
