任务:Web项目开发
环境配置:经典的LAMP环境(Linux+Apache2+MySQL+PHP),同时配置了cuda10.0环境
问题:有一个python实现的GPU程序,终端下调用时完全可以正常运行,但在PHP文件中使用exec函数调用该python程序时,却会报错:
ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
此时检查配置文件,home下的 .bashrc文件和 /etc/profile 文件中都已经配置好了cuda10.0的路径,这也是为什么终端下直接运行时可以成功的原因。经过一番排查之后发现,要使PHP文件中的调用可以成功运行,必须在Apache的配置文件中也加入cuda10.0的路径,方法如下:
gedit /etc/apache2/envvars
打开配置文件后,将以下两句话添加到文件末尾:
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64$LD_LIBRARY_PATH
保存后,重启Apache服务器,即可解决上述问题。