【发布时间】:2018-11-14 20:56:11
【问题描述】:
我有点卡在这里,可能是因为我对用户和组的经验不足。
我在 Laravel 5.2 中使用 ElasticSearch 并设置了一个同义词文件,默认情况下该文件位于 /etc/ES/analysis 目录中。我想不时更新它,所以我想我会把它移到 Laravel 的 storage 目录中。之后我会重新打开节点,这样我就不必每次添加同义词时都重新索引。
我现在的问题是我无法将该目录作为 synonyms_path 添加到我的节点设置中,我收到一个错误:
原因:java.security.AccessControlException: access denied ("java.io.FilePermission" "/var/www/laravelproject/storage/app/elasticquent_synonyms.txt" "read")
可能是因为 ES 和 Web 服务由不同的用户运行或类似的东西!?我尝试调整权限无济于事。无论如何,Laravel 中的整个 存储 设置为任何人都可以读取。
我无法以其他方式访问它,也无法从我的网络应用程序写入 /etc/elasticsearch/analysis。无论如何,在我的实际项目之外拥有同义词文件感觉不对。
谁能给我一个提示,告诉我我可以做些什么来规避这个问题?
【问题讨论】:
-
你找到解决方案了吗?
-
不,很遗憾没有。
-
我自己找到的,我会尽快发布解决方案
-
如果您认为我的回答解决了您的问题或对您的解决方案最有帮助,您能否@beast caged 请接受我的回答。谢谢你。干杯!
标签: php linux apache elasticsearch laravel-5.2