Ejecutando git pull desde un script php

Estaba probando el flujo de trabajo perfecto, con Git, GitHub y SSH , y tengo todo configurado, excepto ejecutar el command git pull from php.

Cuando ejecuto exec('git pull') obtengo:

No se pudo crear el directory '/.ssh'. La verificación de la key de host falló. fatal: el extremo remoto colgó inesperadamente

Si lo ejecuto en el terminal (como root) funciona bien, pero necesito que este enlace funcione desde la URL posterior a la recepción (Github).

Si hago exec('whoami') obtengo apache .

Es un (dv) de mediatemple con CentOS.

Si desea que apache (el usuario) pueda extraer desde git, tendrá que crear una key ssh para apache, luego agregar eso a las teclas de solo lectura en github.

El flujo es algo así (ajuste a sus necesidades)

 usermod -s /bin/bash apache su apache cd ~ ssh-keygen # work through the keygen dance (added a dash) 

Subir (tilde aquí se refiere a homedir de apache) ~/.ssh/id_rsa.pub a github y dar acceso a apache a cualquier repos que necesite extraer.

Entonces puedes probar en el server de nuevo pasando a apache y ejecutando el git pull

 su apache cd ~/working-copy git clone my-project 

Una vez que funcione, deberías poder ejecutar un git pull a través de PHP.