2012-08-07 95 views
0

目前我正在使用multi_curl在我自己的服務器上同時執行php文件。看起來它不是一個非常有效的方法,因爲當需要同時執行200多個腳本時,服務器會超載。我需要發送變量到每個php腳本,我現在通過將所有必需的變量放在發佈請求中。什麼是同時執行多個PHP腳本的最有效方法?

我知道另一種選擇是齒輪人,但我必須安裝它,並且我不想安裝太多的應用程序,儘管我不知道它是否是一個沉重的程序。我也不知道它是否會對服務器更有效。

會有也可以選擇在PHP內使用linux shell命令嗎?

我有一個標準的PHP和MySQL配置的Linux服務器。

所以我的問題是:

什麼是同時執行多個PHP腳本的最有效的方式,也讓我一組變量發送到每個腳本?

+0

我很好奇,想知道你在做什麼,需要這麼多的腳本同時運行! – andrewsi 2012-08-07 15:51:48

+0

您可以隨時修改腳本以接受來自'$ argv'的變量並使用cron調用它們? – 2012-08-07 15:53:21

回答

0

使用齒輪減速機是一種誠實的好方法......多次使用它來可靠地排列隊列中的多個線程。

使用德語,您可以發送(通過某些數據庫表通常是最好的方法),然後您可以獲取並使用您的線程數據。提示,如果它是一個複雜和任意的變量集,可以將它存儲爲JSON或其他東西。

另一種方法是寫你自己的排隊機制......我也做到了這一點基於這個優秀的文章:http://squirrelshaterobots.com/programming/php/building-a-queue-server-in-php-part-4-run-as-a-background-daemon-a-k-a-forking/

+0

我以前從未使用德語發送過數據! – Rhys 2012-08-07 15:55:14

+0

非Gearman直接...在DB中存儲JSON字符串,然後執行的腳本可以檢索並將其解析回一個變量/對象數組。 – Brian 2012-08-07 15:57:02

+0

德國!= Gearman:D – Rhys 2012-08-07 15:58:43

相關問題