2011-07-20 55 views
1

我在我的主文件,這樣做可以說index.phpphp cli popen()包含文件一次?

$handle = popen("php -q nah.php -p=". escapeshellarg($part) . " 2>&1", "r"); 
while (!feof($handle)) 
{ 
    $read = fread($handle, 2096); 
    echo $read; 
} 
pclose($handle); 

我要的是,我不包括含在nah.php許多類文件,而不是把它放置在nah.php因爲羅.php被while循環激發,所以如果我包含在nah.php中,它會慢一點。

可能嗎?

+0

你能否重新說明你的問題? – wonk0

+0

@ wonk0我想在主文件中包含一個文件,而不是在由文件引發的文件中。 – kritya

+0

@kritya:define _'a bit'_,因爲如果它只是類/函數文件,尤其是在自動加載時,我認爲你在幾毫秒內花費很多努力。 – Wrikken

回答

0

如果你說的是,雖然PHP在命令行模式下,你不希望包括否則將由nah.php包括的文件,這樣做:

if (php_sapi_name() !== 'cli') 
{ 
    // include files here 
} 

否則......只是不包括文件...?

+0

沒有號碼我想包括所有文件只有一次,而不是在由popen – kritya

0

或去爲pcntl_fork這個(如果這是在CLI中,不要在一個網絡服務器出於各種原因)。您只需加載一次所有類/函數定義(但不要打開資源,例如,應該在子中打開數據庫連接)。獲取數據的工作稍微多一些,但不是非常困難。我不認爲你會得到任何顯着的速度增益,但是...

+0

代碼挑釁的文件? :d – kritya