proc-open

    2熱度

    1回答

    使用proc_open啓動PHP內置服務器後,似乎無法終止它。 $this->process = proc_open("php -S localhost:8000 -t $docRoot", $descriptorSpec, $pipes); // stuff proc_terminate($this->process); 服務器的工作,但它並不想關閉的進程。我也試過: $status =

    0熱度

    1回答

    我使用proc_open管道一些文本到perl腳本進行更快的處理。該文本包含url編碼的字符串以及字面空格。當一個URL編碼的空間出現在原始文本中時,它在到達perl腳本時似乎被解碼爲一個文字空間。在perl腳本中,我依賴於文字空間的位置,所以這些不需要的空間會混淆我的輸出。 這是怎麼發生的,有沒有辦法阻止它發生? 相關的代碼片段: $descriptorspec = array( 0 =

    1熱度

    1回答

    相關: On-the-fly zipping & streaming of large files, in PHP or otherwise Streaming a large file using PHP 我正在尋找一個組合在其他主題中描述的方法。我可能需要以小塊讀取文件(來自URL),將這些文件導入到proc_open zip命令的STDIN中,獲取輸出並將其刷新到客戶端。 我需要做什麼: 從

    1熱度

    1回答

    我有一個命令運行使用exec()從一個非常大的數據文件中返回一個值,但它必須運行數百萬次。爲了避免每次循環打開文件,我想轉到基於proc_open的解決方案,其中文件指針爲提高效率而創建一次,但無法解決如何執行此操作。 這裏是exec基礎的版本,這工作,但速度很慢,大概是因爲它擁有打開每次迭代的文件: foreach ($locations as $location) { $comman

    0熱度

    1回答

    所以要開始;我試圖通過PHP啓動一個節點應用程序。我創建了一個腳本,可以檢查節點應用程序是否正在運行,關閉它並啓動它。但是我在使用PHP的屏幕時遇到了一些麻煩。 現在,在我繼續之前,我不應該這樣做的意見不會起作用,我需要通過PHP啓動它,因爲它與網站一起工作,並且我希望我們的客戶能夠更改設置,這將重新啓動應用程序(除非您有其他想法)。 我目前使用的命令: screen -dmS NODEJS no

    1熱度

    2回答

    事實上,我有一個proc_open函數,它將執行一個命令並將其子命令傳遞給它。這裏有一個問題,有時會發生,通常不會發生。 問題 當我想處理管道OUT輸出沒有從目標服務器和腳本響應將等待響應提高到..... 問題 我想說,等待20秒的反應,如果你沒有得到任何迴應。從函數返回。這一點很重要,我不想停止腳本執行,而只是從函數返回。 我必須使用多線程庫作爲POSIX? 有什麼辦法來實現這個想法? 任何想法

    0熱度

    2回答

    我想運行後臺過程,這是孤立的,用symfony Process組件。我無法使用kernel.terminate事件。 這就是我試圖做: 這過程中,我想運行: // script.php $f = fopen('test'.uniqid().'.txt', 'w'); for ($i = 0; $i < 1000; $i++) { fwrite($f, "Line $i \n");

    0熱度

    1回答

    我目前正在計劃使用Symfony的ProcessBuilder,它允許設置一些環境變量,它將傳遞到proc_open調用。 我需要某個命令來更改TMPDIR並在之後恢復它,所以我想知道在調用之後修改後的env(並因此修改了env變量的值)是否會被恢復,或者我需要自己恢復嗎?如果需要某個特定的命令(我的情況是ghostscript),這個值是否會發生變化? 感謝

    0熱度

    1回答

    我有一個小的PHP編寫的CLI腳本,它可以作爲Linux的基於CLI的calc的前端工作。腳本從用戶獲取數學表達式並將它們傳遞給calc。然後,當用戶想要退出時,他只需輸入stop。在這種情況下,腳本將exit發送到calc。這個腳本的問題是它只在用戶發送stop時才顯示輸出。但我需要輸出每個用戶的數學表達式。下面的腳本是: <?php define('BUFSIZ', 1024);

    1熱度

    1回答

    我想調用proc_open在後臺執行一個腳本,後臺進程將在幾秒鐘後終止。基本上,該腳本是一個C/Java/Python腳本,它將編譯和運行用戶提交的代碼,所以我希望該流程能夠在一段時間後終止。 我想實現的是當後臺運行腳本的執行時間超過3秒時,停止進程以及停止寫入文件。比方說,我運行一個for循環將1 million lines的某些字符串寫入文件,並在time >= 3 seconds處停止。當我