【发布时间】:2015-12-12 03:27:45
【问题描述】:
我正在尝试在 bash 脚本 'test.sh' 中执行这个 shell 命令
igblastn -query input.txt 2>&1
在这样的 php 文件中
<?php
$string = "./test.sh";
$output = shell_exec($string);
echo "<pre>$output</pre>;
我不断收到错误
./test.sh: line 2: igblastn: command not found
但是当我使用更基本的命令,如“日期”或“whoami”时,它的输出就很好了。这让我相信要么需要配置 apache web usr 'www-data' 的权限,要么我没有正确路径到 igblastn 可执行文件。如果我去测试将 www-data 设置为 Web 服务器的超级用户,我仍然会收到错误消息,所以我认为这不是权限问题,而是路径问题。 NCBI 独立爆炸的文档规定了 $PATH 变量的附件,并将另一个 env 变量引入到与可执行文件位于同一文件夹中的数据库文件中。目前,我已将路径位置添加到存储可执行文件的 bin 中,作为我的 Web 服务器上 /etc/environment 中 PATH 变量的补充,并添加了另一个环境变量,我还尝试将另一个环境变量添加到/etc/apache2/envvars 但我仍然无法执行。因此,我想知道是否有人明确知道我应该在哪里创建额外的环境变量或为 Apache 指定路径?
【问题讨论】:
-
你试过简单地在命令行执行命令吗?
-
安装了最新版本吗? ftp.ncbi.nih.gov/blast/executables/igblast/release Command not found 表明它没有安装(对所有用户?)。
标签: php bash apache path environment-variables