最近在项目中使用php调用C/C++实现的代码,分为两类
一类是调用C/C++接口,使用php扩展实现
另一类是调用C/C++程序,本文着重讲解调用程序问题。
我直接使用popen函数调用外部程序,外部程序使用C++编写,结果发现如果外部程序连接动态库则可能失败,read返回空。
第一种方法是不使用动态库,直接在代码中实现;
第二中方法如果我们必须使用第三方的库,则需要配置环境变量。解决方法如下:
修改apache/bin目录下envvars文件
LD_LIBRARY_PATH="/usr/local/apache/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH