Tente ativar o rastreamento para que o script lhe diga o que está fazendo em cada etapa. Você obterá muitos resultados, por isso recomendo capturá-lo usando uma sessão script
. Substitua a primeira linha do script por
#!/bin/sh -x
e, em seguida, execute:
# script phpcgi-trace
# service phpcgi start
# service phpcgi stop
# ^D
O arquivo phpcgi-trace
conterá um registro de tudo o que o script tentar fazer. Pesquise por pistas de porque não está soltando um pidfile.
EDITAR
Observe que a linha pidfile=
no script rc está lá para informar rc
como verificar o status do programa controlado ou como pará-lo. Não está lá para dizer a rc
para escrever um pidfile - essa é a responsabilidade do programa controlado.
Se o phpcgi não escrever um pidfile quando for iniciado, o mais fácil é simplesmente omitir a linha pidfile=
e deixar rc
usar o nome do processo para verificar o status, etc.