由於我無法繼續我的項目工作,現在有些事情讓我感到非常緊張。我已經切換到另一臺計算機,不能讓PHP和svn可執行一起很好地工作:)PHP:在exec()中使用SVN子命令和選項會導致「分段錯誤」?
$output = "";
$value = "";
exec("/opt/subversion/bin/svn info --username something --password something --non-interactive <REPO_URL> 2>&1", $output, $value);
var_dump($output);
var_dump($value);
輸出:
array(0) { } int(139)
139 =分割的錯,但它並沒有太大的幫助因爲我不知道可能導致它的原因。在終端中直接運行相同的代碼就像魅力一樣,但如果PHP試圖通過exec()來執行相同的操作,則會出現問題。
如果我去掉認證,我會得到正確的輸出(認證請求)。
修改Subversion可執行文件到777似乎沒有任何區別。
如果它是任何使用的,它的Mac OS X 10.5.8,PHP 5.2.11和Apache 2.2.13
到目前爲止,它在每個系統上工作得非常好,代碼實際上是商業應用程序的一部分。 Ommiting重定向輸出不會影響任何內容。該問題只出現在我的本地計算機上。 – 2009-11-25 23:48:05
我無法編輯我的評論:我已經嘗試過'system()',但它返回一個空字符串作爲輸出,'int(139)'作爲返回值,幾乎與'exec()'相同。 – 2009-11-26 00:05:10