2014-05-09 3 views
0

아파치를 통해 Solaris에서 Phabricator를 실행하려고합니다. 웹 사이트가 작동하지만 모든 cli 스크립트는 그렇지 않습니다. 예 : phd.Phabricator 환경에 대한 가정 만들기

첫 번째 문제는 호출하는 manage-daemons.php 스크립트에 인수를 전달하지 않는다는 것입니다. phd 파일을 보면이 나를 놀라게하지 않습니다 내 기본 쉘 주어진

이제
$> cat phd 

../scripts/daemon/manage_daemons.php 

bash이며,이 통과하는 내 인수 않을 것입니다. 이를 위해, 나는 스크립트를 수정 한 :

#! /bin/bash 
../scripts/daemon/manage_daemons.php $* 

이 지금 통과 할 인수,하지만 지금은 상대 경로를 통해 필요 transative 스크립트를 발견하지 못한 것 : 내가 가지고있는

./phd start 
Preparing to launch daemons. 
NOTE: Logs will appear in '/var/tmp/phd/log/daemons.log'. 

Launching daemon "PhabricatorRepositoryPullLocalDaemon". 
[2014-05-09 19:29:59] EXCEPTION: (CommandException) Command failed with error #127! 
COMMAND 
exec ./phd-daemon 'PhabricatorRepositoryPullLocalDaemon' --daemonize --log='/var/tmp/phd/log/daemons.log' --phd='/var/tmp/phd/pid' 

STDOUT 
(empty) 

STDERR 
./phd-daemon: line 1: launch_daemon.php: not found 
at [/XXX/XXX/libphutil/src/future/exec/ExecFuture.php:398] 
    #0 ExecFuture::resolvex() called at [/XXX/XXX/phabricator/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:167] 
    #1 PhabricatorDaemonManagementWorkflow::launchDaemon(PhabricatorRepositoryPullLocalDaemon, Array , false) called at [/XXX/XXX/phabricator/src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php:246] 
    #2 PhabricatorDaemonManagementWorkflow::executeStartCommand() called at [/XXX/XXX/phabricator/src/applications/daemon/management/PhabricatorDaemonManagementStartWorkflow.php:18] 
    #3 PhabricatorDaemonManagementStartWorkflow::execute(Object PhutilArgumentParser) called at [/XXX/XXX/libphutil/src/parser/argument/PhutilArgumentParser.php:396] 
    #4 PhutilArgumentParser::parseWorkflowsFull(Array of size 9 starting with: { 0 => Object PhabricatorDaemonManagementListWorkflow }) called at [/XXX/XXX/libphutil/src/parser/argument/PhutilArgumentParser.php:292] 
    #5 PhutilArgumentParser::parseWorkflows(Array of size 9 starting with: { 0 => Object PhabricatorDaemonManagementListWorkflow }) called at [/XXX/XXX/phabricator/scripts/daemon/manage_daemons.php:30] 

주 그들이 내게 민감한 정보를 줄 때 XXX으로 나의 경로를 가렸다.


분명히이 스크립트를 수정해서는 안됩니다. 이는 일부 전제 조건이 올바르게 설정되지 않았 음을 나타냅니다.

Phabricator가 내 설정에 대해 약간의 (대담한) 가정을하고 있음은 분명합니다. 그러나 나는 무엇이 확실하지 않은가요 ...?

답변

1

이는 심볼릭 링크입니다. 잘못 정상 파일로 심볼릭 링크를 돌고 환경의

https://github.com/facebook/phabricator/blob/master/bin/phd

뭔가 : 당신은 GitHub의에 저장소 "박사 학위"를 보면 예를 들어, 파일 형식이 "심볼릭 링크"인 것을 알 수 있습니다 . 나는 그것이 가능할 지 모르지만, 이것을 일으킬 수있는 힘내 설정에 대해서는 잘 모르고있다. 이것이 일어난 것을 보았던 한 가지 상황은 작업 복사본이 복제 된 후 심볼릭 링크를 보존하기 위해 적절한 플래그없이 rsync 같은 것을 사용하여 복사되었을 때입니다.

+0

우수 감사합니다. 시스템 관리자가 설치 과정에서 호스트간에 파일을 scp'd합니다. – jwa