最近在做项目docker化的东西,有一点东西被困住了。项目会使用php调用应用程序,调试时候经历了一下过程。
1.php的启动用户是www用户,在调用文件(文件是root用户权限的,有需要读写设备啥的)的时候没有相应的权限,赋值了777权限。
2.因为www启动的777权限的程序,导致程序继承了www用户权限,无法读写设备,于是赋值程序u+s。(非docker下的centos是可以正常运行的)。
问题就出现了
在www用户下运行程序找不到so运行库。
export LD_LIBRARY_PATH和PATH两种都没办发将库文件导入进去。绝望......
解决方向(待验证):
1.将启动php-fpm的www用户提升权限,不过目前试了一下,只要调整到root权限php-fpm就自动阻止启动,感觉要重编php。
2.研究一下docker中普通用户的启动项,LD_LIBRARY_PATH无法使用我觉得是否和docker删减了一些非关键启动脚本有关。
不知道有没有人遇到过相似的情况,求指教,上面这俩个方法算是靠谱不?