从php脚本执行多个sage命令

从php脚本执行多个sage命令,php,latex,sage,Php,Latex,Sage,我已经在我的ubuntu服务器上安装了Sage math。我可以通过ssh终端运行sage命令,例如 $sage: $sage: f = x^2 $sage: f.diff(x) 我想做一个php脚本 exec('sage'); exec('sage: f = 5x^3'); $fprime = exec('sage: latex(f.diff(x))'); echo $fprime; 我希望输出为“15x^2”,但事实并非如此。。但是在ssh终端上,一切都很好。 如蒙惠顾,不

我已经在我的ubuntu服务器上安装了Sage math。我可以通过ssh终端运行sage命令,例如

$sage:   
$sage:  f = x^2
$sage:  f.diff(x)
我想做一个php脚本

exec('sage');
exec('sage: f = 5x^3');
$fprime = exec('sage: latex(f.diff(x))');

echo $fprime; 
我希望输出为“15x^2”,但事实并非如此。。但是在ssh终端上,一切都很好。

如蒙惠顾,不胜感激

我不完全确定你想要实现什么。PHP的
exec
函数执行一个shell命令,仅此而已。阅读

sage:f=5*x^3
不是shell命令。您可以使用
-c
开关通过命令行直接运行sage脚本 :

./sage -c 'print latex((5*x^3).diff())'
将向终端打印
15\,x^{2}
。在PHP中,您可以通过向
exec
传递第二个参数来获取此输出:

exec("./sage -c 'print latex((5*x^3).diff())'", $output);
echo $output[0];

非常感谢@Luca,这正是我想做的,但我尝试了你的建议,但它没有产生预期的输出结果。它返回时可能与此错误有关:未设置环境变量$HOME。通过源“/sage env”设置环境变量时出错;可能联系sage-devel(请参阅)。thx为了您的帮助,我让该命令起作用,您能帮我找出两行命令sage:from sage.symbol.integration.integral导入不定积分sage:Unfin定积分(log(x),x)PS:why不
integral(log(x),x)的正确php命令吗
在您的小示例中就足够了吗?非常感谢@kcrisman您是正确的,这对我很有帮助,我想我必须先加载不定积分包。。不定积分()可能需要这样做,但积分()不需要这样做,我试过了,效果很好。此外,我将实施您对更长脚本的建议,只需保存到test.sage文件并运行该文件。。再次感谢你