При использовании API Google Translate выяснилось, что Selinux блокирует доступ к моему файлу учетных данных Google .json. Контекст selinux был «unconfined_u:object_r:user_home_t:s0», поэтому я попытался изменить его на httpd_sys_content_t, используя: «semanage fcontext -a -t httpd_sys_content_t [/path/filename]» и «restorecon -Rv [/path/filename]», но это не решило проблему. Какова правильная настройка контекста Selinux для этого файла?
Я использую Rocky Linux 9, Apache версии 2.4.57 и PHP 8.3.9.
Код PHP (код Google Translate использует Composer):
Код: Выделить всё
putenv("GOOGLE_APPLICATION_CREDENTIALS=".'/path/credentials.json');
use Google\Cloud\Translate\V2\TranslateClient;
$translate = new TranslateClient();
Отключение Selinux с помощью «sudo setenforce 0» приводит к работе приведенного выше кода.
Снова включение Selinux с помощью «sudo setenforce 1» приводит к сбою с ошибкой скручивания.
Спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... tials-json