2013-05-12 34 views
0

我是PHP新手。我在我的網頁上有一段代碼,我想異步執行。該塊具有以下內容:
1. A shell_exec命令。
2. A ftp_get_content
3.兩幅圖像調整大小。
4.一次調用mysql進行插入。
PHP中的Asynchronus調用網頁

是否有辦法使此塊異步,以便頁面的其餘部分快速加載。 請詢問是否需要更多細節。

+0

「ftp_get_content」的結果會怎樣?如果它將包含在頁面上,則在完成此操作之前,不會向客戶端發送任何內容。 – Barmar 2013-05-12 11:15:05

回答

1

一個可能的解決方案是使用curl來執行僞異步調用。你可以把你的代碼的異步部分放在一個單獨的php文件中並通過curl調用它。例如:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'YOUR_URL_WITH_ASYNC_CODE'); 
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); 
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1); 

curl_exec($ch); 
curl_close($ch); 
+0

我已經使用這個'curl_setopt($ ch,CURLOPT_URL,dirname(__ FILE __)。'/ getlargestimageasync.php?url ='。$ user_url);',但它不起作用。 – 2013-05-12 19:09:25

0

你可以把4個任務進入隊列,可能像Beanstalkd,然後有一個後臺工作進程隊列。