Как slm комментарий выше,
It's typically the case that the local root user on NFS clients is disallowed from performing these types of activities on NFS mounted shares
Используемая функция называется гнилостной тыквой . Подробнее здесь . В моем случае единственным способом было войти в систему, чтобы отключить root squash для этого конкретного сервера и включить его позже.
С аналогичной ситуацией вы столкнетесь, если используете docker
контейнер с томами, и контейнер работает с непривилегированным пользователем (, например.USER apache
). Таким образом, идея, что точки монтирования NFS должны быть r
/w
только для owner
, а не для root
, является общепринятой практикой безопасности.
Ваша программа не может найти clustalw2
, так как clustalw2
отсутствует в $PATH
.
В вашем случае самое простое решение — заменить clustalw2
полным путем /srv/http/Clustalw/clustalw2
в качестве первого параметра на shell_exec
.