【问题标题】:Calling perl script doesn't work in PHP APACHE调用 perl 脚本在 PHP APACHE 中不起作用
【发布时间】: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没有调用脚本?

【问题讨论】:

    标签: php perl apache2 call


    【解决方案1】:

    第一步。看看您是否可以从该位置运行 hello world perl 脚本。

    use strict;
    use warnings;
    
    print "Hello World\n";
    

    如果你能让它正常工作,那么我怀疑问题出在你作为参数发送的相对路径上。尝试将它们设置为绝对路径,看看是否有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      相关资源
      最近更新 更多