【发布时间】:2014-06-23 15:38:59
【问题描述】:
我有以这种方式调用 perl 脚本的服务器端代码
exec("perl /home/horus/Instaladores/variant_effect_predictor/variant_effect_predictor.pl --everything --offline -i ../users/$username/$project/results/remove_duplicated_lines/BED_filtered/qual/StrandBalance/dbSNP/SnpEff/$vcf -o ../users/$username/$project/results/remove_duplicated_lines/BED_filtered/qual/StrandBalance/dbSNP/SnpEff/VEP/$vcf --stats_file ../users/$username/$project/results/remove_duplicated_lines/BED_filtered/qual/StrandBalance/dbSNP/SnpEff/VEP/$vcf.html",$output);
我对 exec、system 和 passthru 进行了同样的尝试,但没有成功。
如果我在执行之前进行了回显,则所有变量都会相应设置
如果我在 Linux 控制台中复制过去的回显结果,使用 php 脚本所在文件夹中的 www-data,一切都会按预期工作
我在 sudoers 文件中有 perl 和 variant_effect_predictor.pl 脚本
www-data ALL=(ALL)NOPASSWD:/usr/bin/perl www-data ALL=(ALL)NOPASSWD:/home/horus/Instaladores/variant_effect_predictor/variant_effect_predictor.pl
知道那里发生了什么吗?为什么php没有调用脚本?
【问题讨论】: