我正在尝试通过php将CSV导入服务器的mongoDB。我已经完成了更新文件部分,现在我可以获得客户端更新到服务器的CSV文件。所以现在我尝试使用shell_exec()将CSV文件导入mongoDB,这是我的PHP代码。
$importCommand = 'mongoimport -d test -c test --type csv --file yourfile.csv --headerline';
$output = shell_exec($importCommand.' 2>&1');
echo $output;
当我通过php -f在终端中运行这部分代码时它起作用(我知道我的CSV不存在,所以没有导入),
$ mongoimport -d test -c test --type csv --file yourfile.csv --headerline
2017-03-22T13:46:22.668+0800 Failed: open yourfile.csv: no such file or directory
2017-03-22T13:46:22.668+0800 imported 0 documents"
可以看出这种方法非常好。 ' mongoimport'可以找到并且工作正常。 但是,当我将这个添加到我用于更新文件的php时,输出变为
sh:mongoimport:找不到命令
知道如何解决这个问题吗?谢谢你的时间。
答案 0 :(得分:0)
我想我知道,由于我的网络服务器流程,我们必须使用与您自己帐户相同的配置进行设置。
MongoDB的垃圾箱适合我, 但是apache用户是' _www'。
所以我需要修复这个权限才能通过safari让我的PHP运行mongoimport。 或者输入/ usr / local / mongodb / bin / mongoimport来完成它
谢谢StackOF我可以通过发布这里来回答自己