命令行无法运行php,php文件在命令行可以顺利运行,在浏览器上无法正常运行

首先感谢抽时间阅读!

我尝试通过浏览器登陆本地服务器运行我的PHP文件,无法正常运行。我安装的是Appserver安装包2.6.0版本(Appserver网站),包内包含的软件版本为:Apache 2.2.8、PHP 6.0.0-dev。为了找出错误原因,我进行了如下步骤:

1、从命令行运行PHP文件,文件名为julia.php。运行成功。运行过程如下:

php文件代码为:

exec(" julia 12.jl");

echo "finished!";

?>

命令行运行:

25122d36b3e7c63173d0d95b2b277913.png

同时,php文件中还有一行指令"exec('julia 12.jl')"也执行成功了。这行代码意思是运用julia语言(一种新的编程语言)的REPL环境运行12.jl这个julia文件,12.jl运行成功的话,会在桌面输出一个txt文件。在此处txt文件也成功出现在桌面上了。

但是,当我使用浏览器,从服务器访问julia.php的时候,结果如下:

7f8f2d460ac68ef6697d6ac48c923329.png

虽然最后一行代码echo "finished!"顺利执行了,但是"exec('julia 12.jl')"并没有执行成功,因为桌面上没有生成txt文件。

2、我百度谷歌了很久看到一个貌似是查看错误的方法,我也不是很清楚是怎么回事,抱着试试看的态度操作了一下:

php文件代码如下:

function my_exec($cmd, $input='')

{$proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes);

fwrite($pipes[0], $input);fclose($pipes[0]);

$stdout=stream_get_contents($pipes[1]);fclose($pipes[1]);

$stderr=stream_get_contents($pipes[2]);fclose($pipes[2]);

$rtn=proc_close($proc);

return array('stdout'=>$stdout,

'stderr'=>$stderr,

'return'=>$rtn

);

}

$str = " julia 12.jl"; //此处为我要检测是否执行成功的指令" julia 12.jl"

var_export(my_exec($str));

echo "finished!";

?>

命令行运行该php文件结果:

9bef5369fdc1eff8246dedcb14f40af9.png

浏览器访问结果:

aba879f8840eebdfb0f2e87c6f30c3d1.png

百度谷歌了其中的

"ERROR:key not found: "HOMEDRIVE"

并没有找到满意的答案。

请问我这是遇到什么问题了?有什么办法能让我顺利执行该文件中的exec(" julia 12.jl")指令么?

另外,我把其中的调用julia软件运行脚本的命令换成调用MATLAB软件的命令后,无论是在命令行还是在浏览器访问的情况下,均成功运行了MATLAB的m文件。我的php.ini文件也关闭了安全模式。

万分期待你的解答,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值