Дректива if и проверка существоания файла

akarabanov nginx-forum на forum.nginx.org
Вт Дек 14 08:52:22 UTC 2021


Здравствуйте.

Мне необходимо проверить существует ли сокет. Я использую такую
конструкцию:

        location / {

            if ( -f /www/php_sockets/${app}.sock ) {
                set $sock "/www/php_sockets/${app}.sock";
            }

            return 220 "${sock}";
        }

И получаю ошибку 'open() "/www/php_sockets/test.sock" failed (6: No such
device or address)'

Если заменить сокет на простой файл с теми же правами, то всё отрабатывает
корректно.

Скажите пожалуйста с помощью директивы if нельзя проверить существование
сокета или я что-то делаю не так?

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,293064,293064#msg-293064



Подробная информация о списке рассылки nginx-ru