pcntl

    4熱度

    1回答

    我使用pcntl爲了加速一個相當沉重的CLI php腳本,它主要由一個類組成,它負責發送我的所有自動電子郵件應用。 我的目標如下: 我想將每個進程分配給某個任務,在foreach循環中,我使用的實現是下面代碼示例中顯示的實現。 問題是,一旦你fork了一個進程,它會異步執行,並且還會獲得父進程堆棧的副本。 在我的情況下,會發生什麼是一個任務只是執行幾次, 我的問題是我如何設計這個腳本更聰明,以避免

    2熱度

    2回答

    我試圖設置一個多線程套接字應用程序,但每當我運行它時,我得到一個錯誤,因爲默認情況下pcntl_fork()被禁用。這是因爲它危險還是不穩定?我是否應該尋找其他的多線程方式,還是僅僅因爲它不經常使用而被禁用?

    0熱度

    1回答

    我是新的PHP分叉,我只是從PHP.net複製這個代碼示例。基本上我有一個工具來監視設備並將數據保存到數據庫中。該工具正在後臺運行。 這裏是我的代碼: for(;;) { //build connection $conn = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD); //select db mysql_select_db(DB_N

    2熱度

    1回答

    我的項目中的一個後臺腳本使用PCNTL分叉。另外,我有一個需要在腳本安裝前由用戶運行的檢查腳本。由於pcntl只能在CGI模式下訪問,因此在Web模式下,function_exists('pcntl_fork')和extension_loaded('pcntl')都會返回FALSE,所以我的檢查程序始終顯示需求錯誤,因爲它通過瀏覽器啓動,即使它已啓用。是否有任何方法可以檢查pcntl是否支持從We

    0熱度

    1回答

    我在我的代碼中使用了pcntl擴展,如下所示:我將一個處理程序綁定到某個信號,例如SIGUSR1,並有一個腳本將信號發送到我的應用程序。 pcntl_signal(SIGUSR1, function ($signo){ echo 'Signal:' . $signo . PHP_EOL; }); 我有這樣的錯誤: stream_get_contents(): Failure 'would

    4熱度

    2回答

    我在製作一個搜索小部件。當我搜索我從2 api的 獲取結果時,一個來自yelp,另一個來自另一個來源。但這個過程需要更長的時間 $dataProvider = SearchUtil::locallookup($for, $near); //local api $content=SearchUtil::yelplookup($for,$near); //yelp api $array=array

    0熱度

    1回答

    我正在嘗試使用pcntl範圍PHP在新線程中運行我的CLI類的某些方法。我寫了一個小測試方法: private function startProcess($data) { $this->log('Start a child process'); $pid = pcntl_fork(); if($pid == -1) $this->log('Coul

    13熱度

    2回答

    我試圖叉命令行運行使用pcntl_fork()的XAMPP php過程。當我運行以下命令: $pid = pcntl_fork(); if($pid == -1){ file_put_contents('testlog.log',"\r\nFork Test",FILE_APPEND); return 1; //error } else if($pid){ re

    3熱度

    1回答

    我在互聯網上找到的所有說明都是針對較早版本的phpize,MAMP,php和OSX。 我已經試過以下的說明:使用php5.4.4和OSX 10.8,但我不斷收到這個問題 : [27-Feb-2013 17:46:17 UTC] PHP Warning: PHP Startup: pcntl: Unable to initialize module Module compiled with mod

    2熱度

    1回答

    所以,我有這個PHP後臺工作人員監聽到IPC消息。 奇怪的是,父進程(從pcntl_fork結果)離開[PHP] <解散>進程,直到子進程完成,但只有當腳本啓動命令行形成一個cronjob,不直接。 我知道<解散>過程不是邪惡的,而是從一個cronjob運行時,我想不通爲什麼它只是發生。 命令 /path/to/php/binary/php /path/to/php/file/IpcServer.