通过PHP exec运行一个高性能的C程序


Running a high performance C program through PHP exec

我们正在为流量生成器(高性能)设计一个非常基本的UI。当我们直接在shell上运行二进制文件时,它工作得很好,但当我们通过php脚本执行exec时,性能会下降。

我们已经搜索过了,这可能是由于apache环境没有为exec创建一个线程。

有没有办法减少处理时间或通过一些其他服务器端脚本?

谢谢。

您可以使用exec在后台运行命令。只需在命令末尾添加> /dev/null &。它将在shell中执行该命令并立即返回,而不会等待命令完成。

exec($cmd . " > /dev/null &");

Solution1

您可以更改php.ini以提高性能。

就像增加memory_limit到更高的值相对于你的RAM

Solution2

你以一个权限较低的用户webuser(nobody/apache/www -data)的身份执行程序。这就是问题所在。您可以使用sudo作为更高级的用户/root执行该命令。php exec()