2011-03-18 55 views
0

我在PHP中使用exec執行一個奇怪的問題。當我在瀏覽器中加載腳本x.php時,瀏覽器掛起,當我運行一個ps時,我可以看到多個正在創建的線程。阻止它們的唯一方法是重新啓動apache。在PHP中使用exec的問題

但是,如果我做了類似系統('ls')的工作,它不會運行php腳本。所以當一個PHP腳本嘗試使用exec/system/passthru運行另一個腳本時,這似乎是個問題(我試過了所有這些腳本)。

x.php定義如下:

<?php 
var_dump(system('php -f t.php')); 
?> 

t.php定義如下:

<?php 
echo 'Hello world'; 
?> 
+0

到目前爲止,我的解決方案是寫入一個文件,我有一個inotify cronjob檢查更改並運行php腳本。這不是最好的解決方案,但這是我在嘗試解決此問題時必須提出的。 – Raisen 2011-03-18 23:33:24

回答

0
+0

我已經嘗試過了......我仍然可以獲得無限的線程。我猜這是我必須要做的事情,就如何將Apache *與PHP進行交流或反之亦然? – Raisen 2011-03-18 22:31:45

+0

可能是。你在做什麼系統以及Apache如何與PHP交互(ISAPI,CGI)? 如果您只想攔截腳本的輸出,請將其包含並使用輸出緩衝。 – 2011-03-19 10:26:45