通过Web界面调用代码时的核心转储

时间:2013-08-14 16:48:40

标签: php apache

这是核心问题。

我有一段用C ++编写的代码。代码是网站的一部分,在Apache上运行并使用PHP构建。每次用户提交一些数据时,代码都会处理这些数据。但是,当通过Web界面调用时,代码总是抛出coredump错误(信号11)。它在我自己的用户名下的shell中完全没有问题。我也尝试以用户www-data运行它,效果很好。

所以我的问题实际上是为什么在通过网络界面调用时它不会运行以及如何解决它?

操作系统是Ubuntu Server 12.04 x64。

非常感谢。

1 个答案:

答案 0 :(得分:0)

在valgrind的帮助下,我终于解开了这个谜团。问题在于一行头文件,它试图使用getenv(“USER”)读取“$ USER”。虽然env参数是在我的本地shell中设置的,但是当通过Web界面调用代码时,它将被取消设置。不知道为什么它没有被设置。导出env参数后,现在一切都很好。

希望有一天这可能对某人有所帮助。