在 PHP 中运行可执行文件
我想在我的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否设置了文件
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 bywww-data
or whatever you websever is run as.我猜乳胶取决于未正确设置的环境变量。
I would guess that latex depends on environment variables which are not being set properly.
您是否尝试
以这种方式使用您可以获得运行的输出(如果有)..它
也可能有助于检测任何错误,请尝试使用它:
这样您就可以以更干净的方式传递参数和环境值
did you try using
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:
so you can pass arguments and environment values in a more clean way