我正在尝试通过我的服务器上的 PHP 使用 Scilab,如本文档中所述。
我正在运行 Ubuntu 16.04。我有一个 Apache 服务器正在运行。我用apt-get install scilab
. 我可以成功编写 scilab 代码,例如:
scilab -nwni -nb -e "m=[1 2 3; 3 4 5];disp(m);exit"
所以现在我正在尝试从 PHP 执行它。我尝试了文档中的示例。例如:
<?php
exec('scilab -nwni -nb -e "m=[1 2 3; 3 4 5];disp(m);exit;"', $output);
print_r($output);
?>
但我总是得到:
Error: Impossible to define SCIHOME environment variable.
SCIHOME not defined.
我不知道我做错了什么以及如何解决它......
任何帮助将不胜感激 !
我有同样的问题。尝试:
可以通过 www-data 用户运行 sudo,如果添加权限,请尝试:
并添加到文件末尾
我不确定,如果你必须添加所有这些 scilab 文件..也许只有 scilab。
我记得关于 php 的多个 .ini 文件的可能性,这意味着 cli 执行和网关执行可能会以不同或意外的方式工作,因为它们使用不同的 ini 文件和/或由于 user:group 执行它们而获得不同的权限。尝试在第二个实例中执行的用户:组是否有权写入环境,并且您是否获得了由您认为从中获取它的 .ini 文件控制的行为。
只是一个想法。
好的,我终于解决了这个问题。我只是愚蠢。您只需要手动设置变量。我已经尝试过这种方式,但变量名出错了......