執行命令行外部PHP腳本我有一個名爲external.php
外部PHP腳本,其中包括這樣的:如何從你的瀏覽器
<?php
echo 'External Output';
?>
當我運行與命令的命令行:
php external.php
我得到輸出爲
External Output
但是,當我從我的額頭執行相同的腳本SER的命名index.php
PHP文件其中有這樣的代碼:
<?php
$exe=exec('php external.php',$out,$ret);
print_r($out);
?>
然後我沒有得到任何輸出。
當我修改爲:
<?php
$exe=exec('php external.php 2>&1',$out,$ret);
print_r($out);
?>
然後我得到這樣的輸出:
php: /opt/lampp/lib/libxml2.so.2: version `LIBXML2_2.9.0' not found (required by php)
我的問題是,我怎麼能執行一個 「external.php」,在命令行從文件index.php並在我的瀏覽器(即在index.php)上獲得輸出?我也嘗試過system()函數,但它不工作。
編輯: 我不能include
在index.php中的external.php因爲external.php可能需要大量的時間來執行(超過10小時)。
編輯#2 解決了它,給PHP的完整路徑解決了這個問題。
下面是一個例子:
<?php
$exe=exec('full/path/to/php /full/path/to/external.php',$out,$ret);
print_r($out);
?>
三江源奧列格和Scopey給我一些暗示的幫助。
爲什麼你不只是'include()'另一個php文件? – serakfalcon
,因爲我需要從命令行執行它,而不是瀏覽器,因爲它可以運行多達幾天... –
我不知道爲什麼你使用exec來運行一個php文件。使用包含或要求。 – davidxd33