在PHP中运行来自EXEC的'git pull'

时间:2012-05-21 17:40:49

标签: php windows git xampp exec

我正在尝试使用PHP exec在运行XAmpp的Windows上运行来自git的pull请求。使用execsystem运行下面的脚本并尝试访问该文件时,页面永远不会停止加载。我已经检查了目录的文件权限,它们都是0777。&运行git status运行正常。不确定是什么问题。

<?php
ignore_user_abort(true);
set_time_limit(15);
exec('git pull origin master', $o);
echo implode("\n", $o);
?>

更新帐户上没有密码:

C:\xampp\htdocs>git pull origin master
From github.com:************
 * branch            master     -> FETCH_HEAD
Already up-to-date.

C:\xampp\htdocs>

从终端运行我得到:

C:\xampp\htdocs>php -f update.php
PHP Warning:  PHP Startup: ming: Unable to initialize module
Module compiled with build ID=API20090626,TS,VC6
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match
 in Unknown on line 0

Warning: PHP Startup: ming: Unable to initialize module
Module compiled with build ID=API20090626,TS,VC6
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match
 in Unknown on line 0
From github.com:*********
 * branch            master     -> FETCH_HEAD
Already up-to-date.
C:\xampp\htdocs>

1 个答案:

答案 0 :(得分:0)

使用exec而不是使用等待进程完成的passthru,并确保禁用输出缓冲。通过这种方式,您可以立即看到问题所在。