causlayer 发表于 2014-01-26 16:04

请问在linux下php可以调用vim吗

本帖最后由 causlayer 于 2014-01-26 16:06 编辑

我的php是这样的
$startvim = "vim ".$serverPath."/test/".$tmpfile;
echo exec($startvim,$arr,$result);

返回的结果是:E138: Can't write viminfo file $HOME/.viminfo! 
我把.viminfo设置成777了,而且root目录下也没有临时tmp文件。
如果我直接在终端上输入"vim ".$serverPath."/test/".$tmpfile;的结果是可以打开文件的
请问是什么原因呢?谢谢

weishuo1999 发表于 2014-01-26 18:51

我觉得吧,应该是你用web执行的时候,默认是使用apache,或者nginx的账户执行的,这个账户自然改不了你的.viminfo的文件

另外vim默认是打开stdout的,用php达到你的目的了吗?

causlayer 发表于 2014-01-26 21:36

恩,我想也是权限的原因,请问有解决的方式吗,我在apache下面

xinglu1983 发表于 2014-02-10 19:28

回复 3# causlayer


    你这么写的出发点是什么?想获取文件内容吗?直接用file_get_contents就好了。

causlayer 发表于 2014-02-12 19:10

恩,我换了另一种方式,现在的情况是:
我刚刚以root身份在/etc/profile下新设置了环境变量,为何我用www-data身份看却看不到呢?
export FLEX_HOME=/opt/flex
export PATH=$FLEX_HOME/binPATH
下面是我以www-data身份查看的结果
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
页: [1]
查看完整版本: 请问在linux下php可以调用vim吗