簡體   English   中英

PHP Curl-來自服務器的空回復

[英]PHP Curl - Empty Reply from server

我有一個使用CURL POST請求調用RESTful API的應用程序。 如果POSTFIELD數據的大小較小(<1024字節),則請求將給出所需的響應,但是在POSTFIELD較大的情況下,CURL執行僅返回“來自服務器的空答復”錯誤。 API腳本確實得到執行,因為我只能看到在數據庫中插入的部分數據突然終止執行。

我已經嘗試增加default_session_timeout和memory_limit。

我檢查了Apache錯誤日志,但也沒有找到任何登錄的日志。 這是我的使用CURL使用REST API的代碼:

                $curl = curl_init($this->serviceUrl);
                $curl_post_data = (is_array($data)) ? http_build_query($data) : $data;
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($curl, CURLOPT_TIMEOUT, 420); 
                curl_setopt($curl, CURLOPT_POST, true);
                curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));
                curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
                $curl_response = curl_exec($curl);

                if ($curl_response === false) {
                    $errorMessage = curl_error($curl);
                    $info = curl_getinfo($curl);
                    \Tools::writeErrorLog($errorMessage);
                    \Tools::writeErrorLog($info);
                }

                curl_close($curl);
                return $curl_response;

服務器配置或PHP代碼本身是否對此有任何特定的解決方法?

PHPINFO詳細信息:

  • POST_MAX_SIZE-8MB
  • 內存限制-256 MB
  • DEFAULT_SOCKET_TIMEOUT-60

我解決了這個問題。 我懷疑問題出在內存泄漏。 我重新訪問了我的API代碼,並取消設置了一些不必要的對象,這些對象釋放了內存以供進一步處理。 @Timm和@Mihai謝謝您的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM