我在Mac上使用Netbeans 8.0.2。我有exec语句的问题。在netbeans中,它似乎找不到终端中可用的命令。
例如,我有这个执行语句:
exec('mongorestore --host='.$this->host.' -d '.$this->db_name.' --dir '.$this->schemaPath);
如果我从终端运行:php restore.php
,它会毫无问题地运行并导入数据。但是,如果我从netbeans输出窗口中运行/ debug / unittest显示:
sh: mongorestore: command not found
mysqldump等其他命令也存在此问题。如何确保这些命令在Netbeans中起作用?
要清楚,我可以在netbeans的终端中运行这些命令,只有在我运行/ debug / unittest一个php文件时才会出现这个问题。
更新: 运行一些测试我发现Netbeans的路径变量是不同的。
终端:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
netbeans:/usr/bin:/bin:/usr/sbin:/sbin