0
我正在運行使用PHP的system()
命令生成C++編譯文件但是當我運行這個PHP代碼時,我得到的錯誤是LD_LIBRARY_PATH
值沒有設置。當我在PHP中使用系統運行命令時沒有獲取LD_LIBRARY_PATH()
但是,當我直接在命令提示符下運行命令,我得到的結果。
請幫我解決這個問題。
我正在運行使用PHP的system()
命令生成C++編譯文件但是當我運行這個PHP代碼時,我得到的錯誤是LD_LIBRARY_PATH
值沒有設置。當我在PHP中使用系統運行命令時沒有獲取LD_LIBRARY_PATH()
但是,當我直接在命令提示符下運行命令,我得到的結果。
請幫我解決這個問題。
在PHP腳本中運行時配置PHP或設置LD_LIBRARY_PATH。 C++中的類似示例:
<pre>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
char szBuffer[128];
char * psz = getenv("LD_LIBRARY_PATH");
printf("Initial LD_LIBRARY_PATH=%s\n",psz);
putenv("LD_LIBRARY_PATH=/tmp/somedir1");
psz = getenv("LD_LIBRARY_PATH");
sprintf(szBuffer, "%s:tmp/somedir2",psz);
printf("LD_LIBRARY_PATH=%s\n",psz);
setenv("LD_LIBRARY_PATH", szBuffer,1);
psz = getenv("LD_LIBRARY_PATH");
sprintf(szBuffer, "%s:tmp/somedir3",psz);
printf("LD_LIBRARY_PATH=%s\n",psz);
setenv("LD_LIBRARY_PATH", szBuffer,1);
psz = getenv("LD_LIBRARY_PATH");
printf("LD_LIBRARY_PATH=%s\n",psz);
return 0;
}
</pre>
output:
<pre>
Initial LD_LIBRARY_PATH=/tmp/dir1
LD_LIBRARY_PATH=/tmp/somedir1
LD_LIBRARY_PATH=/tmp/somedir1:tmp/somedir2
LD_LIBRARY_PATH=/tmp/somedir1:tmp/somedir2:tmp/somedir3
</pre>