gpt4 book ai didi

php - 使用 php 运行外部程序

转载 作者:太空宇宙 更新时间:2023-11-04 09:55:26 24 4
gpt4 key购买 nike

我有一个 php 问题!我想用 php 运行一个外部程序。这个程序在命令行和 linux 平台上工作。所以它一定工作得很好。但我尝试了更多时间,但我无法运行它。所以怎么了!这是程序的链接:http://www.lalescu.ro/liviu/fet/这是在命令行中工作正常的命令,而不是在 php 中的情况:

./fet --inputfile=Hopwood.fet --outputdir=out

这是 php 代码:

<?php
`./fet --inputfile=Hopwood.fet --outputdir=out`
?>

我希望解决这个问题。提前致谢..

更新我上传可执行程序和Hopwood.fet文件给你试试..这是一个链接: http://rapidshare.com/files/454756427/fet.tar.gz

最佳答案

尝试以完整路径进行:

/path/to/installed/fet --inputfile=/path/to/your/Hopwood.fet --outputdir=/path/to/your/out

所以你最终会执行:

exec("/path/to/installed/fet --inputfile=/path/to/your/Hopwood.fet --outputdir=/path/to/your/out");

此外,确保正在运行的进程能够写入您的/path/to/your/out

更新

为了让事情更清楚,请尝试运行这个命令:

exec("/path/to/installed/fet --inputfile=/path/to/your/Hopwood.fet --outputdir=/path/to/your/out 2> /tmp/fet.error.log", $output, $status);

echo "status: " . $status;
echo "output: " . implode("\n", $output);

if(file_exists("/tmp/fet.error.log"))
{
echo "Error Log: " . file_get_contents("/tmp/fet.error.log");
}

更新

正如@mkotwd 在另一个答案中所说的那样(在尝试上面的调试代码之后)。问题是因为 fet 试图访问 X 服务器。因此,作为@mkotwd 的回答,解决方案是添加:

export DISPLAY=:0

命令变为:

exec("export DISPLAY=:0 && fet --inputfile=Hopwood.fet --outputdir=out");

关于php - 使用 php 运行外部程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5456961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com