Чтобы решить эту проблему, вы захотите выполнить команду chown или chmod /var/www/vhosts/[myserver].com/httpdocs/clients/emailpipe/email2php.php
для выполнения пользователем postfix. Также вы можете переопределить этого пользователя для успешного выполнения файла.
Простого изменения разрешений вашей директории (если вы не использовали -R
) будет недостаточно.
Чтобы проиллюстрировать, почему это работает, рассмотрим следующий пример с игрушкой:
<me>@harley:~$ touch test
<me>@harley:~$ ls -al test
-rw-r--r-- 1 <me> <me> 0 2012-03-26 23:44 test
<me>@harley:~$ sh test
<me>@harley:~$
<me>@harley:~$ ./test
bash: ./test: Permission denied
<me>@harley:~$ chmod 755 test
<me>@harley:~$ ./test
<me>@harley:~$
Чтобы выполнить файл напрямую через запущенную оболочку, его необходимо установить как исполняемый. Другие вызовы (например, sh email2php.php
или php email2php.php
) требуют только доступа для чтения, поскольку они полностью связывают выполнение другого файла.
Что может быть причиной проблемы, см. здесь .