コマンドを実行するだけのpost-mergeフックがgitリポジトリにありますjekyll。
実行するgit pullとpost-merge問題なく実行されます。
ただし、リモートのWebHookとして機能するPHPファイルをセットアップしました。
$pull = `cd .. && git pull`;
echo $pull;
このファイルにアクセスすると、git pullが実行され(いくつかの初期の問題の後)、成功します。ただし、何らかの理由でpost-merge失敗します。Apacheの内部を見るとerror_log、次のエラーが見つかります。
.git/hooks/post-merge: line 5: jekyll: command not found
SSH経由post-mergeで手動を実行すると、jekyllが正常に実行されることを考えると、これは奇妙なことです。git pull
ここで提案されているように実行可能ファイルへのフルパスを使用して実行すると、次のエラーが発生しますerror_log。
/usr/bin/env: ruby_noexec_wrapper: No such file or directory
RVMを介してRubyをインストールしました。
どうすればapacheユーザーを問題なく実行させることができjekyllますか?
編集:これが私の現在のpost-merge:
#!/bin/sh
unset GIT_DIR
source /usr/local/rvm/environments/ruby-1.9.3-p194
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/jekyll
echo "Deployed!"
これをユーザーとして実行すると、次のapacheエラーが発生します。

Node.jsがインストールされます。