導航:首頁 > 編程語言 > phpcurlopenssl

phpcurlopenssl

發布時間:2023-06-10 09:10:23

php5.3版本openssl啟用失敗。

1將php安裝目錄下ext下的php_openssl.dll、libeay32.dll、ssleay32.dll 、php_xmlrpc.dll、php_curl.dll文件復制到windows下的system或者system32文件夾中。
2將php.ini復制到windows文件夾中,打開php.ini,將「;extension=php_openssl.dll」等一些列拓展前面分號去掉;
3重啟IIS或者Apache,或者其他web伺服器 伺服器!

⑵ PHP Curl出現403錯誤怎麼辦

使用curl抓網頁下來處理,為了穿牆方便,使用Privoxy作為代理,便於選擇哪些網站使用proxy、哪些不用。但今天卻遇到了奇怪的問題,訪問google這些網站居然都返回403錯誤,而訪問其他的一些網站沒事,如果設置為不使用proxy則都能正常訪問。
難道google就不讓用proxy連接么?顯然不可能,所以打開curl的信息輸出(curl_setopt($this->mSh,CURLOPT_VERBOSE,1);)看看,得到以下結果:
.代碼如下:
*Trying127.0.0.1...*connected
*Connectedto127.0.0.1(127.0.0.1)port8118(#0)
*EstablishHTTPproxytunneltowww..com:80
>CONNECTwww..com:80HTTP/1.0
Host:www..com:80
User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)
Proxy-Connection:Keep-Alive
<HTTP/1.0403Connectionnotallowable
<X-Hint:,thenyouknowwhythishappens,-)
<
*TherequestedURLreturnederror:403
*
*Closingconnection#0
...Failed.
可以看到proxy伺服器工作正常,的確是返回了403錯誤,但原因肯定還在我這邊。終於,從網上(1of2,2of2)得到了點啟發──我使用的是proxytunnel而非proxy。
在代碼中,有這么一句:
.代碼如下:
curl_setopt($this->mSh,CURLOPT_HTTPPROXYTUNNEL,true);
curl_setopt($this->mSh,CURLOPT_PROXY,$phost);
php文檔中沒有詳細說明,不過mancurl中有詳細解釋,兩者都是代理,proxytunnel(-p參數)允許其他協議通過http代理傳輸,而proxy(-x參數)則只能走http協議。所以我猜測,google的伺服器和curl的proxytunnel不和,所以返回403。
禁用掉上面2行代碼的第一句後,curl訪問恢復正常。
比較奇怪的是,幾種操作系統下還不一樣,一台MACOSX就要顯式的禁用proxytunnel才可以,curl版本:
.代碼如下:
$curl--version
curl7.16.3(powerpc-apple-darwin9.0)libcurl/7.16.3OpenSSL/0.9.7lzlib/1.2.3
Protocols:
Features:GSS-
而另外一台ubuntu則完全不受影響,怎麼都能用,curl版本:
.代碼如下:
$curl--version
curl7.18.2(i486-pc-linux-gnu)libcurl/7.18.2OpenSSL/0.9.8gzlib/1.2.3.3libidn/1.10
Protocols:
Features:GSS-
MT主機上的centos也沒事,curl版本:
.代碼如下:
$curl--version
curl7.15.5(i686-redhat-linux-gnu)libcurl/7.15.5OpenSSL/0.9.8bzlib/1.2.3libidn/0.6.5
Protocols:
Features:GSS-
看來不完全是curl版本問題,MACOSX的確與眾不同啊。
還有一個原因也會導致curl返回403錯誤,如果設置了:
.代碼如下:
curl_setopt($ch,CURLOPT_NOBODY,true);
則需要緊跟著設置:
.代碼如下:
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'GET');
不然會因為http伺服器不允許HEAD命令而返回403錯誤。參考:TroublewithacURLrequestinPHP(forums.devshed.com/php-development-5/trouble-with-a-curl-request-in-php-445222.html)。MACOSX上curl之所以特殊,也不排除是這種原因

⑶ 我想問下php這個curl為什麼耗時特長,我在瀏覽器直接訪問url是有結果的

  1. 跨域請求邏輯盡量要清晰點

  2. 另外函數使用要找效率高點的內置函數,不知道為什麼你的那麼多邏輯判斷,很耗時的;

  3. 不要把判斷邏輯放到curl裡面去


⑷ 如何配置php伺服器

