ฉันใช้งานโปรแกรม PHP ที่ทำงานได้ดีตราบใดที่ไม่ได้เรียกใช้โดยเบราว์เซอร์ Microsoft Internet Explorer หลังจากที่มันวางไข่กระบวนการด้านล่างล็อค Apache 2 และต้องรีสตาร์ทเว็บเซิร์ฟเวอร์ (บน Ubuntu 12.04 LTS)
bob@drools:/etc/php5/apache2# ps auxwww | grep apache2
root 8737 0.1 2.5 369164 25800 ? Ssl 12:41 0:00 /usr/sbin/apache2 -k start
www-data 8743 0.0 3.2 393748 33268 ? Sl 12:41 0:00 /usr/sbin/apache2 -k start
www-data 8755 0.1 3.3 393856 33904 ? Sl 12:41 0:00 /usr/sbin/apache2 -k start
www-data 8779 0.1 3.2 393724 33252 ? Sl 12:45 0:00 /usr/sbin/apache2 -k start
www-data 8782 0.1 3.2 393716 33236 ? Sl 12:45 0:00 /usr/sbin/apache2 -k start
www-data 8785 0.1 3.2 393684 33204 ? Sl 12:45 0:00 /usr/sbin/apache2 -k start
www-data 8812 1.1 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8815 1.3 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8818 1.3 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8821 1.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8824 1.4 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8827 1.4 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8830 1.4 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8835 2.5 3.2 393684 33256 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8838 2.8 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8841 2.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8844 2.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8847 3.2 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8850 3.0 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8853 3.2 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8856 3.2 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8861 3.3 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8864 3.6 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8867 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8870 3.6 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8873 3.6 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8876 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8879 3.3 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8881 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8883 3.6 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8886 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8891 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8894 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8896 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8900 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8901 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8904 3.5 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8909 3.8 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8912 3.8 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8915 3.8 3.2 393684 33264 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
www-data 8918 3.6 3.2 393684 33260 ? Sl 12:47 0:00 /usr/sbin/apache2 -k start
root 8922 0.0 0.1 9396 2000 pts/0 S+ 12:47 0:00 grep --color=auto apache2
มันใช้ล็อกเซิร์ฟเวอร์ทั้งหมดจนกว่าฉันจะเปลี่ยน " mpm_ " พารามิเตอร์โมดูลบางสิ่งบางอย่างที่เหมาะสมมากขึ้นใน/etc/spache2/apache2.conf
ให้ปัญหากับ Internet Explorer ฉันได้เพิ่มบรรทัดนี้:
**" SetEnvIf User-Agent ".*MSIE.*" nokeepalive "**
ในไฟล์โฮสต์เสมือนอยู่ที่นี่: / etc / apache2 / sites-available
มีบทความจำนวนมากที่เขียนเกี่ยวกับปัญหานี้ แต่ฉันไม่เคยประสบความสำเร็จในการดำเนินการใด ๆ ของบทความเหล่านี้:
Apache Server 2 ค้างหลังจากได้รับการร้องขอจาก IE 10/11 :
R&D เพิ่มเติม: Internet Explorer 10 (Windows 8) ขัดข้อง Apache
โปรแกรม PHP ใช้cURLเพื่อรับรายการ 25 รายการและทำการเรียก API (GET) สำหรับแต่ละเซิร์ฟเวอร์ภายนอกที่ส่งคืนข้อมูล JSON สำหรับการประมวลผลเพิ่มเติม มันเป็นโปรแกรมดาต้าที่ใช้เวลานาน
สิ่งที่ทำให้บะหมี่ของฉันคือมันทำงานได้ดีในเบราว์เซอร์อื่น ๆ ยกเว้น Internet Explorer ซึ่งทำให้เว็บเซิร์ฟเวอร์ทำงานผิดปกติ
ฉันได้ทำการสอบสวนรายการวิจัยและพัฒนาแล้วบางส่วนได้ดำเนินการแก้ไขตามที่แนะนำ แต่ฉันยังคงได้รับพฤติกรรมการทำงานของเซิร์ฟเวอร์ที่มีปัญหาแบบคาดเดาได้
ฉันต้องหาวิธีป้องกันเซิร์ฟเวอร์จากการทำงานที่ไม่ดีเมื่อพบและเบราว์เซอร์ Internet Explorer ทำให้คำขอเหล่านี้เป็นพิเศษ ฉันต้องการที่จะเข้าใจว่าทำไมมันเกิดขึ้นตั้งแต่แรก
คำแนะนำมุมมองทิศทางหรือแนวทางแก้ไขจะได้รับการชื่นชมอย่างมาก ...
นี่เป็นภาพรวมของรหัส cURL ของฉัน:
<?php
// *** CURL Init, SetOps, and Execution Statements ****
$ch = curl_init();
// *** Execute the API call for each part number and store in the Associative Array ****
$index=0;
foreach ($partNumbersArray as $partNum) {
$MyValue = $partNum;
$MyUrl = $MyNiinjaBaseURL."/".$APICmd1."/".$MyDataSet."/".$MyValue."?key=".$MyKey."&$"."filter=substringof('".$MyValue."',PartNumbers)";
// *** cURL SetOpts, and Execution Statements ****
curl_setopt($ch, CURLOPT_URL, $MyUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
// curl_setopt($ch, CURLOPT_TIMEOUT, 15); // <= THIS *never* worked with any reliability ....
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch); // <= THIS executes the cURL call and stores the resulting JSON object in the variable '$server_output'
$niinjaResultsJsonArray[$MyValue] = $server_output; // Add the JSON object to the Array and index to PartNumber
$index++; // Increment the index
} // End Execution of NIINJA API Calls
// ** Close the CURL Object and release resources
curl_close ($ch);
?>
นี่คือหน้าข้อมูล PHP: http://www.versaggi.net/phptest.phtml