在網上下載了一個模擬登陸discuz論壇的php程序范例,試運行時出現“Call to undefined function curl_init”這個錯誤提示,沒有定義的函數,也就是php還沒打開對curl_init函數的支持。Google了一番終於解決了,方法如下:
系統環境,WIN2003 IIS6,PHP版本5.2.12
在裝好PHP後,執行類似$ch = curl_init();這樣的語句,出現Call to undefined function curl_init()的錯誤提示。
解決方法如下:
1、在php.ini中找到extension=php_curl.dll,去掉前面的,php.ini一般在c:\windows下面。
2、在php.ini中找到extension_dir = "ext",去掉前面的;,改為extension_dir = "C:\php5\ext"。
"C:\php5\ext"只是示例,即擴展指向的路徑要對
3、php_curl.dll、libeay32.dll、ssleay32.dll、php5ts.dll都拷到system32下面去。
4、然後重啟電腦,故障解決。
注意:在PHP的5.2.8版本中不知道什麼原因,用這方法無法解決,換成了5.2.12才解決掉。
以windows下的php+apache為例。
首先,打開php.ini,找到“extension=php_curl.dll”,然後去掉前面的“;”注釋,重啟apache即可。
如果還出現此類問題,先檢查php.ini的extension_dir值是哪個目錄,在那個目錄下檢查有無php_curl.dll,沒有的話請下載php_curl.dll,再把php目錄中的libeay32.dll和ssleay32.dll拷到c:\windows\system32裡面,重啟apache,OK!
在Ubuntu 下運行php,總是提示Call to undefined function curl_init(),原因沒有安轉:php5-curl
與curl相關的內容見:http://packages.ubuntu.com/zh-cn/intrepid/php5-curl
CURL is a library for getting files from FTP, GOPHER, HTTP server.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dinamically generated pages quickly. This version of PHP5 was built with the Suhosin patch.
H1>
(PHP 4 >= 4.0.2)
curl_init -- 初始化一個CURL會話
描述
int curl_init ([string url])
curl_init()函數將初始化一個新的會話,返回一個CURL句柄供curl_setopt(), curl_exec(),和 curl_close() 函數使用。如果可選參數被提供,那麼CURLOPT_URL選項將被設置成這個參數的值。你可以使用curl_setopt()函數人工設置。
例 1. 初始化一個新的CURL會話,且取回一個網頁
<?php
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://www.zend.com/");
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
?>
參見:curl_close(), curl_setopt()