一、Apache安裝
版本解釋:openssl是表示帶有openssl模塊,利用openssl就可以給Apache配置SSL安全鏈接的,也就是使用https://方式進行訪問。
nossl則表示不帶OpenSSL模塊,無法用於SSL安全鏈接,在這里我們下載帶OpenSSL的。
選擇版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi
下載地址:http://www.apache.org/dist/httpd/binaries/win32/
首先我們在D盤(盤符根據實際情況自己選擇)新建一個目錄,
並且命名為「WAMP」其意義為「Wdindows Apache Mysql PhpMyAdmin」 之後安裝的一些內容,也都將安裝在該目錄下。
1.安裝說明:
運行apache安裝程序,方法非常簡單,彈安裝界面後一直「next」
接著會出現一個界面,需要填寫3個內容,分別為:Network Domain、Server Name、Administrator』s Email Address 隨便填寫就好,不影響內容。
在下面還有2個選項,默認選擇為80埠,第二個為8080埠,根據個人需求選擇,一般為默認80埠。
我們繼續安裝,選擇Custom(自定義安裝)-「next」
其中有打著紅X的組件,我們單擊這個組件容,選擇「This feature, and all subfeatures, will be installed on local hard drive.」,即「此部分,及下屬子部分內容,全部安裝在本地硬碟上」。-「next」
然後選擇右下角的「change 」改變安裝路徑,安裝到剛才建立的目錄中「D:\WAMP\Apache\」-「next」
安裝完畢後,電腦右下角會多出一個圖標,雙擊打開,選擇start或restart,能正常運行,至此安裝完畢。
2.修改配置:
打開安裝錄下D:\WAMP\Apache\conf\httpd.conf 文件(修改配置文件時,不建議使用記事本,可能會對其造成影響,推薦使用Notepad++或其他編輯軟體打開修改)
打開以後Ctrl+F查找所要修改的內容
在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加:
LoadMole php5_mole 「D:/WAMP/PHP/php5apache2_2.dll」
PHPIniDir 「D:/WAMP/PHP」
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DocumentRoot 「E:/WAMP/Apache/htdocs」
修改成(這里的路徑和IIS中wwwroot目錄一樣,用於存放網頁,自定義或不做修改默認):DocumentRoot 「D:/WAMP/www」
修改成(自定義或不做修改默認):
DirectoryIndex index.html
修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm
3.測試
在D:/WAMP/www目錄下 建立個index.html頁面
在瀏覽器中輸入 http://localhost/
如果能正常顯示,Apache配置完畢,已經正常運行。
二、MySql安裝
版本解釋:The Essentials Package:不包含 embedded server and benchmark suite,有自動安裝程序和配置向導,沒有MySQL Documentation。
The Complete Package:包含 embedded server and benchmark suite,有自動安裝程序和配置向導,有MySQL Documentation。
The Noinstall Archive:包含 embedded server and benchmark suite,沒有自動安裝程序和配置向導,有MySQL Documentation。
選擇版本:mysql-essential-5.1.44-win32.msi
下載地址:http://www.mysql.com/downloads/mysql/
1.安裝說明:
打開安裝程序,單擊「next」
選擇custom,組件為默認選擇,我們不做改動-「next」
路徑設置為「D:\WAMP\Mysql」-「next」
安裝好以後點擊「finish」
跟著會出現一個配置向導-「next」
選擇「Detailed Configuration(詳細配置)」-「next」
這里有3個選項:
Developer Machine,將只用盡量少的內存;
Server Machine,將使用中等數量內存;
Dedicated MySQL Server Machine,這台伺服器上面只跑mysql資料庫,將佔用全部的內存。
可以根據自己需求選擇,這里我們選擇第二種「Server Machine」-「next」
選擇資料庫用途,同樣有3個選項:
Mutltifunctional Database多功能用途,將把資料庫優化成很好的innodb存儲類型和高效率的myisam存儲類型;
Transactional Database Only只用於事務處理類型,最好的優化innodb,但同時也支持myisam;
Non-Transactional Databse Only非事務處理類型,適合於簡單的應用,只有不支持事務的myisam類型是被支持的。
一般選擇第一種多功能的,同樣我們也是。-「next」
選擇InnodDB的數據存放位置,一般默認就行,為了統一我填寫了「WAMP/MySQL Datafiles」-「next」
選擇mysql允許的最大連接數,第一種是最大20個連接並發數,第二種是最大500個並發連接數,最後一種是自定義,自己可以根據需求選擇,我選擇第二個-「next」
下面是選擇資料庫監聽的埠,一般默認是3306,如果改成其他埠,以後連接資料庫的時候都要記住修改的埠,否則不能連接mysql資料庫,比較麻煩,這里不做修改,用mysq的默認埠:3306-「next」
這一步設置mysql的默認編碼,我們選擇第三個,並在Character Set菜單中,選擇「gbk」編碼-「next」
(註:如果要用原來資料庫的數據,最好能確定原來資料庫用的是什麼編碼,如果這里設置的編碼和原來資料庫數據的編碼不一致,在使用的時候可能會出現亂碼。)
這一步是是否要把mysql設置成windows的,一般選擇設成服務,這樣以後就可以通過服務中啟動和關閉mysql資料庫。下面的復選框也勾選上,這樣,在cmd模式下,不必非到mysql的bin目錄下執行命令。也就是把上下2個勾都打上,中間默認-「next」
這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,對mysql擁有全部的許可權,請設置好並牢記超級用戶的密碼,下面有個復選框是選擇是否允許遠程機器用root用戶連接到你的mysql伺服器上面,如果有這個需求,也請勾選。這里我們使用默認選擇,在New root password和Confirm中輸入密碼。「next」
點擊「execute」進行配置,稍微等待一會,圓點上的勾全部打上,就代表配置完畢。
2.修改配置:
打開D:\WAMP\MySQL\my.ini
設置datadir為D:/WAMP/MySQL/data/或你所要存放數據位置的目錄即可。
三、PHP安裝
版本解釋:VC9 專門為IIS定值的腳本,使用Visual Studio 2008編譯器編譯,支持最新的微軟組建,從而提高效率。
VC6 是為了其他WEB服務軟體提供的腳本 如 Apache。
Thread Safe 現成安全,之星時會進行線程 安全檢查,以防止有心要求就啟動新線程(Thread)的CGI執行方式而耗盡系統資源。
Non Thread Safe是非線程安全,在執行時不進行線程(Thread)安全檢查
選擇版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下載
下載地址:http://windows.php.net/download/
1.安裝說明
由於我們下載的的是ZIP壓縮包,只需要將文件解壓到「D:\WAMP\PHP」目錄下即可
2.修改配置
將E:\WAMP\PHP\php.ini-development 文件修改成php.ini
打開php.ini
; extension_dir = 「ext」
修改成:extension_dir = 「E:\WAMP\PHP\ext」
將947行下,這些文件前面的「;」去除
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
;date.timezone =
修改成(很多網站沒提到這里要修改,默認為美國時間,如果不修改會報錯):date.timezone = Asia/Shanghai
3.測試
重啟Apache(修改過配置文件 必須重啟Apache才會生效)
新建個index.php 頁面,代碼中輸入,保存文件放到「D:\WMAP\www\」目錄下
打開瀏覽器輸入:http://localhost/index.php 如果能正常顯示,說明PHP配置完畢,可以查看該頁面的PHP信息是否正確。
(註:在改文件中輸入函數可輸出大量的有關PHP當前狀態的信息,如PHP版本,伺服器信息和環境等。)
(註:)
接著我們測試下,是否能連接到Mysql
再新建個link.php,下代碼中輸入
$link=mysql_connect(「127.0.0.1″,」root」,」Mysql安裝時填寫的密碼」);
if(!$link) echo 「Mysql資料庫連接失敗!」;
else echo 「Mysql資料庫連接成功!」;
mysql_close();
?>
也保存文件放到「D:\WMAP\www\」目錄下
打開瀏覽器輸入:http://localhost/link.php 查看
四、PhpMyAdmin安裝
版本解釋:phpMyAdmin-3.2.5
選擇版本:phpMyAdmin-3.2.5-all-languages.zip
下載地址:http://www.phpmyadmin.net/home_page/downloads.php
1.安裝說明
解壓到D:\WAMP\phpMyAdmin
2.修改配置
打開D:\WAMP\phpMyAdmin\libraries\config.default.php
$cfg['PmaAbsoluteUri'] = 」;
修改成(填寫訪問phpMyAdmin的絕對URL):$cfg['PmaAbsoluteUri'] = 『http://localhost/PHPMyadmin/』;
$cfg['Servers'][$i]['host'] = 『localhost』;
修改成(填寫伺服器地址,通常默認,不需要修改):$cfg['Servers'][$i]['host'] = 『localhost』;
$cfg['Servers'][$i]['user'] = 『root』;
修改成(填寫Mysql用戶名,這里我們默認):$cfg['Servers'][$i]['user'] = 『root』;
$cfg['Servers'][$i]['password'] = 」;
修改成(填寫Mysql密碼):$cfg['Servers'][$i]['password'] = 『Mysql PWD;
$cfg['Servers'][$i]['auth_type'] = 『cookie』;
修改成(設置認證方法,安全因素考慮,填寫成cookie):$cfg['Servers'][$i]['auth_type'] = 『cookie』;
$cfg['blowfish_secret'] = 」;
修改成(設置短語密碼,如果上面設置成cookie,那這里不能留空,不然登陸會提示錯誤):$cfg['blowfish_secret'] = 『cookie』;
3.測試
打開瀏覽器輸入:http://localhost/phpmyadmin/ 訪問和登陸

閱讀全文

與phpcurlopenssl相關的資料

熱點內容
id加密門禁卡可以復制到手機嗎 瀏覽:672
路由器如何控制某個app 瀏覽:43
C51編譯器在標准C的基礎上 瀏覽:260
銀行卡掉了可以辦車貸解壓嗎 瀏覽:317
沒解壓可以貸款嗎 瀏覽:517
最小pdf閱讀器 瀏覽:808
游戲被加密了怎樣用電腦打開 瀏覽:300
藍燈如何手動選擇伺服器 瀏覽:85
伺服器設置在中國意味什麼 瀏覽:571
單片機不能進行選擇控制 瀏覽:694
咕咚手錶如何綁定手機app 瀏覽:530
命令虛擬語氣 瀏覽:405
戴爾系統命令 瀏覽:583
怎樣壓縮視頻文件大小 瀏覽:686
51單片機信號發生器 瀏覽:56
米拍攝影哪個app好 瀏覽:88
天津致遠曙光伺服器雲伺服器 瀏覽:117
光子程序員怎麼獲得 瀏覽:535
中醫診斷學第九版pdf 瀏覽:498
python集成包 瀏覽:305