在 PHP 中运行可执行文件

发布于 2024-11-25 16:22:43 字数 293 浏览 3 评论 0原文

我想在我的 PHP 代码中编译一个乳胶文件,但它不起作用。我将此文件的权限设置为 777。我的代码中有以下命令:

$command = '/usr/bin/latex test.tex';
$output = exec($command);

当我尝试简单的“Hello World!”时c++ 可执行文件,它可以工作:

$command = './hello';
$output = exec($command);

知道出了什么问题吗?

I want to compile a latex file in my PHP code, but it doesn't work. I set the permission of this file to 777. I have the following commands in my code:

$command = '/usr/bin/latex test.tex';
$output = exec($command);

When I try a simple "Hello World!" c++ executable file, it works:

$command = './hello';
$output = exec($command);

Any idea what's wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

零度° 2024-12-02 16:22:43

您是否设置了文件 test.txt 或文件 /usr/bin/latex 的权限?因为 /usr/bin/latex 需要可以由 www-data 或任何您运行的网络服务器执行。

Di you set the permission of the file test.txt or the file /usr/bin/latex? Because /usr/bin/latex need to be executable by www-data or whatever you websever is run as.

别想她 2024-12-02 16:22:43

我猜乳胶取决于未正确设置的环境变量。

I would guess that latex depends on environment variables which are not being set properly.

北城孤痞 2024-12-02 16:22:43

您是否尝试

exec($command, $output, $retval);
var_dump($output);

以这种方式使用您可以获得运行的输出(如果有)..它

也可能有助于检测任何错误,请尝试使用它:

pcntl_exec ( string $path [, array $args [, array $envs ]] )

这样您就可以以更干净的方式传递参数和环境值

did you try using

exec($command, $output, $retval);
var_dump($output);

in this way you can get the output (if any) of the run.. it may help detect any errors

also, try to use this instead:

pcntl_exec ( string $path [, array $args [, array $envs ]] )

so you can pass arguments and environment values in a more clean way

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文