iT邦幫忙

0

PHP5.3.0 crul接收HTTPS的回傳值

在本地端用PHP7.2.1
用本地的版本下可以成功的對HTTPS做傳接值
但一傳到線上卻失敗
線上的版本是5.3.0
新手嫩嫩不知道是不是版本差異的問題所以導致無法正常傳接值

本地端版本:
https://ithelp.ithome.com.tw/upload/images/20190803/20117765b0J4qUzHsy.jpg
https://ithelp.ithome.com.tw/upload/images/20190803/20117765qcyCLXhSx0.jpg

線上端版本:
https://ithelp.ithome.com.tw/upload/images/20190803/20117765ni1expNWWM.jpg
https://ithelp.ithome.com.tw/upload/images/20190803/20117765z0m7d9Tuqi.jpg

程式碼:

    function send_curl($url,$post){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
		// curl_setopt($ch, CURLOPT_POST, 1);
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
		curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_HTTPHEADER, array(
			"Content-Type: application/json"
		));
		$result = curl_exec($ch);
		curl_close($ch);
		return $result;
	}

新手第一次發文,請別太大力鞭QQ

<-- 以下為回文 因為還在新手訓練無法回復QQ -->

更新於 2019/08/03 17:38

他連log都不給我....
完全沒有消息QQ
毫無頭緒找起問題

dragonH iT邦超人 5 級 ‧ 2019-08-03 16:44:20 檢舉
在線上端看錯誤 log 是什麼吧

話說通常是要用同版本吧

同版本不同設定都有可能有問題

更何況你還是不同版本
你這個版本差太大

測試站是:win 10 + php7.2

線上版本:CentOS 5.x + php5.3

可以提醒你一點,線上版本的環境很舊了,

現在很多網站的SSL都升級到TLS 1.2了,

而CURL對於SSL的連線是依賴OpenSSL這個套件在處理的,

但TLS 1.2 要OpenSSL 1.0.1+才有支援

你的線上環境版本只到0.9.8K
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
小魚
iT邦大師 1 級 ‧ 2019-08-03 17:44:52

這版本也差太多了吧,
這就像你要拿 Win 10 的程式去 Win XP 執行一樣...
你覺得會不會有問題...

另外我不知道誰不給你Log,
可以考慮用try catch抓錯誤,
不過PHP很多錯誤是catch不到的...

另外如果要Debug,
可以把display_errors打開,
不過找到問題之後記得關掉.

不明
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答